@economic/taco 1.30.1 → 1.30.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, RowExpansionRenderer, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\nimport { useRowContext } from '../components/row/Context';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalFrozenColumn = (id: string) => isInternalColumn(id) && id !== COLUMN_ID_FOR_ACTIONS;\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nconst SelectCell = React.memo(({ lastSelectedRowIndex, rowIndex, isSelected, table, tableRef, texts, toggleSelected }: any) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, rowIndex);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n toggleSelected();\n }\n\n lastSelectedRowIndex.current = rowIndex;\n meta.setActiveRowIndex(rowIndex);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n className=\"hover:border-blue !mt-0\"\n checked={isSelected}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => (\n <SelectCell\n lastSelectedRowIndex={lastSelectedRowIndex}\n rowIndex={row.index}\n isSelected={row.getIsSelected()}\n table={table}\n tableRef={tableRef}\n texts={texts}\n toggleSelected={row.toggleSelected}\n />\n );\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nconst ExpandCell = React.memo(({ expandedRowRenderer, isExpanded, row, texts }: any) => {\n const hasExpandedRow = expandedRowRenderer(row.original);\n\n if (!hasExpandedRow) {\n return null;\n }\n\n return (\n <Tooltip\n title={\n <>\n {isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={['Ctrl', isExpanded ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\n\nexport function createRowExpansionColumn<TType = any>(\n expandedRowRenderer: RowExpansionRenderer<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n // ExpandCell is memoised and that's why calling row.getIsExpanded() inside it doesn't return the correct\n // expand state. This is the reason why isExpanded is pulled out of the ExpandCell component.\n <ExpandCell expandedRowRenderer={expandedRowRenderer} isExpanded={row.getIsExpanded()} row={row} texts={texts} />\n ),\n\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nconst RowActionsCell = React.memo(({ row, actions, moreActions, isEditing, shouldPauseHoverState, table, texts }: any) => {\n const { isActive, isHovered, rowIndex } = useRowContext();\n\n if ((!isActive && (!isHovered || shouldPauseHoverState)) || isEditing) {\n return null;\n }\n\n const isVisible = (action: Table2RowActionProps<any>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-2 flex justify-end text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tabIndex={tabIndex}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label={texts.table2.columns.actions.tooltip}\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n table.options.meta.setActiveRowIndex(rowIndex);\n }}\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n});\n\nexport function createRowActionsColumn<TType = any>(rowActions, texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(rowActions.length === 4 ? 4 : 3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell\n row={row}\n actions={actions}\n moreActions={moreActions}\n texts={texts}\n table={table}\n isEditing={!!table.options.meta?.editMode.isEditing}\n shouldPauseHoverState={!!table.options.meta?.shouldPauseHoverState}\n />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>, table: any) =>\n // Adding z-index so that it shows on top of frozen columns\n cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 !px-1 z-[1]', {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),\n 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected() &&\n (!table.options.meta?.shouldPauseHoverState || table.options.meta.editMode.isEditing),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }),\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalFrozenColumn","id","isInternalColumn","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","align","headerClassName","enableResizing","size","SelectCell","memo","lastSelectedRowIndex","rowIndex","isSelected","tableRef","toggleSelected","handleClick","stopPropagation","shiftKey","current","getRowModel","slice","forEach","setActiveRowIndex","focus","Tooltip","title","select","deselect","Shortcut","keys","Checkbox","checked","onClick","onChange","tabIndex","createRowSelectionColumn","enableMultipleRowSelection","header","getIsAllPageRowsSelected","deselectAll","selectAll","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","expandedRowRenderer","isExpanded","hasExpandedRow","expansion","collapse","expand","IconButton","appearance","icon","toggleExpanded","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","getActionPropertyValue","property","RowActionsCell","actions","moreActions","isEditing","shouldPauseHoverState","isActive","isHovered","useRowContext","isVisible","action","visible","visibleActions","filter","visibleMoreActions","actionClassName","activeRowIndex","i","key","ariaLabel","dialog","undefined","disabled","length","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","editMode","cn"],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, RowExpansionRenderer, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\nimport { useRowContext } from '../components/row/Context';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalFrozenColumn = (id: string) => isInternalColumn(id) && id !== COLUMN_ID_FOR_ACTIONS;\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nconst SelectCell = React.memo(({ lastSelectedRowIndex, rowIndex, isSelected, table, tableRef, texts, toggleSelected }: any) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, rowIndex);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n toggleSelected();\n }\n\n lastSelectedRowIndex.current = rowIndex;\n meta.setActiveRowIndex(rowIndex);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n className=\"hover:border-blue !mt-0\"\n checked={isSelected}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => (\n <SelectCell\n lastSelectedRowIndex={lastSelectedRowIndex}\n rowIndex={row.index}\n isSelected={row.getIsSelected()}\n table={table}\n tableRef={tableRef}\n texts={texts}\n toggleSelected={row.toggleSelected}\n />\n );\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nconst ExpandCell = React.memo(({ expandedRowRenderer, isExpanded, row, texts }: any) => {\n const hasExpandedRow = expandedRowRenderer(row.original);\n\n if (!hasExpandedRow) {\n return null;\n }\n\n return (\n <Tooltip\n title={\n <>\n {isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={['Ctrl', isExpanded ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\n\nexport function createRowExpansionColumn<TType = any>(\n expandedRowRenderer: RowExpansionRenderer<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n // ExpandCell is memoised and that's why calling row.getIsExpanded() inside it doesn't return the correct\n // expand state. This is the reason why isExpanded is pulled out of the ExpandCell component.\n <ExpandCell expandedRowRenderer={expandedRowRenderer} isExpanded={row.getIsExpanded()} row={row} texts={texts} />\n ),\n\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nconst RowActionsCell = React.memo(({ row, actions, moreActions, isEditing, shouldPauseHoverState, table, texts }: any) => {\n const { isActive, isHovered, rowIndex } = useRowContext();\n\n if ((!isActive && (!isHovered || shouldPauseHoverState)) || isEditing) {\n return null;\n }\n\n const isVisible = (action: Table2RowActionProps<any>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-2 flex justify-end text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tabIndex={tabIndex}\n tooltip={\n action.shortcutKey ? (\n <>\n {getActionPropertyValue(action.text, row.original)}\n <Shortcut className=\"ml-2\" keys={[action.shortcutKey]} />\n </>\n ) : (\n getActionPropertyValue(action.text, row.original)\n )\n }\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label={texts.table2.columns.actions.tooltip}\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n table.options.meta.setActiveRowIndex(rowIndex);\n }}\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n});\n\nexport function createRowActionsColumn<TType = any>(rowActions, texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(rowActions.length === 4 ? 4 : 3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell\n row={row}\n actions={actions}\n moreActions={moreActions}\n texts={texts}\n table={table}\n isEditing={!!table.options.meta?.editMode.isEditing}\n shouldPauseHoverState={!!table.options.meta?.shouldPauseHoverState}\n />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>, table: any) =>\n // Adding z-index so that it shows on top of frozen columns\n cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 !px-1 z-[1]', {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),\n 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected() &&\n (!table.options.meta?.shouldPauseHoverState || table.options.meta.editMode.isEditing),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }),\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalFrozenColumn","id","isInternalColumn","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","align","headerClassName","enableResizing","size","SelectCell","memo","lastSelectedRowIndex","rowIndex","isSelected","tableRef","toggleSelected","handleClick","stopPropagation","shiftKey","current","getRowModel","slice","forEach","setActiveRowIndex","focus","Tooltip","title","select","deselect","Shortcut","keys","Checkbox","checked","onClick","onChange","tabIndex","createRowSelectionColumn","enableMultipleRowSelection","header","getIsAllPageRowsSelected","deselectAll","selectAll","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","expandedRowRenderer","isExpanded","hasExpandedRow","expansion","collapse","expand","IconButton","appearance","icon","toggleExpanded","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","getActionPropertyValue","property","RowActionsCell","actions","moreActions","isEditing","shouldPauseHoverState","isActive","isHovered","useRowContext","isVisible","action","visible","visibleActions","filter","visibleMoreActions","actionClassName","activeRowIndex","i","key","ariaLabel","dialog","undefined","disabled","shortcutKey","length","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","editMode","cn"],"mappings":"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"}
@@ -4041,10 +4041,11 @@ const Banner = /*#__PURE__*/React.forwardRef(function Banner(props, ref) {
4041
4041
 
4042
4042
  const Base$1 = /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {
4043
4043
  const {
4044
+ appearance,
4044
4045
  fluid,
4045
4046
  ...otherProps
4046
4047
  } = props;
4047
- const className = cn(getButtonClasses(), getAppearanceClasses(otherProps.appearance), 'rounded px-3', {
4048
+ const className = cn(getButtonClasses(), getAppearanceClasses(appearance), 'rounded px-3', {
4048
4049
  'cursor-not-allowed opacity-50': props.disabled,
4049
4050
  'focus:yt-focus active:focus:yt-focus': !props.disabled,
4050
4051
  'w-full': fluid
@@ -9827,6 +9828,12 @@ const ControlledHiddenField = props => {
9827
9828
  };
9828
9829
  Select2.displayName = 'Select2';
9829
9830
 
9831
+ const replaceWithShortform = key => {
9832
+ if (key === 'Delete') {
9833
+ return 'Del';
9834
+ }
9835
+ return key;
9836
+ };
9830
9837
  const Shortcut$1 = ({
9831
9838
  keys,
9832
9839
  ...props
@@ -9837,7 +9844,7 @@ const Shortcut$1 = ({
9837
9844
  }), keys.map(key => /*#__PURE__*/React__default.createElement("kbd", {
9838
9845
  key: key,
9839
9846
  className: "wcag-blue-900 inline-flex h-4 items-center rounded px-1 font-mono text-xs font-normal"
9840
- }, key)));
9847
+ }, replaceWithShortform(key))));
9841
9848
  };
9842
9849
 
9843
9850
  const Switch = /*#__PURE__*/React.forwardRef(function Switch(props, ref) {
@@ -11692,7 +11699,10 @@ const RowActionsCell = /*#__PURE__*/React__default.memo(({
11692
11699
  }
11693
11700
  },
11694
11701
  tabIndex: tabIndex,
11695
- tooltip: getActionPropertyValue(action.text, row.original)
11702
+ tooltip: action.shortcutKey ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, getActionPropertyValue(action.text, row.original), /*#__PURE__*/React__default.createElement(Shortcut$1, {
11703
+ className: "ml-2",
11704
+ keys: [action.shortcutKey]
11705
+ })) : getActionPropertyValue(action.text, row.original)
11696
11706
  })), visibleMoreActions.length ? /*#__PURE__*/React__default.createElement(IconButton, {
11697
11707
  className: actionClassName,
11698
11708
  "aria-label": texts.table2.columns.actions.tooltip,
@@ -13188,6 +13198,14 @@ const useActiveRowStateListener = (table, rows, activeRowIndex) => {
13188
13198
  }, [table.getState().columnFilters, rows.length]);
13189
13199
  };
13190
13200
 
13201
+ const useFilterStateListener = (table, onRowSelect) => {
13202
+ React__default.useEffect(() => {
13203
+ if (onRowSelect) {
13204
+ table.resetRowSelection();
13205
+ }
13206
+ }, [table.getState().columnFilters, table.getState().globalFilter]);
13207
+ };
13208
+
13191
13209
  function useTable$1(children, props, ref) {
13192
13210
  var _settings$frozenColum, _settings$columnOrder, _settings$columnSizin, _settings$columnVisib, _settings$rowDensity;
13193
13211
  const {
@@ -13239,6 +13257,15 @@ function useTable$1(children, props, ref) {
13239
13257
  expandedRowRenderer,
13240
13258
  onRowDrag
13241
13259
  }, ref);
13260
+ const actionShortcuts = actionsForRow === null || actionsForRow === void 0 ? void 0 : actionsForRow.reduce((shortcuts, action) => {
13261
+ if (action.shortcutKey) {
13262
+ return {
13263
+ ...shortcuts,
13264
+ [action.shortcutKey]: action.ariaLabel
13265
+ };
13266
+ }
13267
+ return shortcuts;
13268
+ }, {});
13242
13269
  const lastSortedOrFilteredRows = React__default.useRef(null);
13243
13270
  const totalFrozenColumns = internalFrozenColumnCount + ((_settings$frozenColum = settings === null || settings === void 0 ? void 0 : settings.frozenColumnCount) !== null && _settings$frozenColum !== void 0 ? _settings$frozenColum : 0);
13244
13271
  const frozenColumns = columns.slice(0, totalFrozenColumns).map(column => column.id);
@@ -13378,12 +13405,14 @@ function useTable$1(children, props, ref) {
13378
13405
  // state listeners
13379
13406
  useActiveRowStateListener(table, rows, activeRow);
13380
13407
  useColumnOffsetStateListener(table, setColumnOffsets);
13408
+ useFilterStateListener(table, onRowSelect);
13381
13409
  useRowSelectionListener(table, onRowSelect);
13382
13410
  useSettingsStateListener(table, onChangeSettings);
13383
13411
  return {
13384
13412
  rows,
13385
13413
  table,
13386
- footers
13414
+ footers,
13415
+ actionShortcuts
13387
13416
  };
13388
13417
  }
13389
13418
 
@@ -14650,7 +14679,8 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
14650
14679
  const {
14651
14680
  rows,
14652
14681
  table,
14653
- footers
14682
+ footers,
14683
+ actionShortcuts
14654
14684
  } = useTable$1(props.children, props, tableRef);
14655
14685
  const meta = table.options.meta;
14656
14686
  const {
@@ -14689,6 +14719,14 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
14689
14719
  const editButtonRef = React__default.useRef(null);
14690
14720
  // support grid like keyboard navigation between cells
14691
14721
  const handleKeyDown = event => {
14722
+ if (!meta.editMode.isEditing && actionShortcuts[event.key]) {
14723
+ var _tableRef$current;
14724
+ const rowAction = (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.querySelector(`[role="row"][aria-current="true"] [role="cell"]:last-child [aria-label="${actionShortcuts[event.key]}"]`);
14725
+ if (rowAction) {
14726
+ rowAction.click();
14727
+ }
14728
+ return;
14729
+ }
14692
14730
  if (document.activeElement === tableRef.current) {
14693
14731
  if (event.key === 'ArrowUp') {
14694
14732
  event.preventDefault();
@@ -14712,8 +14750,8 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
14712
14750
  meta.setShouldPauseHoverState(true);
14713
14751
  // the virtualiser doesn't always scroll right to the bottom for the last row
14714
14752
  if (nextIndex === rows.length - 1) {
14715
- var _tableRef$current;
14716
- (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.scrollTo(0, tableRef.current.scrollHeight);
14753
+ var _tableRef$current2;
14754
+ (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.scrollTo(0, tableRef.current.scrollHeight);
14717
14755
  } else {
14718
14756
  virtualiser.scrollToIndex(nextIndex + 2);
14719
14757
  }
@@ -14817,14 +14855,11 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
14817
14855
  const _temp3 = function () {
14818
14856
  if (typeof loadMore === 'function') {
14819
14857
  const scrollY = event.currentTarget.scrollTop;
14820
- const isVerticalScrolling = scrollY !== prevScrollY.current;
14858
+ const isScrollingDown = scrollY > prevScrollY.current;
14821
14859
  prevScrollY.current = scrollY;
14860
+ const scrolledPercentage = Math.round(100 / event.currentTarget.scrollHeight * scrollY);
14822
14861
  const _temp2 = function () {
14823
- if (
14824
- // This condition will also prevent triggering of loadMore function when scrolled upwards
14825
- event.currentTarget.scrollHeight - event.currentTarget.scrollTop - event.currentTarget.clientHeight < 600 && !loadingRef.current &&
14826
- // We don't want to trigger loadMore function on horizontal scrolling
14827
- isVerticalScrolling) {
14862
+ if (isScrollingDown && !loadingRef.current && scrolledPercentage >= 80) {
14828
14863
  const _temp = _finallyRethrows(function () {
14829
14864
  return _catch(function () {
14830
14865
  const isAllRowsSelected = table.getIsAllRowsSelected();