@razorpay/blade 12.15.1 → 12.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"TableContext.js","sources":["../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type {\n TableBackgroundColors,\n TableProps,\n TablePaginationType,\n TableHeaderRowProps,\n TableNode as LocalTableNode,\n} from './types';\n\nexport type TableContextType<Item> = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors;\n headerRowDensity?: TableHeaderRowProps['rowDensity'];\n setHeaderRowDensity: React.Dispatch<React.SetStateAction<TableHeaderRowProps['rowDensity']>>;\n showBorderedCells: NonNullable<TableProps<unknown>['showBorderedCells']>;\n hasHoverActions: boolean;\n setHasHoverActions: (hasHoverActions: boolean) => void;\n columnCount: number;\n gridTemplateColumns: string | undefined;\n isVirtualized?: boolean;\n tableData: LocalTableNode<Item>[];\n};\n\nconst TableContext = React.createContext<TableContextType<unknown>>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n setHeaderRowDensity: () => {},\n showBorderedCells: false,\n hasHoverActions: false,\n setHasHoverActions: () => {},\n columnCount: 0,\n gridTemplateColumns: undefined,\n isVirtualized: false,\n tableData: [],\n});\n\nconst useTableContext = <Item,>(): TableContextType<Item> => {\n const context = React.useContext(TableContext as React.Context<TableContextType<Item>>);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","setHeaderRowDensity","showBorderedCells","hasHoverActions","setHasHoverActions","columnCount","gridTemplateColumns","isVirtualized","tableData","useTableContext","context","useContext"],"mappings":";;AAiDM,IAAAA,YAAY,CAAGC,cAAK,CAACC,aAAa,CAA4B,CAClEC,aAAa,CAAE,MAAM,CACrBC,YAAY,CAAEC,SAAS,CACvBC,UAAU,CAAE,CAAC,CACbC,sBAAsB,CAAE,SAAAA,sBAAA,EAAM,EAAE,CAChCC,sBAAsB,CAAE,SAAAA,wBAAM,EAAE,CAChCC,eAAe,CAAE,SAAAA,eAAAA,EAAM,EAAE,CACzBC,UAAU,CAAE,QAAQ,CACpBC,UAAU,CAAE,SAAAA,UAAAA,EAAM,EAAE,CACpBC,kBAAkB,CAAE,CAClBC,OAAO,CAAE,EAAE,CACXC,cAAc,CAAE,KAClB,CAAC,CACDC,iBAAiB,CAAE,SAAAA,iBAAA,EAAM,EAAE,CAC3BC,oBAAoB,CAAE,SAAAA,sBAAM,EAAE,CAC9BC,YAAY,CAAE,EAAE,CAChBC,eAAe,CAAE,SAAAA,eAAAA,EAAM,EAAE,CACzBC,cAAc,CAAE,QAAQ,CACxBC,iBAAiB,CAAE,SAAAA,iBAAAA,EAAM,EAAE,CAC3BC,eAAe,CAAE,iCAAiC,CAClDC,mBAAmB,CAAE,SAAAA,mBAAAA,EAAM,EAAE,CAC7BC,iBAAiB,CAAE,KAAK,CACxBC,eAAe,CAAE,KAAK,CACtBC,kBAAkB,CAAE,SAAAA,oBAAM,EAAE,CAC5BC,WAAW,CAAE,CAAC,CACdC,mBAAmB,CAAEtB,SAAS,CAC9BuB,aAAa,CAAE,KAAK,CACpBC,SAAS,CAAE,EACb,CAAC,EAEK,IAAAC,eAAe,CAAG,SAAlBA,eAAeA,EAAwC,CAC3D,IAAMC,OAAO,CAAG9B,cAAK,CAAC+B,UAAU,CAAChC,YAAqD,CAAC,CACvF,OAAO+B,OAAO,CAChB;;;;"}
1
+ {"version":3,"file":"TableContext.js","sources":["../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type {\n TableBackgroundColors,\n TableProps,\n TablePaginationType,\n TableHeaderRowProps,\n TableNode as LocalTableNode,\n} from './types';\n\nexport type TableContextType<Item> = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors | 'transparent';\n headerRowDensity?: TableHeaderRowProps['rowDensity'];\n setHeaderRowDensity: React.Dispatch<React.SetStateAction<TableHeaderRowProps['rowDensity']>>;\n showBorderedCells: NonNullable<TableProps<unknown>['showBorderedCells']>;\n hasHoverActions: boolean;\n setHasHoverActions: (hasHoverActions: boolean) => void;\n columnCount: number;\n gridTemplateColumns: string | undefined;\n isVirtualized?: boolean;\n tableData: LocalTableNode<Item>[];\n};\n\nconst TableContext = React.createContext<TableContextType<unknown>>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n setHeaderRowDensity: () => {},\n showBorderedCells: false,\n hasHoverActions: false,\n setHasHoverActions: () => {},\n columnCount: 0,\n gridTemplateColumns: undefined,\n isVirtualized: false,\n tableData: [],\n});\n\nconst useTableContext = <Item,>(): TableContextType<Item> => {\n const context = React.useContext(TableContext as React.Context<TableContextType<Item>>);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","setHeaderRowDensity","showBorderedCells","hasHoverActions","setHasHoverActions","columnCount","gridTemplateColumns","isVirtualized","tableData","useTableContext","context","useContext"],"mappings":";;AAiDM,IAAAA,YAAY,CAAGC,cAAK,CAACC,aAAa,CAA4B,CAClEC,aAAa,CAAE,MAAM,CACrBC,YAAY,CAAEC,SAAS,CACvBC,UAAU,CAAE,CAAC,CACbC,sBAAsB,CAAE,SAAAA,sBAAA,EAAM,EAAE,CAChCC,sBAAsB,CAAE,SAAAA,wBAAM,EAAE,CAChCC,eAAe,CAAE,SAAAA,eAAAA,EAAM,EAAE,CACzBC,UAAU,CAAE,QAAQ,CACpBC,UAAU,CAAE,SAAAA,UAAAA,EAAM,EAAE,CACpBC,kBAAkB,CAAE,CAClBC,OAAO,CAAE,EAAE,CACXC,cAAc,CAAE,KAClB,CAAC,CACDC,iBAAiB,CAAE,SAAAA,iBAAA,EAAM,EAAE,CAC3BC,oBAAoB,CAAE,SAAAA,sBAAM,EAAE,CAC9BC,YAAY,CAAE,EAAE,CAChBC,eAAe,CAAE,SAAAA,eAAAA,EAAM,EAAE,CACzBC,cAAc,CAAE,QAAQ,CACxBC,iBAAiB,CAAE,SAAAA,iBAAAA,EAAM,EAAE,CAC3BC,eAAe,CAAE,iCAAiC,CAClDC,mBAAmB,CAAE,SAAAA,mBAAAA,EAAM,EAAE,CAC7BC,iBAAiB,CAAE,KAAK,CACxBC,eAAe,CAAE,KAAK,CACtBC,kBAAkB,CAAE,SAAAA,oBAAM,EAAE,CAC5BC,WAAW,CAAE,CAAC,CACdC,mBAAmB,CAAEtB,SAAS,CAC9BuB,aAAa,CAAE,KAAK,CACpBC,SAAS,CAAE,EACb,CAAC,EAEK,IAAAC,eAAe,CAAG,SAAlBA,eAAeA,EAAwC,CAC3D,IAAMC,OAAO,CAAG9B,cAAK,CAAC+B,UAAU,CAAChC,YAAqD,CAAC,CACvF,OAAO+B,OAAO,CAChB;;;;"}
@@ -43,7 +43,7 @@ import { Spinner } from '../Spinner/Spinner/Spinner.js';
43
43
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
44
44
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
45
45
 
46
- var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells", "defaultSelectedIds"];
46
+ var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells", "defaultSelectedIds", "backgroundColor"];
47
47
  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; }
48
48
  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; }
49
49
  var rowSelectType = {
@@ -148,6 +148,8 @@ var _Table = function _Table(_ref3) {
148
148
  showBorderedCells = _ref3$showBorderedCel === void 0 ? false : _ref3$showBorderedCel,
149
149
  _ref3$defaultSelected = _ref3.defaultSelectedIds,
150
150
  defaultSelectedIds = _ref3$defaultSelected === void 0 ? [] : _ref3$defaultSelected,
151
+ _ref3$backgroundColor = _ref3.backgroundColor,
152
+ backgroundColor = _ref3$backgroundColor === void 0 ? tableBackgroundColor : _ref3$backgroundColor,
151
153
  rest = _objectWithoutProperties(_ref3, _excluded);
152
154
  var _useTheme2 = useTheme(),
153
155
  theme = _useTheme2.theme;
@@ -179,7 +181,6 @@ var _Table = function _Table(_ref3) {
179
181
  var isVirtualized = getComponentId(tableRootComponent) === ComponentIds.VirtualizedTable;
180
182
  // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky
181
183
  var shouldHeaderBeSticky = (_ref4 = isVirtualized !== null && isVirtualized !== void 0 ? isVirtualized : isHeaderSticky) !== null && _ref4 !== void 0 ? _ref4 : isFirstColumnSticky;
182
- var backgroundColor = tableBackgroundColor;
183
184
  var isMobile = useIsMobile();
184
185
  var lastHoverActionsColWidth = isMobile ? '1fr' : '0px';
185
186
  var _usePresence = usePresence(isRefreshing, {
@@ -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 {\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 firstColumnStickyZIndex,\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 { getTableBodyStyles } from './commonStyles';\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';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\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)<{\n $styledProps?: {\n height?: BoxProps['height'];\n width?: BoxProps['width'];\n isVirtualized?: boolean;\n isSelectable?: boolean;\n showStripedRows?: boolean;\n };\n}>(({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n ...($styledProps?.isVirtualized && {\n width: '100%',\n }),\n });\n const $isSelectable = $styledProps?.isSelectable;\n const $showStripedRows = $styledProps?.showStripedRows;\n return {\n '&&&': {\n ...styledPropsCSSObject,\n overflow: `${$styledProps?.isVirtualized ? 'unset' : 'auto'} !important`,\n },\n ...($styledProps?.isVirtualized\n ? getTableBodyStyles({\n isVirtualized: $styledProps?.isVirtualized,\n theme,\n height: $styledProps?.height,\n width: '100%',\n isSelectable: $isSelectable,\n showStripedRows: $showStripedRows,\n })\n : null),\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\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit\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 defaultSelectedIds = [],\n ...rest\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>(\n selectionType !== 'none' ? defaultSelectedIds : [],\n );\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 const [hasHoverActions, setHasHoverActions] = React.useState(false);\n const tableRootComponent = children([]);\n const isVirtualized = getComponentId(tableRootComponent) === ComponentIds.VirtualizedTable;\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isVirtualized ?? isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const isMobile = useIsMobile();\n const lastHoverActionsColWidth = isMobile ? '1fr' : '0px';\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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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 ? `${gridTemplateColumns} ${hasHoverActions ? lastHoverActionsColWidth : ''}`\n : ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) ${\n hasHoverActions ? lastHoverActionsColWidth : ''\n } !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n \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 = (_, 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 state: {\n ...(selectionType === 'multiple'\n ? { ids: selectedRows }\n : selectionType === 'single'\n ? { id: selectedRows[0] }\n : {}),\n },\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 = (_, 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<Item>['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<Item> = 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 hasHoverActions,\n setHasHoverActions,\n columnCount,\n gridTemplateColumns,\n isVirtualized,\n tableData: data.nodes,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n gridTemplateColumns,\n rowDensity,\n toggleSort,\n columnCount,\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 hasHoverActions,\n setHasHoverActions,\n isVirtualized,\n data,\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(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" testID=\"table-spinner\" />\n </BaseBox>\n ) : (\n <BaseBox\n // ref={ref as never}\n flex={1}\n position=\"relative\"\n {...getStyledProps(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n width={isVirtualized ? `100%` : undefined}\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 width: isVirtualized ? `100%` : undefined,\n isVirtualized,\n isSelectable: selectionType !== 'none',\n showStripedRows,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...makeAccessible({ multiSelectable: selectionType === 'multiple' })}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\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","_objectSpread","height","isVirtualized","width","$isSelectable","isSelectable","$showStripedRows","showStripedRows","overflow","concat","getTableBodyStyles","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","makeMotionTime","motion","duration","quick","easing","entrance","exit","_Table","_ref3","_ref4","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","_ref3$defaultSelected","defaultSelectedIds","rest","_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","_React$useState11","_React$useState12","hasHoverActions","setHasHoverActions","VirtualizedTable","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","isMobile","useIsMobile","lastHoverActionsColWidth","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","_","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","tableData","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","Spinner","accessibilityLabel","testID","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","makeAccessible","multiSelectable","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 firstColumnStickyZIndex,\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 { getTableBodyStyles } from './commonStyles';\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';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\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)<{\n $styledProps?: {\n height?: BoxProps['height'];\n width?: BoxProps['width'];\n isVirtualized?: boolean;\n isSelectable?: boolean;\n showStripedRows?: boolean;\n };\n}>(({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n ...($styledProps?.isVirtualized && {\n width: '100%',\n }),\n });\n const $isSelectable = $styledProps?.isSelectable;\n const $showStripedRows = $styledProps?.showStripedRows;\n return {\n '&&&': {\n ...styledPropsCSSObject,\n overflow: `${$styledProps?.isVirtualized ? 'unset' : 'auto'} !important`,\n },\n ...($styledProps?.isVirtualized\n ? getTableBodyStyles({\n isVirtualized: $styledProps?.isVirtualized,\n theme,\n height: $styledProps?.height,\n width: '100%',\n isSelectable: $isSelectable,\n showStripedRows: $showStripedRows,\n })\n : null),\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\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit\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 defaultSelectedIds = [],\n backgroundColor = tableBackgroundColor,\n ...rest\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>(\n selectionType !== 'none' ? defaultSelectedIds : [],\n );\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 const [hasHoverActions, setHasHoverActions] = React.useState(false);\n const tableRootComponent = children([]);\n const isVirtualized = getComponentId(tableRootComponent) === ComponentIds.VirtualizedTable;\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isVirtualized ?? isHeaderSticky ?? isFirstColumnSticky;\n\n const isMobile = useIsMobile();\n const lastHoverActionsColWidth = isMobile ? '1fr' : '0px';\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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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 ? `${gridTemplateColumns} ${hasHoverActions ? lastHoverActionsColWidth : ''}`\n : ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) ${\n hasHoverActions ? lastHoverActionsColWidth : ''\n } !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n \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 = (_, 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 state: {\n ...(selectionType === 'multiple'\n ? { ids: selectedRows }\n : selectionType === 'single'\n ? { id: selectedRows[0] }\n : {}),\n },\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 = (_, 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<Item>['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<Item> = 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 hasHoverActions,\n setHasHoverActions,\n columnCount,\n gridTemplateColumns,\n isVirtualized,\n tableData: data.nodes,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n gridTemplateColumns,\n rowDensity,\n toggleSort,\n columnCount,\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 hasHoverActions,\n setHasHoverActions,\n isVirtualized,\n data,\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(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" testID=\"table-spinner\" />\n </BaseBox>\n ) : (\n <BaseBox\n // ref={ref as never}\n flex={1}\n position=\"relative\"\n {...getStyledProps(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n width={isVirtualized ? `100%` : undefined}\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 width: isVirtualized ? `100%` : undefined,\n isVirtualized,\n isSelectable: selectionType !== 'none',\n showStripedRows,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...makeAccessible({ multiSelectable: selectionType === 'multiple' })}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\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","_objectSpread","height","isVirtualized","width","$isSelectable","isSelectable","$showStripedRows","showStripedRows","overflow","concat","getTableBodyStyles","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","makeMotionTime","motion","duration","quick","easing","entrance","exit","_Table","_ref3","_ref4","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","_ref3$defaultSelected","defaultSelectedIds","_ref3$backgroundColor","backgroundColor","tableBackgroundColor","rest","_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","_React$useState11","_React$useState12","hasHoverActions","setHasHoverActions","VirtualizedTable","shouldHeaderBeSticky","isMobile","useIsMobile","lastHoverActionsColWidth","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","_","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","tableData","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","Spinner","accessibilityLabel","testID","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","makeAccessible","multiSelectable","assignWithoutSideEffects"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableContext.js","sources":["../../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type {\n TableBackgroundColors,\n TableProps,\n TablePaginationType,\n TableHeaderRowProps,\n TableNode as LocalTableNode,\n} from './types';\n\nexport type TableContextType<Item> = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors;\n headerRowDensity?: TableHeaderRowProps['rowDensity'];\n setHeaderRowDensity: React.Dispatch<React.SetStateAction<TableHeaderRowProps['rowDensity']>>;\n showBorderedCells: NonNullable<TableProps<unknown>['showBorderedCells']>;\n hasHoverActions: boolean;\n setHasHoverActions: (hasHoverActions: boolean) => void;\n columnCount: number;\n gridTemplateColumns: string | undefined;\n isVirtualized?: boolean;\n tableData: LocalTableNode<Item>[];\n};\n\nconst TableContext = React.createContext<TableContextType<unknown>>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n setHeaderRowDensity: () => {},\n showBorderedCells: false,\n hasHoverActions: false,\n setHasHoverActions: () => {},\n columnCount: 0,\n gridTemplateColumns: undefined,\n isVirtualized: false,\n tableData: [],\n});\n\nconst useTableContext = <Item,>(): TableContextType<Item> => {\n const context = React.useContext(TableContext as React.Context<TableContextType<Item>>);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","setHeaderRowDensity","showBorderedCells","hasHoverActions","setHasHoverActions","columnCount","gridTemplateColumns","isVirtualized","tableData","useTableContext","context","useContext"],"mappings":";;AAAA;AACA;AAgDA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAA4B;AAClEC,EAAAA,aAAa,EAAE,MAAM;AACrBC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,UAAU,EAAE,CAAC;AACbC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,UAAU,EAAE,SAAAA,UAAA,GAAM,EAAE;AACpBC,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,cAAc,EAAE,KAAA;GACjB;AACDC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,oBAAoB,EAAE,SAAAA,oBAAA,GAAM,EAAE;AAC9BC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,eAAe,EAAE,iCAAiC;AAClDC,EAAAA,mBAAmB,EAAE,SAAAA,mBAAA,GAAM,EAAE;AAC7BC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,kBAAkB,EAAE,SAAAA,kBAAA,GAAM,EAAE;AAC5BC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,mBAAmB,EAAEtB,SAAS;AAC9BuB,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,SAAS,EAAE,EAAA;AACb,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAwC;AAC3D,EAAA,IAAMC,OAAO,GAAG9B,cAAK,CAAC+B,UAAU,CAAChC,YAAqD,CAAC,CAAA;AACvF,EAAA,OAAO+B,OAAO,CAAA;AAChB;;;;"}
1
+ {"version":3,"file":"TableContext.js","sources":["../../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type {\n TableBackgroundColors,\n TableProps,\n TablePaginationType,\n TableHeaderRowProps,\n TableNode as LocalTableNode,\n} from './types';\n\nexport type TableContextType<Item> = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors | 'transparent';\n headerRowDensity?: TableHeaderRowProps['rowDensity'];\n setHeaderRowDensity: React.Dispatch<React.SetStateAction<TableHeaderRowProps['rowDensity']>>;\n showBorderedCells: NonNullable<TableProps<unknown>['showBorderedCells']>;\n hasHoverActions: boolean;\n setHasHoverActions: (hasHoverActions: boolean) => void;\n columnCount: number;\n gridTemplateColumns: string | undefined;\n isVirtualized?: boolean;\n tableData: LocalTableNode<Item>[];\n};\n\nconst TableContext = React.createContext<TableContextType<unknown>>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n setHeaderRowDensity: () => {},\n showBorderedCells: false,\n hasHoverActions: false,\n setHasHoverActions: () => {},\n columnCount: 0,\n gridTemplateColumns: undefined,\n isVirtualized: false,\n tableData: [],\n});\n\nconst useTableContext = <Item,>(): TableContextType<Item> => {\n const context = React.useContext(TableContext as React.Context<TableContextType<Item>>);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","setHeaderRowDensity","showBorderedCells","hasHoverActions","setHasHoverActions","columnCount","gridTemplateColumns","isVirtualized","tableData","useTableContext","context","useContext"],"mappings":";;AAAA;AACA;AAgDA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAA4B;AAClEC,EAAAA,aAAa,EAAE,MAAM;AACrBC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,UAAU,EAAE,CAAC;AACbC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,UAAU,EAAE,SAAAA,UAAA,GAAM,EAAE;AACpBC,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,cAAc,EAAE,KAAA;GACjB;AACDC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,oBAAoB,EAAE,SAAAA,oBAAA,GAAM,EAAE;AAC9BC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,eAAe,EAAE,iCAAiC;AAClDC,EAAAA,mBAAmB,EAAE,SAAAA,mBAAA,GAAM,EAAE;AAC7BC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,kBAAkB,EAAE,SAAAA,kBAAA,GAAM,EAAE;AAC5BC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,mBAAmB,EAAEtB,SAAS;AAC9BuB,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,SAAS,EAAE,EAAA;AACb,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAwC;AAC3D,EAAA,IAAMC,OAAO,GAAG9B,cAAK,CAAC+B,UAAU,CAAChC,YAAqD,CAAC,CAAA;AACvF,EAAA,OAAO+B,OAAO,CAAA;AAChB;;;;"}
@@ -43,7 +43,7 @@ import { Spinner } from '../Spinner/Spinner/Spinner.js';
43
43
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
44
44
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
45
45
 
46
- var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells", "defaultSelectedIds"];
46
+ var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells", "defaultSelectedIds", "backgroundColor"];
47
47
  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; }
48
48
  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; }
49
49
  var rowSelectType = {
@@ -148,6 +148,8 @@ var _Table = function _Table(_ref3) {
148
148
  showBorderedCells = _ref3$showBorderedCel === void 0 ? false : _ref3$showBorderedCel,
149
149
  _ref3$defaultSelected = _ref3.defaultSelectedIds,
150
150
  defaultSelectedIds = _ref3$defaultSelected === void 0 ? [] : _ref3$defaultSelected,
151
+ _ref3$backgroundColor = _ref3.backgroundColor,
152
+ backgroundColor = _ref3$backgroundColor === void 0 ? tableBackgroundColor : _ref3$backgroundColor,
151
153
  rest = _objectWithoutProperties(_ref3, _excluded);
152
154
  var _useTheme2 = useTheme(),
153
155
  theme = _useTheme2.theme;
@@ -179,7 +181,6 @@ var _Table = function _Table(_ref3) {
179
181
  var isVirtualized = getComponentId(tableRootComponent) === ComponentIds.VirtualizedTable;
180
182
  // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky
181
183
  var shouldHeaderBeSticky = (_ref4 = isVirtualized !== null && isVirtualized !== void 0 ? isVirtualized : isHeaderSticky) !== null && _ref4 !== void 0 ? _ref4 : isFirstColumnSticky;
182
- var backgroundColor = tableBackgroundColor;
183
184
  var isMobile = useIsMobile();
184
185
  var lastHoverActionsColWidth = isMobile ? '1fr' : '0px';
185
186
  var _usePresence = usePresence(isRefreshing, {
@@ -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 {\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 firstColumnStickyZIndex,\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 { getTableBodyStyles } from './commonStyles';\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';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\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)<{\n $styledProps?: {\n height?: BoxProps['height'];\n width?: BoxProps['width'];\n isVirtualized?: boolean;\n isSelectable?: boolean;\n showStripedRows?: boolean;\n };\n}>(({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n ...($styledProps?.isVirtualized && {\n width: '100%',\n }),\n });\n const $isSelectable = $styledProps?.isSelectable;\n const $showStripedRows = $styledProps?.showStripedRows;\n return {\n '&&&': {\n ...styledPropsCSSObject,\n overflow: `${$styledProps?.isVirtualized ? 'unset' : 'auto'} !important`,\n },\n ...($styledProps?.isVirtualized\n ? getTableBodyStyles({\n isVirtualized: $styledProps?.isVirtualized,\n theme,\n height: $styledProps?.height,\n width: '100%',\n isSelectable: $isSelectable,\n showStripedRows: $showStripedRows,\n })\n : null),\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\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit\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 defaultSelectedIds = [],\n ...rest\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>(\n selectionType !== 'none' ? defaultSelectedIds : [],\n );\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 const [hasHoverActions, setHasHoverActions] = React.useState(false);\n const tableRootComponent = children([]);\n const isVirtualized = getComponentId(tableRootComponent) === ComponentIds.VirtualizedTable;\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isVirtualized ?? isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const isMobile = useIsMobile();\n const lastHoverActionsColWidth = isMobile ? '1fr' : '0px';\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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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 ? `${gridTemplateColumns} ${hasHoverActions ? lastHoverActionsColWidth : ''}`\n : ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) ${\n hasHoverActions ? lastHoverActionsColWidth : ''\n } !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n \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 = (_, 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 state: {\n ...(selectionType === 'multiple'\n ? { ids: selectedRows }\n : selectionType === 'single'\n ? { id: selectedRows[0] }\n : {}),\n },\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 = (_, 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<Item>['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<Item> = 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 hasHoverActions,\n setHasHoverActions,\n columnCount,\n gridTemplateColumns,\n isVirtualized,\n tableData: data.nodes,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n gridTemplateColumns,\n rowDensity,\n toggleSort,\n columnCount,\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 hasHoverActions,\n setHasHoverActions,\n isVirtualized,\n data,\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(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" testID=\"table-spinner\" />\n </BaseBox>\n ) : (\n <BaseBox\n // ref={ref as never}\n flex={1}\n position=\"relative\"\n {...getStyledProps(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n width={isVirtualized ? `100%` : undefined}\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 width: isVirtualized ? `100%` : undefined,\n isVirtualized,\n isSelectable: selectionType !== 'none',\n showStripedRows,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...makeAccessible({ multiSelectable: selectionType === 'multiple' })}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\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","_objectSpread","height","isVirtualized","width","$isSelectable","isSelectable","$showStripedRows","showStripedRows","overflow","concat","getTableBodyStyles","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","makeMotionTime","motion","duration","quick","easing","entrance","exit","_Table","_ref3","_ref4","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","_ref3$defaultSelected","defaultSelectedIds","rest","_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","_React$useState11","_React$useState12","hasHoverActions","setHasHoverActions","VirtualizedTable","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","isMobile","useIsMobile","lastHoverActionsColWidth","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","_","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","tableData","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","Spinner","accessibilityLabel","testID","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","makeAccessible","multiSelectable","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 firstColumnStickyZIndex,\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 { getTableBodyStyles } from './commonStyles';\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';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\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)<{\n $styledProps?: {\n height?: BoxProps['height'];\n width?: BoxProps['width'];\n isVirtualized?: boolean;\n isSelectable?: boolean;\n showStripedRows?: boolean;\n };\n}>(({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n ...($styledProps?.isVirtualized && {\n width: '100%',\n }),\n });\n const $isSelectable = $styledProps?.isSelectable;\n const $showStripedRows = $styledProps?.showStripedRows;\n return {\n '&&&': {\n ...styledPropsCSSObject,\n overflow: `${$styledProps?.isVirtualized ? 'unset' : 'auto'} !important`,\n },\n ...($styledProps?.isVirtualized\n ? getTableBodyStyles({\n isVirtualized: $styledProps?.isVirtualized,\n theme,\n height: $styledProps?.height,\n width: '100%',\n isSelectable: $isSelectable,\n showStripedRows: $showStripedRows,\n })\n : null),\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\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit\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 defaultSelectedIds = [],\n backgroundColor = tableBackgroundColor,\n ...rest\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>(\n selectionType !== 'none' ? defaultSelectedIds : [],\n );\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 const [hasHoverActions, setHasHoverActions] = React.useState(false);\n const tableRootComponent = children([]);\n const isVirtualized = getComponentId(tableRootComponent) === ComponentIds.VirtualizedTable;\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isVirtualized ?? isHeaderSticky ?? isFirstColumnSticky;\n\n const isMobile = useIsMobile();\n const lastHoverActionsColWidth = isMobile ? '1fr' : '0px';\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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !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 ? `${gridTemplateColumns} ${hasHoverActions ? lastHoverActionsColWidth : ''}`\n : ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) ${\n hasHoverActions ? lastHoverActionsColWidth : ''\n } !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n \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 = (_, 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 state: {\n ...(selectionType === 'multiple'\n ? { ids: selectedRows }\n : selectionType === 'single'\n ? { id: selectedRows[0] }\n : {}),\n },\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 = (_, 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<Item>['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<Item> = 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 hasHoverActions,\n setHasHoverActions,\n columnCount,\n gridTemplateColumns,\n isVirtualized,\n tableData: data.nodes,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n gridTemplateColumns,\n rowDensity,\n toggleSort,\n columnCount,\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 hasHoverActions,\n setHasHoverActions,\n isVirtualized,\n data,\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(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" testID=\"table-spinner\" />\n </BaseBox>\n ) : (\n <BaseBox\n // ref={ref as never}\n flex={1}\n position=\"relative\"\n {...getStyledProps(rest)}\n {...metaAttribute({ name: MetaConstants.Table })}\n width={isVirtualized ? `100%` : undefined}\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 width: isVirtualized ? `100%` : undefined,\n isVirtualized,\n isSelectable: selectionType !== 'none',\n showStripedRows,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...makeAccessible({ multiSelectable: selectionType === 'multiple' })}\n {...metaAttribute({ name: MetaConstants.Table })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\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","_objectSpread","height","isVirtualized","width","$isSelectable","isSelectable","$showStripedRows","showStripedRows","overflow","concat","getTableBodyStyles","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","makeMotionTime","motion","duration","quick","easing","entrance","exit","_Table","_ref3","_ref4","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","_ref3$defaultSelected","defaultSelectedIds","_ref3$backgroundColor","backgroundColor","tableBackgroundColor","rest","_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","_React$useState11","_React$useState12","hasHoverActions","setHasHoverActions","VirtualizedTable","shouldHeaderBeSticky","isMobile","useIsMobile","lastHoverActionsColWidth","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","_","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","tableData","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","Spinner","accessibilityLabel","testID","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","makeAccessible","multiSelectable","assignWithoutSideEffects"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableContext.js","sources":["../../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type {\n TableBackgroundColors,\n TableProps,\n TablePaginationType,\n TableHeaderRowProps,\n TableNode as LocalTableNode,\n} from './types';\n\nexport type TableContextType<Item> = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors;\n headerRowDensity?: TableHeaderRowProps['rowDensity'];\n setHeaderRowDensity: React.Dispatch<React.SetStateAction<TableHeaderRowProps['rowDensity']>>;\n showBorderedCells: NonNullable<TableProps<unknown>['showBorderedCells']>;\n hasHoverActions: boolean;\n setHasHoverActions: (hasHoverActions: boolean) => void;\n columnCount: number;\n gridTemplateColumns: string | undefined;\n isVirtualized?: boolean;\n tableData: LocalTableNode<Item>[];\n};\n\nconst TableContext = React.createContext<TableContextType<unknown>>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n setHeaderRowDensity: () => {},\n showBorderedCells: false,\n hasHoverActions: false,\n setHasHoverActions: () => {},\n columnCount: 0,\n gridTemplateColumns: undefined,\n isVirtualized: false,\n tableData: [],\n});\n\nconst useTableContext = <Item,>(): TableContextType<Item> => {\n const context = React.useContext(TableContext as React.Context<TableContextType<Item>>);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","setHeaderRowDensity","showBorderedCells","hasHoverActions","setHasHoverActions","columnCount","gridTemplateColumns","isVirtualized","tableData","useTableContext","context","useContext"],"mappings":";;AAAA;AACA;AAgDA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAA4B;AAClEC,EAAAA,aAAa,EAAE,MAAM;AACrBC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,UAAU,EAAE,CAAC;AACbC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,UAAU,EAAE,SAAAA,UAAA,GAAM,EAAE;AACpBC,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,cAAc,EAAE,KAAA;GACjB;AACDC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,oBAAoB,EAAE,SAAAA,oBAAA,GAAM,EAAE;AAC9BC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,eAAe,EAAE,iCAAiC;AAClDC,EAAAA,mBAAmB,EAAE,SAAAA,mBAAA,GAAM,EAAE;AAC7BC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,kBAAkB,EAAE,SAAAA,kBAAA,GAAM,EAAE;AAC5BC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,mBAAmB,EAAEtB,SAAS;AAC9BuB,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,SAAS,EAAE,EAAA;AACb,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAwC;AAC3D,EAAA,IAAMC,OAAO,GAAG9B,cAAK,CAAC+B,UAAU,CAAChC,YAAqD,CAAC,CAAA;AACvF,EAAA,OAAO+B,OAAO,CAAA;AAChB;;;;"}
1
+ {"version":3,"file":"TableContext.js","sources":["../../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type {\n TableBackgroundColors,\n TableProps,\n TablePaginationType,\n TableHeaderRowProps,\n TableNode as LocalTableNode,\n} from './types';\n\nexport type TableContextType<Item> = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors | 'transparent';\n headerRowDensity?: TableHeaderRowProps['rowDensity'];\n setHeaderRowDensity: React.Dispatch<React.SetStateAction<TableHeaderRowProps['rowDensity']>>;\n showBorderedCells: NonNullable<TableProps<unknown>['showBorderedCells']>;\n hasHoverActions: boolean;\n setHasHoverActions: (hasHoverActions: boolean) => void;\n columnCount: number;\n gridTemplateColumns: string | undefined;\n isVirtualized?: boolean;\n tableData: LocalTableNode<Item>[];\n};\n\nconst TableContext = React.createContext<TableContextType<unknown>>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n setHeaderRowDensity: () => {},\n showBorderedCells: false,\n hasHoverActions: false,\n setHasHoverActions: () => {},\n columnCount: 0,\n gridTemplateColumns: undefined,\n isVirtualized: false,\n tableData: [],\n});\n\nconst useTableContext = <Item,>(): TableContextType<Item> => {\n const context = React.useContext(TableContext as React.Context<TableContextType<Item>>);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","setHeaderRowDensity","showBorderedCells","hasHoverActions","setHasHoverActions","columnCount","gridTemplateColumns","isVirtualized","tableData","useTableContext","context","useContext"],"mappings":";;AAAA;AACA;AAgDA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAA4B;AAClEC,EAAAA,aAAa,EAAE,MAAM;AACrBC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,UAAU,EAAE,CAAC;AACbC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,UAAU,EAAE,SAAAA,UAAA,GAAM,EAAE;AACpBC,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,cAAc,EAAE,KAAA;GACjB;AACDC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,oBAAoB,EAAE,SAAAA,oBAAA,GAAM,EAAE;AAC9BC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,eAAe,EAAE,iCAAiC;AAClDC,EAAAA,mBAAmB,EAAE,SAAAA,mBAAA,GAAM,EAAE;AAC7BC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,kBAAkB,EAAE,SAAAA,kBAAA,GAAM,EAAE;AAC5BC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,mBAAmB,EAAEtB,SAAS;AAC9BuB,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,SAAS,EAAE,EAAA;AACb,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAwC;AAC3D,EAAA,IAAMC,OAAO,GAAG9B,cAAK,CAAC+B,UAAU,CAAChC,YAAqD,CAAC,CAAA;AACvF,EAAA,OAAO+B,OAAO,CAAA;AAChB;;;;"}
@@ -23763,6 +23763,7 @@ type TableNode<Item> = Item & {
23763
23763
  type TableData<Item> = {
23764
23764
  nodes: TableNode<Item>[];
23765
23765
  };
23766
+ type TableBackgroundColors = `surface.background.gray.${DotNotationToken<Theme['colors']['surface']['background']['gray']>}`;
23766
23767
  type TableHeaderProps = {
23767
23768
  /**
23768
23769
  * The children of TableHeader should be TableHeaderRow
@@ -23933,6 +23934,10 @@ type TableProps<Item> = {
23933
23934
  * An array of default selected row ids. This will be used to set the initial selected rows.
23934
23935
  */
23935
23936
  defaultSelectedIds?: Identifier[];
23937
+ /**
23938
+ * The backgroundColor prop determines the background color of the table.
23939
+ **/
23940
+ backgroundColor?: TableBackgroundColors | 'transparent';
23936
23941
  } & DataAnalyticsAttribute & StyledPropsBlade;
23937
23942
  type Identifier = string | number;
23938
23943
  type TableBodyProps<Item> = {
@@ -24166,7 +24171,7 @@ type TableToolbarActionsProps = {
24166
24171
  children?: React__default.ReactNode;
24167
24172
  } & StyledPropsBlade & DataAnalyticsAttribute;
24168
24173
 
24169
- declare const Table: <Item>({ children, data, multiSelectTrigger, selectionType, onSelectionChange, isHeaderSticky, isFooterSticky, isFirstColumnSticky, rowDensity, onSortChange, sortFunctions, toolbar, pagination, height, showStripedRows, gridTemplateColumns, isLoading, isRefreshing, showBorderedCells, defaultSelectedIds, ...rest }: TableProps<Item>) => React__default.ReactElement;
24174
+ declare const Table: <Item>({ children, data, multiSelectTrigger, selectionType, onSelectionChange, isHeaderSticky, isFooterSticky, isFirstColumnSticky, rowDensity, onSortChange, sortFunctions, toolbar, pagination, height, showStripedRows, gridTemplateColumns, isLoading, isRefreshing, showBorderedCells, defaultSelectedIds, backgroundColor, ...rest }: TableProps<Item>) => React__default.ReactElement;
24170
24175
 
24171
24176
  declare const TableHeader: ({ children, ...rest }: TableHeaderRowProps) => React__default.ReactElement;
24172
24177
  declare const TableHeaderCell: ({ children, headerKey, _hasPadding, textAlign, ...rest }: TableHeaderCellProps) => React__default.ReactElement;
@@ -14511,6 +14511,7 @@ type TableNode<Item> = Item & {
14511
14511
  type TableData<Item> = {
14512
14512
  nodes: TableNode<Item>[];
14513
14513
  };
14514
+ type TableBackgroundColors = `surface.background.gray.${DotNotationToken<Theme['colors']['surface']['background']['gray']>}`;
14514
14515
  type TableHeaderProps = {
14515
14516
  /**
14516
14517
  * The children of TableHeader should be TableHeaderRow
@@ -14681,6 +14682,10 @@ type TableProps<Item> = {
14681
14682
  * An array of default selected row ids. This will be used to set the initial selected rows.
14682
14683
  */
14683
14684
  defaultSelectedIds?: Identifier[];
14685
+ /**
14686
+ * The backgroundColor prop determines the background color of the table.
14687
+ **/
14688
+ backgroundColor?: TableBackgroundColors | 'transparent';
14684
14689
  } & DataAnalyticsAttribute & StyledPropsBlade;
14685
14690
  type Identifier = string | number;
14686
14691
  type TableBodyProps<Item> = {
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": "12.15.1",
4
+ "version": "12.16.0",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=18.12.1"