@razorpay/blade 11.24.0 → 11.24.2

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.
@@ -73,6 +73,7 @@ var _AccordionButton = function _AccordionButton(_ref) {
73
73
  })), {}, {
74
74
  width: "100%",
75
75
  children: /*#__PURE__*/jsx(StyledAccordionButton, _objectSpread(_objectSpread(_objectSpread({
76
+ type: "button",
76
77
  isExpanded: isItemExpanded,
77
78
  disabled: isDisabled,
78
79
  onClick: onClick
@@ -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 { 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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"}
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 type=\"button\"\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","type","disabled","expanded","controls","metaAttribute","name","MetaConstants","AccordionButton","AccordionItemHeader","leading","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -419,11 +419,11 @@ var _FileUpload = function _FileUpload(_ref, ref) {
419
419
  // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API
420
420
  if (_onReupload) {
421
421
  _onReupload({
422
- file: selectedFiles[0]
422
+ file: file
423
423
  });
424
424
  } else {
425
425
  _onRemove === null || _onRemove === void 0 ? void 0 : _onRemove({
426
- file: selectedFiles[0]
426
+ file: file
427
427
  });
428
428
  }
429
429
  setIsActive(false);
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.web.js","sources":["../../../../../../src/components/FileUpload/FileUpload.web.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useRef, 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';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { useControllableState } from '~utils/useControllable';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onReupload,\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 size = 'medium',\n ...styledProps\n },\n ref,\n): React.ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const mergedRef = useMergeRefs(ref, inputRef);\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useControllableState({\n value: fileList,\n defaultValue: fileList ?? [],\n });\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\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 ? errorMessage : ''} ${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(null);\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 // Reset the input value to allow re-selecting the same file\n event.target.value = '';\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 size={size}\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 width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <StyledFileUploadWrapper\n size={size}\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={mergedRef}\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 size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file: selectedFiles[0] });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\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 {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n size={size}\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage ?? errorText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file, index) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n marginTop={index === 0 ? 'spacing.5' : 'spacing.3'}\n >\n <FileUploadItem\n file={file}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\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","onReupload","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","_ref$size","size","styledProps","_objectWithoutProperties","_excluded","inputRef","useRef","mergedRef","useMergeRefs","_useTheme","useTheme","platform","_useControllableState","useControllableState","value","defaultValue","_useControllableState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState","useState","_useState2","errorMessage","setErrorMessage","_useState3","_useState4","internalValidationState","setInternalValidationState","_useState5","_useState6","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","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","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","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","_inputRef$current","_ref3","current","click","_ref4","marginLeft","formHintLeftLabelMarginLeft","FormHint","getHintType","hasHelpText","map","index","marginTop","_ref5","_inputRef$current2","_ref6","_ref7","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, useRef, 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';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { useControllableState } from '~utils/useControllable';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onReupload,\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 size = 'medium',\n ...styledProps\n },\n ref,\n): React.ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const mergedRef = useMergeRefs(ref, inputRef);\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useControllableState({\n value: fileList,\n defaultValue: fileList ?? [],\n });\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\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 ? errorMessage : ''} ${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(null);\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 // Reset the input value to allow re-selecting the same file\n event.target.value = '';\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 size={size}\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 width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <StyledFileUploadWrapper\n size={size}\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={mergedRef}\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 size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file: selectedFiles[0] });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\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 {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n size={size}\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage ?? errorText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file, index) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n marginTop={index === 0 ? 'spacing.5' : 'spacing.3'}\n >\n <FileUploadItem\n file={file}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file });\n } else {\n onRemove?.({ file });\n }\n setIsActive(false);\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","onReupload","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","_ref$size","size","styledProps","_objectWithoutProperties","_excluded","inputRef","useRef","mergedRef","useMergeRefs","_useTheme","useTheme","platform","_useControllableState","useControllableState","value","defaultValue","_useControllableState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState","useState","_useState2","errorMessage","setErrorMessage","_useState3","_useState4","internalValidationState","setInternalValidationState","_useState5","_useState6","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","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","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","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","_inputRef$current","_ref3","current","click","_ref4","marginLeft","formHintLeftLabelMarginLeft","FormHint","getHintType","hasHelpText","map","index","marginTop","_ref5","_inputRef$current2","_ref6","_ref7","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { Table as Table$1 } from '@table-library/react-table-library/table';
6
6
  import { useTheme as useTheme$1 } from '@table-library/react-table-library/theme';
7
7
  import { useSort } from '@table-library/react-table-library/sort';
8
8
  import { usePagination } from '@table-library/react-table-library/pagination';
9
- import { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';
9
+ import { SelectTypes, useRowSelect, SelectClickTypes } from '@table-library/react-table-library/select';
10
10
  import styled from 'styled-components';
11
11
  import usePresence from 'use-presence';
12
12
  import { TableContext } from './TableContext.js';
@@ -36,7 +36,7 @@ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
36
36
  import { Spinner } from '../Spinner/Spinner/Spinner.js';
37
37
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
38
38
 
39
- var _excluded = ["children", "data", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells"];
39
+ var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells"];
40
40
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
41
41
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
42
42
  var rowSelectType = {
@@ -102,6 +102,8 @@ var RefreshWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
102
102
  var _Table = function _Table(_ref3) {
103
103
  var children = _ref3.children,
104
104
  data = _ref3.data,
105
+ _ref3$multiSelectTrig = _ref3.multiSelectTrigger,
106
+ multiSelectTrigger = _ref3$multiSelectTrig === void 0 ? 'row' : _ref3$multiSelectTrig,
105
107
  _ref3$selectionType = _ref3.selectionType,
106
108
  selectionType = _ref3$selectionType === void 0 ? 'none' : _ref3$selectionType,
107
109
  onSelectionChange = _ref3.onSelectionChange,
@@ -176,17 +178,19 @@ var _Table = function _Table(_ref3) {
176
178
  // Selection Logic
177
179
  var onSelectChange = function onSelectChange(action, state) {
178
180
  var _state$ids;
179
- var selectedIDs = state.id ? [state.id] : (_state$ids = state.ids) !== null && _state$ids !== void 0 ? _state$ids : [];
180
- setSelectedRows(selectedIDs);
181
+ var selectedIds = state.id ? [state.id] : (_state$ids = state.ids) !== null && _state$ids !== void 0 ? _state$ids : [];
182
+ setSelectedRows(selectedIds);
181
183
  onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange({
184
+ selectedIds: selectedIds,
182
185
  values: data.nodes.filter(function (node) {
183
- return selectedIDs.includes(node.id);
186
+ return selectedIds.includes(node.id);
184
187
  })
185
188
  });
186
189
  };
187
190
  var rowSelectConfig = useRowSelect(data, {
188
191
  onChange: onSelectChange
189
192
  }, {
193
+ clickType: multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,
190
194
  rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined
191
195
  });
192
196
  var toggleRowSelectionById = useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type {\n TableProps,\n TableNode,\n Identifier,\n TablePaginationType,\n TableHeaderRowProps,\n} from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n showBorderedCells = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n const [headerRowDensity, setHeaderRowDensity] = React.useState<TableHeaderRowProps['rowDensity']>(\n undefined,\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIDs: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIDs);\n onSelectionChange?.({\n values: data.nodes.filter((node) => selectedIDs.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","_React$useState9","_React$useState10","headerRowDensity","setHeaderRowDensity","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIDs","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
1
+ {"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport {\n SelectClickTypes,\n SelectTypes,\n useRowSelect,\n} from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type {\n TableProps,\n TableNode,\n Identifier,\n TablePaginationType,\n TableHeaderRowProps,\n} from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n multiSelectTrigger = 'row',\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n showBorderedCells = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n const [headerRowDensity, setHeaderRowDensity] = React.useState<TableHeaderRowProps['rowDensity']>(\n undefined,\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIds: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIds);\n onSelectionChange?.({\n selectedIds,\n values: data.nodes.filter((node) => selectedIds.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n clickType:\n multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","_React$useState9","_React$useState10","headerRowDensity","setHeaderRowDensity","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIds","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","clickType","SelectClickTypes","RowClick","ButtonClick","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
@@ -73,6 +73,7 @@ var _AccordionButton = function _AccordionButton(_ref) {
73
73
  })), {}, {
74
74
  width: "100%",
75
75
  children: /*#__PURE__*/jsx(StyledAccordionButton, _objectSpread(_objectSpread(_objectSpread({
76
+ type: "button",
76
77
  isExpanded: isItemExpanded,
77
78
  disabled: isDisabled,
78
79
  onClick: onClick
@@ -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 { 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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"}
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 type=\"button\"\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","type","disabled","expanded","controls","metaAttribute","name","MetaConstants","AccordionButton","AccordionItemHeader","leading","assignWithoutSideEffects","componentId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAOoB;AAAA,EAAA,IANxCC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACCC,IAAI,GAAAF,IAAA,CAAVG,IAAI;IACJC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLC,eAAe,GAAAL,IAAA,CAAfK,eAAe;IACfC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,UAAU,GAAAP,IAAA,CAAVO,UAAU,CAAA;AAEV,EAAA,IAAAC,eAAA,GAA0DC,cAAc,EAAE;IAAlEC,cAAc,GAAAF,eAAA,CAAdE,cAAc;IAAEC,UAAU,GAAAH,eAAA,CAAVG,UAAU;IAAEC,iBAAiB,GAAAJ,eAAA,CAAjBI,iBAAiB,CAAA;AACrD,EAAA,IAAAC,aAAA,GAAkDC,YAAY,EAAE;IAAxDC,gBAAgB,GAAAF,aAAA,CAAhBE,gBAAgB;IAAEC,aAAa,GAAAH,aAAA,CAAbG,aAAa;IAAEC,IAAI,GAAAJ,aAAA,CAAJI,IAAI,CAAA;AAE7C,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAAeR,cAAc,CAAC,CAACC,UAAU,CAAC,CAAA;AAAA,GAAA,CAAA;AAC9D,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAAeD,cAAc,EAAE,CAAA;AAAA,GAAA,CAAA;AAE5C,EAAA,IAAME,MAAM,GACV,OAAOnB,KAAK,KAAK,QAAQ,IAAIc,gBAAgB;AAAA;AAC3C;AACAM,EAAAA,IAAA,CAACC,IAAI,EAAA;AAACL,IAAAA,IAAI,EAAEA,IAAK;AAACM,IAAAA,MAAM,EAAC,UAAU;AAACC,IAAAA,SAAS,EAAC,MAAM;AAACC,IAAAA,EAAE,EAAC,MAAM;AAAAC,IAAAA,QAAA,EAC3DzB,CAAAA,KAAK,GAAG,CAAC,EAAC,GACb,CAAA;GAAM,CAAC,GACL,IAAI,CAAA;AAEV,EAAA,IAAM0B,KAAK,GAAGzB,IAAI,iBAAI0B,GAAA,CAAC1B,IAAI,EAAA;AAACe,IAAAA,IAAI,EAAEA,IAAK;AAACY,IAAAA,KAAK,EAAC,0BAA0B;AAACC,IAAAA,OAAO,EAAC,WAAA;AAAW,GAAE,CAAC,CAAA;AAE/F,EAAA,IAAI,KAAO,EAAE;IACX,IAAIV,MAAM,IAAIO,KAAK,EAAE;AACnBI,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,sDAAsD;AAC/DC,QAAAA,UAAU,EAAE,WAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,IAAMC,cAAc,GAAGlB,aAAa,KAAKf,KAAK,CAAA;AAE9C,EAAA,oBACE2B,GAAA,CAACO,OAAAA;AACC;AAAA,IAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACIC,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAE,SAAS;AAAEC,IAAAA,KAAK,EAAE,CAAA;AAAE,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AACjDC,IAAAA,KAAK,EAAC,MAAM;IAAAd,QAAA,eAEZE,GAAA,CAACa,qBAAqB,EAAAL,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACpBM,MAAAA,IAAI,EAAC,QAAQ;AACb/B,MAAAA,UAAU,EAAEuB,cAAe;AAC3BS,MAAAA,QAAQ,EAAEpC,UAAW;AACrBY,MAAAA,OAAO,EAAEA,OAAAA;AAAQ,KAAA,EACbkB,cAAc,CAAC;AAAEO,MAAAA,QAAQ,EAAEV,cAAc;AAAEW,MAAAA,QAAQ,EAAEjC,iBAAAA;KAAmB,CAAC,CACzEkC,EAAAA,aAAa,CAAC;MAAEC,IAAI,EAAEC,aAAa,CAACC,eAAAA;AAAgB,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAvB,MAAAA,QAAA,EAEzDrB,eAAe,gBAAGuB,GAAA,CAACsB,mBAAmB,EAAA;AAAC9C,QAAAA,KAAK,EAAEA,KAAM;AAAC+C,QAAAA,OAAO,EAAExB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIP,MAAAA;AAAO,OAAE,CAAC,GAAGd,MAAAA;KAChE,CAAA,CAAA;AAAC,GAAA,CACjB,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,IAAM2C,eAAe,gBAAGG,wBAAwB,CAACrD,gBAAgB,EAAE;EACjEsD,WAAW,EAAEL,aAAa,CAACC,eAAAA;AAC7B,CAAC;;;;"}
@@ -419,11 +419,11 @@ var _FileUpload = function _FileUpload(_ref, ref) {
419
419
  // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API
420
420
  if (_onReupload) {
421
421
  _onReupload({
422
- file: selectedFiles[0]
422
+ file: file
423
423
  });
424
424
  } else {
425
425
  _onRemove === null || _onRemove === void 0 ? void 0 : _onRemove({
426
- file: selectedFiles[0]
426
+ file: file
427
427
  });
428
428
  }
429
429
  setIsActive(false);
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.web.js","sources":["../../../../../../src/components/FileUpload/FileUpload.web.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useRef, 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';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { useControllableState } from '~utils/useControllable';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onReupload,\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 size = 'medium',\n ...styledProps\n },\n ref,\n): React.ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const mergedRef = useMergeRefs(ref, inputRef);\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useControllableState({\n value: fileList,\n defaultValue: fileList ?? [],\n });\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\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 ? errorMessage : ''} ${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(null);\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 // Reset the input value to allow re-selecting the same file\n event.target.value = '';\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 size={size}\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 width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <StyledFileUploadWrapper\n size={size}\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={mergedRef}\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 size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file: selectedFiles[0] });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\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 {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n size={size}\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage ?? errorText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file, index) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n marginTop={index === 0 ? 'spacing.5' : 'spacing.3'}\n >\n <FileUploadItem\n file={file}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\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","onReupload","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","_ref$size","size","styledProps","_objectWithoutProperties","_excluded","inputRef","useRef","mergedRef","useMergeRefs","_useTheme","useTheme","platform","_useControllableState","useControllableState","value","defaultValue","_useControllableState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState","useState","_useState2","errorMessage","setErrorMessage","_useState3","_useState4","internalValidationState","setInternalValidationState","_useState5","_useState6","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","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","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","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","_inputRef$current","_ref3","current","click","_ref4","marginLeft","formHintLeftLabelMarginLeft","FormHint","getHintType","hasHelpText","map","index","marginTop","_ref5","_inputRef$current2","_ref6","_ref7","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, useRef, 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';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { useControllableState } from '~utils/useControllable';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onReupload,\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 size = 'medium',\n ...styledProps\n },\n ref,\n): React.ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const mergedRef = useMergeRefs(ref, inputRef);\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useControllableState({\n value: fileList,\n defaultValue: fileList ?? [],\n });\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\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 ? errorMessage : ''} ${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(null);\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 // Reset the input value to allow re-selecting the same file\n event.target.value = '';\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 size={size}\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 width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <StyledFileUploadWrapper\n size={size}\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={mergedRef}\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 size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file: selectedFiles[0] });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\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 {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n size={size}\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage ?? errorText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file, index) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n marginTop={index === 0 ? 'spacing.5' : 'spacing.3'}\n >\n <FileUploadItem\n file={file}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file });\n } else {\n onRemove?.({ file });\n }\n setIsActive(false);\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","onReupload","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","_ref$size","size","styledProps","_objectWithoutProperties","_excluded","inputRef","useRef","mergedRef","useMergeRefs","_useTheme","useTheme","platform","_useControllableState","useControllableState","value","defaultValue","_useControllableState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState","useState","_useState2","errorMessage","setErrorMessage","_useState3","_useState4","internalValidationState","setInternalValidationState","_useState5","_useState6","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","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","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","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","_inputRef$current","_ref3","current","click","_ref4","marginLeft","formHintLeftLabelMarginLeft","FormHint","getHintType","hasHelpText","map","index","marginTop","_ref5","_inputRef$current2","_ref6","_ref7","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { Table as Table$1 } from '@table-library/react-table-library/table';
6
6
  import { useTheme as useTheme$1 } from '@table-library/react-table-library/theme';
7
7
  import { useSort } from '@table-library/react-table-library/sort';
8
8
  import { usePagination } from '@table-library/react-table-library/pagination';
9
- import { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';
9
+ import { SelectTypes, useRowSelect, SelectClickTypes } from '@table-library/react-table-library/select';
10
10
  import styled from 'styled-components';
11
11
  import usePresence from 'use-presence';
12
12
  import { TableContext } from './TableContext.js';
@@ -36,7 +36,7 @@ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
36
36
  import { Spinner } from '../Spinner/Spinner/Spinner.js';
37
37
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
38
38
 
39
- var _excluded = ["children", "data", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells"];
39
+ var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells"];
40
40
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
41
41
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
42
42
  var rowSelectType = {
@@ -102,6 +102,8 @@ var RefreshWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
102
102
  var _Table = function _Table(_ref3) {
103
103
  var children = _ref3.children,
104
104
  data = _ref3.data,
105
+ _ref3$multiSelectTrig = _ref3.multiSelectTrigger,
106
+ multiSelectTrigger = _ref3$multiSelectTrig === void 0 ? 'row' : _ref3$multiSelectTrig,
105
107
  _ref3$selectionType = _ref3.selectionType,
106
108
  selectionType = _ref3$selectionType === void 0 ? 'none' : _ref3$selectionType,
107
109
  onSelectionChange = _ref3.onSelectionChange,
@@ -176,17 +178,19 @@ var _Table = function _Table(_ref3) {
176
178
  // Selection Logic
177
179
  var onSelectChange = function onSelectChange(action, state) {
178
180
  var _state$ids;
179
- var selectedIDs = state.id ? [state.id] : (_state$ids = state.ids) !== null && _state$ids !== void 0 ? _state$ids : [];
180
- setSelectedRows(selectedIDs);
181
+ var selectedIds = state.id ? [state.id] : (_state$ids = state.ids) !== null && _state$ids !== void 0 ? _state$ids : [];
182
+ setSelectedRows(selectedIds);
181
183
  onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange({
184
+ selectedIds: selectedIds,
182
185
  values: data.nodes.filter(function (node) {
183
- return selectedIDs.includes(node.id);
186
+ return selectedIds.includes(node.id);
184
187
  })
185
188
  });
186
189
  };
187
190
  var rowSelectConfig = useRowSelect(data, {
188
191
  onChange: onSelectChange
189
192
  }, {
193
+ clickType: multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,
190
194
  rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined
191
195
  });
192
196
  var toggleRowSelectionById = useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type {\n TableProps,\n TableNode,\n Identifier,\n TablePaginationType,\n TableHeaderRowProps,\n} from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n showBorderedCells = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n const [headerRowDensity, setHeaderRowDensity] = React.useState<TableHeaderRowProps['rowDensity']>(\n undefined,\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIDs: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIDs);\n onSelectionChange?.({\n values: data.nodes.filter((node) => selectedIDs.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","_React$useState9","_React$useState10","headerRowDensity","setHeaderRowDensity","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIDs","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
1
+ {"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport {\n SelectClickTypes,\n SelectTypes,\n useRowSelect,\n} from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type {\n TableProps,\n TableNode,\n Identifier,\n TablePaginationType,\n TableHeaderRowProps,\n} from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n multiSelectTrigger = 'row',\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n showBorderedCells = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n const [headerRowDensity, setHeaderRowDensity] = React.useState<TableHeaderRowProps['rowDensity']>(\n undefined,\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIds: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIds);\n onSelectionChange?.({\n selectedIds,\n values: data.nodes.filter((node) => selectedIds.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n clickType:\n multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","_React$useState9","_React$useState10","headerRowDensity","setHeaderRowDensity","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIds","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","clickType","SelectClickTypes","RowClick","ButtonClick","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
@@ -12585,6 +12585,11 @@ type TableProps<Item> = {
12585
12585
  * The object should have an id property that is a unique identifier for the row.
12586
12586
  */
12587
12587
  data: TableData<Item>;
12588
+ /**
12589
+ * Selection mode determines how the table rows can be selected.
12590
+ * @default 'row'
12591
+ **/
12592
+ multiSelectTrigger?: 'checkbox' | 'row';
12588
12593
  /**
12589
12594
  * The selectionType prop determines the type of selection that is allowed on the table.
12590
12595
  * The selectionType prop can be 'none', 'single' or 'multiple'.
@@ -12595,8 +12600,21 @@ type TableProps<Item> = {
12595
12600
  * The onSelectionChange prop is a function that is called when the selection changes.
12596
12601
  * The function is called with an object that has a values property that is an array of the selected rows.
12597
12602
  **/
12598
- onSelectionChange?: ({ values }: {
12603
+ onSelectionChange?: ({ values, selectedIds, }: {
12604
+ /**
12605
+ * Note: on server side paginated data, this prop will only contain the selected rows on the current page.
12606
+ *
12607
+ * Thus, it's recommended to use `selectedIds` for more consistent state management across server/client paginated data.
12608
+ *
12609
+ * *Deprecated:* Use `selectedIds` instead.
12610
+ *
12611
+ * @deprecated
12612
+ */
12599
12613
  values: TableNode<Item>[];
12614
+ /**
12615
+ * An array of selected row ids.
12616
+ */
12617
+ selectedIds: Identifier[];
12600
12618
  }) => void;
12601
12619
  /**
12602
12620
  * The isHeaderSticky prop determines whether the table header is sticky or not.
@@ -12875,7 +12893,7 @@ type TableToolbarActionsProps = {
12875
12893
  children?: React.ReactNode;
12876
12894
  } & StyledPropsBlade;
12877
12895
 
12878
- declare const Table: <Item>({ children, data, selectionType, onSelectionChange, isHeaderSticky, isFooterSticky, isFirstColumnSticky, rowDensity, onSortChange, sortFunctions, toolbar, pagination, height, showStripedRows, gridTemplateColumns, isLoading, isRefreshing, showBorderedCells, ...styledProps }: TableProps<Item>) => React__default.ReactElement;
12896
+ declare const Table: <Item>({ children, data, multiSelectTrigger, selectionType, onSelectionChange, isHeaderSticky, isFooterSticky, isFirstColumnSticky, rowDensity, onSortChange, sortFunctions, toolbar, pagination, height, showStripedRows, gridTemplateColumns, isLoading, isRefreshing, showBorderedCells, ...styledProps }: TableProps<Item>) => React__default.ReactElement;
12879
12897
 
12880
12898
  declare const TableHeader: ({ children }: TableHeaderRowProps) => React__default.ReactElement;
12881
12899
  declare const TableHeaderCell: ({ children, headerKey }: TableHeaderCellProps) => React__default.ReactElement;
@@ -8725,6 +8725,11 @@ type TableProps<Item> = {
8725
8725
  * The object should have an id property that is a unique identifier for the row.
8726
8726
  */
8727
8727
  data: TableData<Item>;
8728
+ /**
8729
+ * Selection mode determines how the table rows can be selected.
8730
+ * @default 'row'
8731
+ **/
8732
+ multiSelectTrigger?: 'checkbox' | 'row';
8728
8733
  /**
8729
8734
  * The selectionType prop determines the type of selection that is allowed on the table.
8730
8735
  * The selectionType prop can be 'none', 'single' or 'multiple'.
@@ -8735,8 +8740,21 @@ type TableProps<Item> = {
8735
8740
  * The onSelectionChange prop is a function that is called when the selection changes.
8736
8741
  * The function is called with an object that has a values property that is an array of the selected rows.
8737
8742
  **/
8738
- onSelectionChange?: ({ values }: {
8743
+ onSelectionChange?: ({ values, selectedIds, }: {
8744
+ /**
8745
+ * Note: on server side paginated data, this prop will only contain the selected rows on the current page.
8746
+ *
8747
+ * Thus, it's recommended to use `selectedIds` for more consistent state management across server/client paginated data.
8748
+ *
8749
+ * *Deprecated:* Use `selectedIds` instead.
8750
+ *
8751
+ * @deprecated
8752
+ */
8739
8753
  values: TableNode<Item>[];
8754
+ /**
8755
+ * An array of selected row ids.
8756
+ */
8757
+ selectedIds: Identifier[];
8740
8758
  }) => void;
8741
8759
  /**
8742
8760
  * The isHeaderSticky prop determines whether the table header is sticky or not.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@razorpay/blade",
3
3
  "description": "The Design System that powers Razorpay",
4
- "version": "11.24.0",
4
+ "version": "11.24.2",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=18.12.1"