@economic/taco 1.40.1 → 1.40.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -127,4 +127,4 @@ export declare type ForwardedTable2WithStatics = React.ForwardRefExoticComponent
127
127
  declare const Table2: ForwardedTable2WithStatics;
128
128
  export { Table2 };
129
129
  export type { Table2Props };
130
- export type { Table2ColumnProps, Table2ActionProps, Table2RowActionRenderer, Table2Settings } from './types';
130
+ export type { Table2ColumnProps, Table2ActionProps, Table2RowActionRenderer, Table2Settings, Table2Filter, Table2FilterComparator, } from './types';
@@ -9,8 +9,16 @@ const replaceWithShortform = key => {
9
9
  case 'Space':
10
10
  case ' ':
11
11
  return '␣';
12
+ case 'ArrowLeft':
13
+ return '◄';
14
+ case 'ArrowRight':
15
+ return '►';
16
+ case 'ArrowUp':
17
+ return '▲';
18
+ case 'ArrowDown':
19
+ return '▼';
12
20
  default:
13
- return String(key).toLocaleUpperCase();
21
+ return key.length === 1 ? key.toLocaleUpperCase() : key;
14
22
  }
15
23
  };
16
24
  const getShortcutText = key => {
@@ -40,7 +48,7 @@ const Shortcut = ({
40
48
  className: className
41
49
  }), texts.map(key => /*#__PURE__*/React__default.createElement("kbd", {
42
50
  key: key,
43
- className: "font-display bg-grey-300/[0.25] rounded px-1 text-center"
51
+ className: "font-display bg-grey-300/[0.25] rounded-sm px-1 text-center font-bold text-white"
44
52
  }, key)));
45
53
  };
46
54
 
@@ -1 +1 @@
1
- {"version":3,"file":"Shortcut.js","sources":["../../../../../../../src/components/Shortcut/Shortcut.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isMacOs, KeyDownHandlerOptions } from '../../utils/keyboard';\n\nconst replaceWithShortform = (key: string) => {\n switch (key) {\n case 'Delete':\n return 'Del';\n\n case 'Space':\n case ' ':\n return '␣';\n\n default:\n return String(key).toLocaleUpperCase();\n }\n};\n\nconst getShortcutText = (key: string | KeyDownHandlerOptions) => {\n if (!key) {\n return [];\n }\n\n if (typeof key === 'string') {\n return [replaceWithShortform(key)];\n }\n\n const keys: string[] = [];\n\n if (key.shift) {\n keys.push(isMacOs() ? '⇧' : 'Shift');\n }\n\n if (key.meta) {\n keys.push(isMacOs() ? '⌘' : 'Ctrl');\n }\n\n keys.push(replaceWithShortform(key.key));\n\n return keys;\n};\n\nexport type ShortcutProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n keys: string | KeyDownHandlerOptions;\n};\n\nexport const Shortcut = ({ keys, ...props }: ShortcutProps) => {\n const className = cn('inline-flex gap-0.5', props.className);\n const texts = getShortcutText(keys);\n\n return (\n <span {...props} className={className}>\n {texts.map(key => (\n <kbd key={key} className=\"font-display bg-grey-300/[0.25] rounded px-1 text-center\">\n {key}\n </kbd>\n ))}\n </span>\n );\n};\n"],"names":["replaceWithShortform","key","String","toLocaleUpperCase","getShortcutText","keys","shift","push","isMacOs","meta","Shortcut","props","className","cn","texts","React","map"],"mappings":";;;;AAIA,MAAMA,oBAAoB,GAAIC,GAAW;EACrC,QAAQA,GAAG;IACP,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,OAAO;IACZ,KAAK,GAAG;MACJ,OAAO,GAAG;IAEd;MACI,OAAOC,MAAM,CAACD,GAAG,CAAC,CAACE,iBAAiB,EAAE;;AAElD,CAAC;AAED,MAAMC,eAAe,GAAIH,GAAmC;EACxD,IAAI,CAACA,GAAG,EAAE;IACN,OAAO,EAAE;;EAGb,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO,CAACD,oBAAoB,CAACC,GAAG,CAAC,CAAC;;EAGtC,MAAMI,IAAI,GAAa,EAAE;EAEzB,IAAIJ,GAAG,CAACK,KAAK,EAAE;IACXD,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC;;EAGxC,IAAIP,GAAG,CAACQ,IAAI,EAAE;IACVJ,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;;EAGvCH,IAAI,CAACE,IAAI,CAACP,oBAAoB,CAACC,GAAG,CAACA,GAAG,CAAC,CAAC;EAExC,OAAOI,IAAI;AACf,CAAC;MAMYK,QAAQ,GAAG,CAAC;EAAEL,IAAI;EAAE,GAAGM;CAAsB;EACtD,MAAMC,SAAS,GAAGC,EAAE,CAAC,qBAAqB,EAAEF,KAAK,CAACC,SAAS,CAAC;EAC5D,MAAME,KAAK,GAAGV,eAAe,CAACC,IAAI,CAAC;EAEnC,oBACIU,uDAAUJ,KAAK;IAAEC,SAAS,EAAEA;MACvBE,KAAK,CAACE,GAAG,CAACf,GAAG,iBACVc;IAAKd,GAAG,EAAEA,GAAG;IAAEW,SAAS,EAAC;KACpBX,GAAG,CAEX,CAAC,CACC;AAEf;;;;"}
1
+ {"version":3,"file":"Shortcut.js","sources":["../../../../../../../src/components/Shortcut/Shortcut.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isMacOs, KeyDownHandlerOptions } from '../../utils/keyboard';\n\nconst replaceWithShortform = (key: string) => {\n switch (key) {\n case 'Delete':\n return 'Del';\n\n case 'Space':\n case ' ':\n return '␣';\n\n case 'ArrowLeft':\n return '◄';\n\n case 'ArrowRight':\n return '►';\n\n case 'ArrowUp':\n return '▲';\n\n case 'ArrowDown':\n return '▼';\n\n default:\n return key.length === 1 ? key.toLocaleUpperCase() : key;\n }\n};\n\nconst getShortcutText = (key: string | KeyDownHandlerOptions) => {\n if (!key) {\n return [];\n }\n\n if (typeof key === 'string') {\n return [replaceWithShortform(key)];\n }\n\n const keys: string[] = [];\n\n if (key.shift) {\n keys.push(isMacOs() ? '⇧' : 'Shift');\n }\n\n if (key.meta) {\n keys.push(isMacOs() ? '⌘' : 'Ctrl');\n }\n\n keys.push(replaceWithShortform(key.key));\n\n return keys;\n};\n\nexport type ShortcutProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n keys: string | KeyDownHandlerOptions;\n};\n\nexport const Shortcut = ({ keys, ...props }: ShortcutProps) => {\n const className = cn('inline-flex gap-0.5', props.className);\n const texts = getShortcutText(keys);\n\n return (\n <span {...props} className={className}>\n {texts.map(key => (\n <kbd key={key} className=\"font-display bg-grey-300/[0.25] rounded-sm px-1 text-center font-bold text-white\">\n {key}\n </kbd>\n ))}\n </span>\n );\n};\n"],"names":["replaceWithShortform","key","length","toLocaleUpperCase","getShortcutText","keys","shift","push","isMacOs","meta","Shortcut","props","className","cn","texts","React","map"],"mappings":";;;;AAIA,MAAMA,oBAAoB,GAAIC,GAAW;EACrC,QAAQA,GAAG;IACP,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,OAAO;IACZ,KAAK,GAAG;MACJ,OAAO,GAAG;IAEd,KAAK,WAAW;MACZ,OAAO,GAAG;IAEd,KAAK,YAAY;MACb,OAAO,GAAG;IAEd,KAAK,SAAS;MACV,OAAO,GAAG;IAEd,KAAK,WAAW;MACZ,OAAO,GAAG;IAEd;MACI,OAAOA,GAAG,CAACC,MAAM,KAAK,CAAC,GAAGD,GAAG,CAACE,iBAAiB,EAAE,GAAGF,GAAG;;AAEnE,CAAC;AAED,MAAMG,eAAe,GAAIH,GAAmC;EACxD,IAAI,CAACA,GAAG,EAAE;IACN,OAAO,EAAE;;EAGb,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO,CAACD,oBAAoB,CAACC,GAAG,CAAC,CAAC;;EAGtC,MAAMI,IAAI,GAAa,EAAE;EAEzB,IAAIJ,GAAG,CAACK,KAAK,EAAE;IACXD,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC;;EAGxC,IAAIP,GAAG,CAACQ,IAAI,EAAE;IACVJ,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;;EAGvCH,IAAI,CAACE,IAAI,CAACP,oBAAoB,CAACC,GAAG,CAACA,GAAG,CAAC,CAAC;EAExC,OAAOI,IAAI;AACf,CAAC;MAMYK,QAAQ,GAAG,CAAC;EAAEL,IAAI;EAAE,GAAGM;CAAsB;EACtD,MAAMC,SAAS,GAAGC,EAAE,CAAC,qBAAqB,EAAEF,KAAK,CAACC,SAAS,CAAC;EAC5D,MAAME,KAAK,GAAGV,eAAe,CAACC,IAAI,CAAC;EAEnC,oBACIU,uDAAUJ,KAAK;IAAEC,SAAS,EAAEA;MACvBE,KAAK,CAACE,GAAG,CAACf,GAAG,iBACVc;IAAKd,GAAG,EAAEA,GAAG;IAAEW,SAAS,EAAC;KACpBX,GAAG,CAEX,CAAC,CACC;AAEf;;;;"}
@@ -406,7 +406,7 @@ const Summary = ({
406
406
  const label = selectedLength > 0 ? texts.table2.footer.summary.selected : texts.table2.footer.summary.records;
407
407
  const total = selectedLength > 0 ? selectedLength : length;
408
408
  return /*#__PURE__*/React__default.createElement("div", {
409
- className: cn('sticky bottom-0 left-0 z-10 -mt-10 flex h-10 w-fit items-center bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]')
409
+ className: cn('sticky bottom-0 left-0 z-10 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]')
410
410
  }, label, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, total));
411
411
  };
412
412
  const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"Table2.js","sources":["../../../../../../../src/components/Table2/Table2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Row as TRow, TableMeta } from '@tanstack/react-table';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { Cell } from './components/column/Cell';\nimport { Header } from './components/column/Header';\nimport { Footer } from './components/column/Footer';\nimport { Table2Props, Table2ColumnProps } from './types';\nimport { useTable } from './hooks/useTable';\nimport { useVirtualiser } from './hooks/useVirtualiser';\nimport { Group } from '../Group/Group';\nimport { useGridTemplate } from './hooks/useGridTemplate';\nimport { RowDensityButton } from './components/RowDensityButton';\nimport { ColumnSettingsButton } from './components/ColumnSettingsButton';\nimport { ExpandedRow } from './components/row/ExpandedRow';\nimport { BatchActionsMenu } from './components/BatchActionsMenu';\nimport { Row } from './components/row/Row';\nimport { FiltersButton } from './components/filters/FiltersButton';\nimport { Search } from './components/Search';\nimport { EditModeButton } from './components/EditModeButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type Table2Texts = {\n columns: {\n resize: {\n tooltip: string;\n };\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n menu: {\n hideColumn: string;\n freezeColumns: (count: number) => string;\n unfreezeColumns: string;\n };\n };\n columnSettings: {\n search: string;\n tooltip: string;\n button: string;\n noResults: string;\n };\n editing: {\n button: string;\n tooltip: string;\n tooltipDisabled: string;\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addNewFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isAllOf: string;\n isEmpty: string;\n isNotEmpty: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n footer: {\n summary: {\n records: string;\n selected: string;\n };\n };\n rowDensity: {\n tooltip: string;\n compact: string;\n normal: string;\n comfortable: string;\n spacious: string;\n };\n search: {\n placeholder: string;\n };\n shortcuts: {\n tooltip: string;\n search: string;\n filter: string;\n previousRow: string;\n nextRow: string;\n editCell: string;\n previousColumn: string;\n nextColumn: string;\n rowClick: string;\n selectRow: string;\n selectAllRows: string;\n expandRow: string;\n collapseRow: string;\n };\n};\n\nfunction Column<TType = any>(_: Table2ColumnProps<TType>) {\n return null;\n}\nColumn.displayName = 'Table2Column';\n\nexport type Table2Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: () => void;\n };\n};\n\nconst BaseTable2 = React.forwardRef(function BaseTable2<TType = any>(props: Table2Props<TType>, ref: React.Ref<Table2Ref>) {\n // dom\n const {\n emptyState: EmptyState,\n expandedRowRenderer,\n length = props.data.length,\n loadMore,\n onRowClick,\n onRowDrop,\n toolbarLeft,\n toolbarRight,\n _experimentalActionsForTable,\n _experimentalActionsForTableSummary,\n } = props;\n const tableRef = useMergedRef<Table2Ref>(ref);\n const timeoutIdRef = React.useRef<NodeJS.Timeout>();\n const prevScrollY = React.useRef<number>(0);\n\n // react-table\n const { rows, table, footers } = useTable(props.children, props, tableRef);\n const meta = table.options.meta as TableMeta<TType>;\n\n const { columnVisibility, columnOrder, globalFilter } = table.getState();\n\n React.useEffect(() => {\n if (tableRef.current) {\n tableRef.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n toggleEditing: () => meta.editMode.toggleEditing(),\n };\n }\n }, [table, tableRef.current]);\n\n // If column visibility or order changes then we turn off the edit mode so that control indexes gets computed\n // when user turns on the editing mode again. This is a temporary solution to make sure the keyboard navigation\n // still keeps working on changes in column visibility, order, or both\n React.useEffect(() => {\n meta.resetFocussableColumnIndexes();\n }, [columnVisibility, columnOrder]);\n\n React.useEffect(() => {\n // Whenever edit mode is turned off we reset the focussableColumnIndexes ref to an empty array so that\n // we don't have stale values, in case column visibility or ordering changes\n if (!meta.editMode.isEditing) {\n meta.resetFocussableColumnIndexes();\n }\n }, [meta.editMode.isEditing]);\n\n React.useEffect(() => {\n return () => clearTimeout(timeoutIdRef.current);\n }, []);\n\n // virtualiser\n const { virtualiser, virtualiserOffsets, setExpandedRowSizes } = useVirtualiser({ rows, table }, tableRef);\n\n // css grid\n const gridTemplateColumns = useGridTemplate(table);\n\n // handlers\n const editButtonRef = React.useRef(null);\n\n // support grid like keyboard navigation between cells\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (document.activeElement === tableRef.current) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(0);\n virtualiser.scrollToOffset(0);\n } else {\n meta.moveToPreviousRow(rows, nextIndex => {\n meta.setShouldPauseHoverState(true);\n virtualiser.scrollToIndex(nextIndex - 1);\n });\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(rows.length - 1);\n virtualiser.scrollToOffset(virtualiser.totalSize + 1);\n } else {\n meta.moveToNextRow(rows, nextIndex => {\n meta.setShouldPauseHoverState(true);\n\n // the virtualiser doesn't always scroll right to the bottom for the last row\n if (nextIndex === rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(nextIndex + 2);\n }\n });\n }\n\n return;\n }\n\n const canToggleRowExpansion = table.options.enableExpanding;\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta.activeRowIndex]?.toggleExpanded(false);\n }\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta?.activeRowIndex]?.toggleExpanded(true);\n }\n }\n\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (onRowClick) {\n onRowClick(rows[meta?.activeRowIndex].original);\n }\n\n return;\n }\n\n if (event.key === ' ') {\n event.preventDefault();\n\n if (table.options.enableRowSelection) {\n rows[meta.activeRowIndex]?.toggleSelected();\n }\n\n return;\n }\n\n if (event.ctrlKey || event.metaKey) {\n if (event.key === 'a' && table.options.enableRowSelection) {\n event.preventDefault();\n table.toggleAllRowsSelected();\n }\n\n return;\n }\n }\n };\n\n let handleBlur;\n\n if (meta.editMode.isEditing) {\n handleBlur = (event: React.FocusEvent) => {\n let elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n // we might be focusing on a select or a popover that was triggered from inside the table\n // so see if the element gaining focus is inside a portal and look up its controller\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (portalId) {\n elementGainingFocus = event.currentTarget.querySelector(`[aria-controls=\"${portalId}\"]`) ?? event.relatedTarget;\n }\n\n if (!event.currentTarget?.contains(elementGainingFocus) && elementGainingFocus !== editButtonRef.current) {\n // When we call manually blur on control component while navigating to the next cell, then when this\n // handler is run, the related target is not the next control component and active element is null,\n // that's why we explictly need to check what's the next focussed element in order to figure out whether\n // we should disabled the sorting or not.\n timeoutIdRef.current = setTimeout(() => {\n const parentRow = event.target.closest('[role=\"row\"]');\n const isNewFocussedElementInSameRow = parentRow?.contains(document.activeElement);\n\n // When we manually call blur on control component and focus another component then\n // we have to make sure we\n if (meta.shouldPauseSortingAndFiltering && !isNewFocussedElementInSameRow) {\n // if client side - unpause sorting\n meta.setShouldPauseSortingAndFiltering(false);\n }\n });\n }\n };\n }\n\n // TODO: this can probably be extracted into a hook\n // we only show the pinned shadow on display columns when scrolling is active\n const [scrolled, setScrolled] = React.useState(false);\n\n // extract - infinite loading\n const loadingRef = React.useRef(false);\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !scrolled) {\n setScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && scrolled) {\n setScrolled(false);\n } else if (typeof loadMore === 'function') {\n const scrollY = event.currentTarget.scrollTop;\n const isScrollingDown = scrollY > prevScrollY.current;\n prevScrollY.current = scrollY;\n\n const scrolledPercentage = Math.round(\n (scrollY / (event.currentTarget.scrollHeight - event.currentTarget.clientHeight)) * 100\n );\n\n if (isScrollingDown && !loadingRef.current && scrolledPercentage >= 80) {\n try {\n const isAllRowsSelected = table.getIsAllRowsSelected();\n loadingRef.current = true;\n await loadMore();\n\n if (isAllRowsSelected) {\n table.toggleAllRowsSelected(true);\n }\n } catch (error) {\n console.error(error);\n } finally {\n loadingRef.current = false;\n }\n }\n }\n };\n\n let handleMouseLeave;\n\n if (meta.shouldPauseHoverState) {\n // sometimes the row's onMouseLeave doesn't trigger, this adds some extra redundancy\n handleMouseLeave = () => meta.setShouldPauseHoverState(false);\n }\n\n const className = cn(\n 'bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid auto-rows-max overflow-auto relative rounded group',\n props.className\n );\n\n const enableSettingsButton = table.options.enableHiding || meta.enableColumnReordering;\n const hasInternalToolbar =\n enableSettingsButton ||\n meta.editMode.enableEditMode ||\n table.options.enableColumnFilters ||\n meta.enableRowDensity ||\n table.options.enableGlobalFilter;\n const hasToolbar = hasInternalToolbar || !!toolbarLeft || !toolbarRight;\n\n const frozenColumnIds = table.getLeftVisibleLeafColumns().map(c => c.id);\n\n return (\n <div className=\"-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5\">\n {hasToolbar ? (\n <div className=\"flex flex-wrap gap-2\">\n {toolbarLeft}\n {hasInternalToolbar ? (\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {meta.editMode.enableEditMode ? (\n <EditModeButton\n ref={editButtonRef}\n table={table}\n tableRef={tableRef}\n scrollToIndex={virtualiser.scrollToIndex}\n />\n ) : null}\n {table.options.enableColumnFilters ? <FiltersButton length={length} table={table} /> : null}\n {toolbarRight}\n {meta.enableRowDensity ? <RowDensityButton table={table} /> : null}\n {enableSettingsButton ? <ColumnSettingsButton table={table} /> : null}\n {table.options.enableGlobalFilter ? (\n <Search\n disabled={meta.shouldDisableTableActions}\n onSearch={table.setGlobalFilter}\n value={globalFilter}\n />\n ) : null}\n </Group>\n ) : null}\n {/*<ShortcutsGuideButton table={table} />*/}\n </div>\n ) : null}\n <div\n className={className}\n data-taco=\"table2\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n onScroll={handleScroll}\n ref={tableRef}\n role=\"table\"\n style={{\n gridTemplateColumns,\n gridTemplateRows: rows.length ? undefined : '40px',\n // create a new stacking context so our internal z-indexes don't effect external components\n // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n opacity: 0.999,\n }}\n tabIndex={0}>\n <div className=\"contents\" data-taco=\"table2-header\" role=\"rowgroup\">\n {table.getHeaderGroups().map(headerGroup => (\n <div className=\"contents\" key={headerGroup.id} role=\"row\">\n {headerGroup.headers.map((header, columnIndex) => (\n <Header\n frozenColumnIds={frozenColumnIds}\n key={header.id}\n header={header}\n index={columnIndex}\n isLastColumn={columnIndex === headerGroup.headers.length - 1}\n scrolled={scrolled}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </div>\n ))}\n </div>\n {rows.length ? (\n <div className=\"contents\" data-taco=\"table2-body\" role=\"rowgroup\">\n {virtualiserOffsets.top ? (\n <div style={{ height: virtualiserOffsets.top }} className=\"col-span-full\" />\n ) : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n return (\n <React.Fragment key={row.id}>\n <Row\n className=\"group/row contents\"\n onRowDrop={onRowDrop}\n row={row}\n rowIndex={virtualRow.index}\n table={table}>\n {row.getVisibleCells().map((cell, columnIndex) => (\n <Cell\n cell={cell}\n frozenColumnIds={frozenColumnIds}\n key={`${cell.id}_${cell.getValue()}`}\n index={columnIndex}\n isLastRow={virtualRow.index === rows.length - 1}\n rows={rows}\n rowIndex={virtualRow.index}\n scrolled={scrolled}\n scrollToIndex={virtualiser.scrollToIndex}\n scrollToOffset={virtualiser.scrollToOffset}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </Row>\n {row.getIsExpanded() && expandedRowRenderer ? (\n <ExpandedRow index={virtualRow.index} setSize={setExpandedRowSizes}>\n {expandedRowRenderer(row.original)?.()}\n </ExpandedRow>\n ) : null}\n </React.Fragment>\n );\n })}\n {virtualiserOffsets.bottom ? (\n <div style={{ height: virtualiserOffsets.bottom }} className=\"col-span-full\" />\n ) : null}\n </div>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n <div className=\"contents\" data-taco=\"table2-footer\" role=\"rowgroup\">\n <div role=\"row\" className=\"contents\">\n {table.getFooterGroups().map(footerGroup =>\n footerGroup.headers.map((footer, cellIndex) => (\n <Footer\n key={footer.id}\n footer={footer}\n frozenColumnIds={frozenColumnIds}\n index={cellIndex}\n scrolled={scrolled}\n table={table}>\n {footers[footer.id]\n ? footers[footer.id](rows.map((row: TRow<TType>) => row.original[footer.id]))\n : null}\n </Footer>\n ))\n )}\n </div>\n <Summary length={length ?? rows.length} table={table} />\n </div>\n </div>\n {!!_experimentalActionsForTable &&\n table.options.enableRowSelection &&\n (table.getIsSomeRowsSelected() || table.getIsAllRowsSelected()) ? (\n <BatchActionsMenu<TType>\n className=\"fixed-center-x bottom-0 z-50 mb-4 print:hidden\"\n actionsForTable={_experimentalActionsForTable}\n summary={_experimentalActionsForTableSummary}\n table={table}\n />\n ) : null}\n </div>\n );\n}) as React.ForwardRefExoticComponent<Table2Props<any>> &\n (<TType>(props: Table2Props<TType> & { ref?: React.Ref<Table2Ref> }) => JSX.Element);\n\nconst Summary = ({ length, table }) => {\n const { texts } = useLocalization();\n\n const selectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;\n const label = selectedLength > 0 ? texts.table2.footer.summary.selected : texts.table2.footer.summary.records;\n const total = selectedLength > 0 ? selectedLength : length;\n\n return (\n <div\n className={cn(\n 'sticky bottom-0 left-0 z-10 -mt-10 flex h-10 w-fit items-center bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]'\n )}>\n {label}&nbsp;\n <strong>{total}</strong>\n </div>\n );\n};\n\nexport type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {\n Column: <TType>(props: Table2ColumnProps<TType>) => JSX.Element | null;\n} & (<TType>(props: Table2Props<TType> & { ref?: React.Ref<Table2Ref> }) => JSX.Element);\n\nconst Table2 = React.forwardRef(function Table2<TType = any>(props: Table2Props<TType>, ref: React.Ref<Table2Ref>) {\n const key = React.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);\n return <BaseTable2 {...props} key={key} ref={ref} />;\n}) as ForwardedTable2WithStatics;\n\nTable2.Column = Column;\n\nexport { Table2 };\nexport type { Table2Props };\nexport type { Table2ColumnProps, Table2ActionProps, Table2RowActionRenderer, Table2Settings } from './types';\n"],"names":["Column","_","displayName","BaseTable2","React","forwardRef","props","ref","emptyState","EmptyState","expandedRowRenderer","length","data","loadMore","onRowClick","onRowDrop","toolbarLeft","toolbarRight","_experimentalActionsForTable","_experimentalActionsForTableSummary","tableRef","useMergedRef","timeoutIdRef","useRef","prevScrollY","rows","table","footers","useTable","children","meta","options","columnVisibility","columnOrder","globalFilter","getState","useEffect","current","instance","resetFiltering","resetColumnFilters","resetRowExpansion","resetExpanded","resetRowSelection","resetSorting","toggleEditing","editMode","resetFocussableColumnIndexes","isEditing","clearTimeout","virtualiser","virtualiserOffsets","setExpandedRowSizes","useVirtualiser","gridTemplateColumns","useGridTemplate","editButtonRef","handleKeyDown","event","document","activeElement","key","preventDefault","ctrlKey","metaKey","setActiveRowIndex","scrollToOffset","moveToPreviousRow","nextIndex","setShouldPauseHoverState","scrollToIndex","totalSize","moveToNextRow","scrollTo","scrollHeight","canToggleRowExpansion","enableExpanding","activeRowIndex","toggleExpanded","original","enableRowSelection","toggleSelected","toggleAllRowsSelected","handleBlur","elementGainingFocus","relatedTarget","undefined","portalId","closest","id","currentTarget","querySelector","contains","setTimeout","parentRow","target","isNewFocussedElementInSameRow","shouldPauseSortingAndFiltering","setShouldPauseSortingAndFiltering","scrolled","setScrolled","useState","loadingRef","handleScroll","scrollLeft","scrollY","scrollTop","isScrollingDown","scrolledPercentage","Math","round","clientHeight","isAllRowsSelected","getIsAllRowsSelected","error","console","handleMouseLeave","shouldPauseHoverState","className","cn","enableSettingsButton","enableHiding","enableColumnReordering","hasInternalToolbar","enableEditMode","enableColumnFilters","enableRowDensity","enableGlobalFilter","hasToolbar","frozenColumnIds","getLeftVisibleLeafColumns","map","c","Group","EditModeButton","FiltersButton","RowDensityButton","ColumnSettingsButton","Search","disabled","shouldDisableTableActions","onSearch","setGlobalFilter","value","onBlur","onKeyDown","onMouseLeave","onScroll","role","style","gridTemplateRows","opacity","tabIndex","getHeaderGroups","headerGroup","headers","header","columnIndex","Header","index","isLastColumn","top","height","virtualItems","virtualRow","row","Fragment","Row","rowIndex","getVisibleCells","cell","Cell","getValue","isLastRow","getIsExpanded","ExpandedRow","setSize","bottom","getFooterGroups","footerGroup","footer","cellIndex","Footer","Summary","getIsSomeRowsSelected","BatchActionsMenu","actionsForTable","summary","texts","useLocalization","selectedLength","getSelectedRowModel","label","table2","selected","records","total","Table2","useMemo","String"],"mappings":"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"}
1
+ {"version":3,"file":"Table2.js","sources":["../../../../../../../src/components/Table2/Table2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Row as TRow, TableMeta } from '@tanstack/react-table';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { Cell } from './components/column/Cell';\nimport { Header } from './components/column/Header';\nimport { Footer } from './components/column/Footer';\nimport { Table2Props, Table2ColumnProps } from './types';\nimport { useTable } from './hooks/useTable';\nimport { useVirtualiser } from './hooks/useVirtualiser';\nimport { Group } from '../Group/Group';\nimport { useGridTemplate } from './hooks/useGridTemplate';\nimport { RowDensityButton } from './components/RowDensityButton';\nimport { ColumnSettingsButton } from './components/ColumnSettingsButton';\nimport { ExpandedRow } from './components/row/ExpandedRow';\nimport { BatchActionsMenu } from './components/BatchActionsMenu';\nimport { Row } from './components/row/Row';\nimport { FiltersButton } from './components/filters/FiltersButton';\nimport { Search } from './components/Search';\nimport { EditModeButton } from './components/EditModeButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type Table2Texts = {\n columns: {\n resize: {\n tooltip: string;\n };\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n menu: {\n hideColumn: string;\n freezeColumns: (count: number) => string;\n unfreezeColumns: string;\n };\n };\n columnSettings: {\n search: string;\n tooltip: string;\n button: string;\n noResults: string;\n };\n editing: {\n button: string;\n tooltip: string;\n tooltipDisabled: string;\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addNewFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isAllOf: string;\n isEmpty: string;\n isNotEmpty: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n footer: {\n summary: {\n records: string;\n selected: string;\n };\n };\n rowDensity: {\n tooltip: string;\n compact: string;\n normal: string;\n comfortable: string;\n spacious: string;\n };\n search: {\n placeholder: string;\n };\n shortcuts: {\n tooltip: string;\n search: string;\n filter: string;\n previousRow: string;\n nextRow: string;\n editCell: string;\n previousColumn: string;\n nextColumn: string;\n rowClick: string;\n selectRow: string;\n selectAllRows: string;\n expandRow: string;\n collapseRow: string;\n };\n};\n\nfunction Column<TType = any>(_: Table2ColumnProps<TType>) {\n return null;\n}\nColumn.displayName = 'Table2Column';\n\nexport type Table2Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: () => void;\n };\n};\n\nconst BaseTable2 = React.forwardRef(function BaseTable2<TType = any>(props: Table2Props<TType>, ref: React.Ref<Table2Ref>) {\n // dom\n const {\n emptyState: EmptyState,\n expandedRowRenderer,\n length = props.data.length,\n loadMore,\n onRowClick,\n onRowDrop,\n toolbarLeft,\n toolbarRight,\n _experimentalActionsForTable,\n _experimentalActionsForTableSummary,\n } = props;\n const tableRef = useMergedRef<Table2Ref>(ref);\n const timeoutIdRef = React.useRef<NodeJS.Timeout>();\n const prevScrollY = React.useRef<number>(0);\n\n // react-table\n const { rows, table, footers } = useTable(props.children, props, tableRef);\n const meta = table.options.meta as TableMeta<TType>;\n\n const { columnVisibility, columnOrder, globalFilter } = table.getState();\n\n React.useEffect(() => {\n if (tableRef.current) {\n tableRef.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n toggleEditing: () => meta.editMode.toggleEditing(),\n };\n }\n }, [table, tableRef.current]);\n\n // If column visibility or order changes then we turn off the edit mode so that control indexes gets computed\n // when user turns on the editing mode again. This is a temporary solution to make sure the keyboard navigation\n // still keeps working on changes in column visibility, order, or both\n React.useEffect(() => {\n meta.resetFocussableColumnIndexes();\n }, [columnVisibility, columnOrder]);\n\n React.useEffect(() => {\n // Whenever edit mode is turned off we reset the focussableColumnIndexes ref to an empty array so that\n // we don't have stale values, in case column visibility or ordering changes\n if (!meta.editMode.isEditing) {\n meta.resetFocussableColumnIndexes();\n }\n }, [meta.editMode.isEditing]);\n\n React.useEffect(() => {\n return () => clearTimeout(timeoutIdRef.current);\n }, []);\n\n // virtualiser\n const { virtualiser, virtualiserOffsets, setExpandedRowSizes } = useVirtualiser({ rows, table }, tableRef);\n\n // css grid\n const gridTemplateColumns = useGridTemplate(table);\n\n // handlers\n const editButtonRef = React.useRef(null);\n\n // support grid like keyboard navigation between cells\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (document.activeElement === tableRef.current) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(0);\n virtualiser.scrollToOffset(0);\n } else {\n meta.moveToPreviousRow(rows, nextIndex => {\n meta.setShouldPauseHoverState(true);\n virtualiser.scrollToIndex(nextIndex - 1);\n });\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(rows.length - 1);\n virtualiser.scrollToOffset(virtualiser.totalSize + 1);\n } else {\n meta.moveToNextRow(rows, nextIndex => {\n meta.setShouldPauseHoverState(true);\n\n // the virtualiser doesn't always scroll right to the bottom for the last row\n if (nextIndex === rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(nextIndex + 2);\n }\n });\n }\n\n return;\n }\n\n const canToggleRowExpansion = table.options.enableExpanding;\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta.activeRowIndex]?.toggleExpanded(false);\n }\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta?.activeRowIndex]?.toggleExpanded(true);\n }\n }\n\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (onRowClick) {\n onRowClick(rows[meta?.activeRowIndex].original);\n }\n\n return;\n }\n\n if (event.key === ' ') {\n event.preventDefault();\n\n if (table.options.enableRowSelection) {\n rows[meta.activeRowIndex]?.toggleSelected();\n }\n\n return;\n }\n\n if (event.ctrlKey || event.metaKey) {\n if (event.key === 'a' && table.options.enableRowSelection) {\n event.preventDefault();\n table.toggleAllRowsSelected();\n }\n\n return;\n }\n }\n };\n\n let handleBlur;\n\n if (meta.editMode.isEditing) {\n handleBlur = (event: React.FocusEvent) => {\n let elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n // we might be focusing on a select or a popover that was triggered from inside the table\n // so see if the element gaining focus is inside a portal and look up its controller\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (portalId) {\n elementGainingFocus = event.currentTarget.querySelector(`[aria-controls=\"${portalId}\"]`) ?? event.relatedTarget;\n }\n\n if (!event.currentTarget?.contains(elementGainingFocus) && elementGainingFocus !== editButtonRef.current) {\n // When we call manually blur on control component while navigating to the next cell, then when this\n // handler is run, the related target is not the next control component and active element is null,\n // that's why we explictly need to check what's the next focussed element in order to figure out whether\n // we should disabled the sorting or not.\n timeoutIdRef.current = setTimeout(() => {\n const parentRow = event.target.closest('[role=\"row\"]');\n const isNewFocussedElementInSameRow = parentRow?.contains(document.activeElement);\n\n // When we manually call blur on control component and focus another component then\n // we have to make sure we\n if (meta.shouldPauseSortingAndFiltering && !isNewFocussedElementInSameRow) {\n // if client side - unpause sorting\n meta.setShouldPauseSortingAndFiltering(false);\n }\n });\n }\n };\n }\n\n // TODO: this can probably be extracted into a hook\n // we only show the pinned shadow on display columns when scrolling is active\n const [scrolled, setScrolled] = React.useState(false);\n\n // extract - infinite loading\n const loadingRef = React.useRef(false);\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !scrolled) {\n setScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && scrolled) {\n setScrolled(false);\n } else if (typeof loadMore === 'function') {\n const scrollY = event.currentTarget.scrollTop;\n const isScrollingDown = scrollY > prevScrollY.current;\n prevScrollY.current = scrollY;\n\n const scrolledPercentage = Math.round(\n (scrollY / (event.currentTarget.scrollHeight - event.currentTarget.clientHeight)) * 100\n );\n\n if (isScrollingDown && !loadingRef.current && scrolledPercentage >= 80) {\n try {\n const isAllRowsSelected = table.getIsAllRowsSelected();\n loadingRef.current = true;\n await loadMore();\n\n if (isAllRowsSelected) {\n table.toggleAllRowsSelected(true);\n }\n } catch (error) {\n console.error(error);\n } finally {\n loadingRef.current = false;\n }\n }\n }\n };\n\n let handleMouseLeave;\n\n if (meta.shouldPauseHoverState) {\n // sometimes the row's onMouseLeave doesn't trigger, this adds some extra redundancy\n handleMouseLeave = () => meta.setShouldPauseHoverState(false);\n }\n\n const className = cn(\n 'bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid auto-rows-max overflow-auto relative rounded group',\n props.className\n );\n\n const enableSettingsButton = table.options.enableHiding || meta.enableColumnReordering;\n const hasInternalToolbar =\n enableSettingsButton ||\n meta.editMode.enableEditMode ||\n table.options.enableColumnFilters ||\n meta.enableRowDensity ||\n table.options.enableGlobalFilter;\n const hasToolbar = hasInternalToolbar || !!toolbarLeft || !toolbarRight;\n\n const frozenColumnIds = table.getLeftVisibleLeafColumns().map(c => c.id);\n\n return (\n <div className=\"-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5\">\n {hasToolbar ? (\n <div className=\"flex flex-wrap gap-2\">\n {toolbarLeft}\n {hasInternalToolbar ? (\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {meta.editMode.enableEditMode ? (\n <EditModeButton\n ref={editButtonRef}\n table={table}\n tableRef={tableRef}\n scrollToIndex={virtualiser.scrollToIndex}\n />\n ) : null}\n {table.options.enableColumnFilters ? <FiltersButton length={length} table={table} /> : null}\n {toolbarRight}\n {meta.enableRowDensity ? <RowDensityButton table={table} /> : null}\n {enableSettingsButton ? <ColumnSettingsButton table={table} /> : null}\n {table.options.enableGlobalFilter ? (\n <Search\n disabled={meta.shouldDisableTableActions}\n onSearch={table.setGlobalFilter}\n value={globalFilter}\n />\n ) : null}\n </Group>\n ) : null}\n {/*<ShortcutsGuideButton table={table} />*/}\n </div>\n ) : null}\n <div\n className={className}\n data-taco=\"table2\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n onScroll={handleScroll}\n ref={tableRef}\n role=\"table\"\n style={{\n gridTemplateColumns,\n gridTemplateRows: rows.length ? undefined : '40px',\n // create a new stacking context so our internal z-indexes don't effect external components\n // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n opacity: 0.999,\n }}\n tabIndex={0}>\n <div className=\"contents\" data-taco=\"table2-header\" role=\"rowgroup\">\n {table.getHeaderGroups().map(headerGroup => (\n <div className=\"contents\" key={headerGroup.id} role=\"row\">\n {headerGroup.headers.map((header, columnIndex) => (\n <Header\n frozenColumnIds={frozenColumnIds}\n key={header.id}\n header={header}\n index={columnIndex}\n isLastColumn={columnIndex === headerGroup.headers.length - 1}\n scrolled={scrolled}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </div>\n ))}\n </div>\n {rows.length ? (\n <div className=\"contents\" data-taco=\"table2-body\" role=\"rowgroup\">\n {virtualiserOffsets.top ? (\n <div style={{ height: virtualiserOffsets.top }} className=\"col-span-full\" />\n ) : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n return (\n <React.Fragment key={row.id}>\n <Row\n className=\"group/row contents\"\n onRowDrop={onRowDrop}\n row={row}\n rowIndex={virtualRow.index}\n table={table}>\n {row.getVisibleCells().map((cell, columnIndex) => (\n <Cell\n cell={cell}\n frozenColumnIds={frozenColumnIds}\n key={`${cell.id}_${cell.getValue()}`}\n index={columnIndex}\n isLastRow={virtualRow.index === rows.length - 1}\n rows={rows}\n rowIndex={virtualRow.index}\n scrolled={scrolled}\n scrollToIndex={virtualiser.scrollToIndex}\n scrollToOffset={virtualiser.scrollToOffset}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </Row>\n {row.getIsExpanded() && expandedRowRenderer ? (\n <ExpandedRow index={virtualRow.index} setSize={setExpandedRowSizes}>\n {expandedRowRenderer(row.original)?.()}\n </ExpandedRow>\n ) : null}\n </React.Fragment>\n );\n })}\n {virtualiserOffsets.bottom ? (\n <div style={{ height: virtualiserOffsets.bottom }} className=\"col-span-full\" />\n ) : null}\n </div>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n <div className=\"contents\" data-taco=\"table2-footer\" role=\"rowgroup\">\n <div role=\"row\" className=\"contents\">\n {table.getFooterGroups().map(footerGroup =>\n footerGroup.headers.map((footer, cellIndex) => (\n <Footer\n key={footer.id}\n footer={footer}\n frozenColumnIds={frozenColumnIds}\n index={cellIndex}\n scrolled={scrolled}\n table={table}>\n {footers[footer.id]\n ? footers[footer.id](rows.map((row: TRow<TType>) => row.original[footer.id]))\n : null}\n </Footer>\n ))\n )}\n </div>\n <Summary length={length ?? rows.length} table={table} />\n </div>\n </div>\n {!!_experimentalActionsForTable &&\n table.options.enableRowSelection &&\n (table.getIsSomeRowsSelected() || table.getIsAllRowsSelected()) ? (\n <BatchActionsMenu<TType>\n className=\"fixed-center-x bottom-0 z-50 mb-4 print:hidden\"\n actionsForTable={_experimentalActionsForTable}\n summary={_experimentalActionsForTableSummary}\n table={table}\n />\n ) : null}\n </div>\n );\n}) as React.ForwardRefExoticComponent<Table2Props<any>> &\n (<TType>(props: Table2Props<TType> & { ref?: React.Ref<Table2Ref> }) => JSX.Element);\n\nconst Summary = ({ length, table }) => {\n const { texts } = useLocalization();\n\n const selectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;\n const label = selectedLength > 0 ? texts.table2.footer.summary.selected : texts.table2.footer.summary.records;\n const total = selectedLength > 0 ? selectedLength : length;\n\n return (\n <div\n className={cn(\n 'sticky bottom-0 left-0 z-10 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]'\n )}>\n {label}&nbsp;\n <strong>{total}</strong>\n </div>\n );\n};\n\nexport type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {\n Column: <TType>(props: Table2ColumnProps<TType>) => JSX.Element | null;\n} & (<TType>(props: Table2Props<TType> & { ref?: React.Ref<Table2Ref> }) => JSX.Element);\n\nconst Table2 = React.forwardRef(function Table2<TType = any>(props: Table2Props<TType>, ref: React.Ref<Table2Ref>) {\n const key = React.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);\n return <BaseTable2 {...props} key={key} ref={ref} />;\n}) as ForwardedTable2WithStatics;\n\nTable2.Column = Column;\n\nexport { Table2 };\nexport type { Table2Props };\nexport type {\n Table2ColumnProps,\n Table2ActionProps,\n Table2RowActionRenderer,\n Table2Settings,\n Table2Filter,\n Table2FilterComparator,\n} from './types';\n"],"names":["Column","_","displayName","BaseTable2","React","forwardRef","props","ref","emptyState","EmptyState","expandedRowRenderer","length","data","loadMore","onRowClick","onRowDrop","toolbarLeft","toolbarRight","_experimentalActionsForTable","_experimentalActionsForTableSummary","tableRef","useMergedRef","timeoutIdRef","useRef","prevScrollY","rows","table","footers","useTable","children","meta","options","columnVisibility","columnOrder","globalFilter","getState","useEffect","current","instance","resetFiltering","resetColumnFilters","resetRowExpansion","resetExpanded","resetRowSelection","resetSorting","toggleEditing","editMode","resetFocussableColumnIndexes","isEditing","clearTimeout","virtualiser","virtualiserOffsets","setExpandedRowSizes","useVirtualiser","gridTemplateColumns","useGridTemplate","editButtonRef","handleKeyDown","event","document","activeElement","key","preventDefault","ctrlKey","metaKey","setActiveRowIndex","scrollToOffset","moveToPreviousRow","nextIndex","setShouldPauseHoverState","scrollToIndex","totalSize","moveToNextRow","scrollTo","scrollHeight","canToggleRowExpansion","enableExpanding","activeRowIndex","toggleExpanded","original","enableRowSelection","toggleSelected","toggleAllRowsSelected","handleBlur","elementGainingFocus","relatedTarget","undefined","portalId","closest","id","currentTarget","querySelector","contains","setTimeout","parentRow","target","isNewFocussedElementInSameRow","shouldPauseSortingAndFiltering","setShouldPauseSortingAndFiltering","scrolled","setScrolled","useState","loadingRef","handleScroll","scrollLeft","scrollY","scrollTop","isScrollingDown","scrolledPercentage","Math","round","clientHeight","isAllRowsSelected","getIsAllRowsSelected","error","console","handleMouseLeave","shouldPauseHoverState","className","cn","enableSettingsButton","enableHiding","enableColumnReordering","hasInternalToolbar","enableEditMode","enableColumnFilters","enableRowDensity","enableGlobalFilter","hasToolbar","frozenColumnIds","getLeftVisibleLeafColumns","map","c","Group","EditModeButton","FiltersButton","RowDensityButton","ColumnSettingsButton","Search","disabled","shouldDisableTableActions","onSearch","setGlobalFilter","value","onBlur","onKeyDown","onMouseLeave","onScroll","role","style","gridTemplateRows","opacity","tabIndex","getHeaderGroups","headerGroup","headers","header","columnIndex","Header","index","isLastColumn","top","height","virtualItems","virtualRow","row","Fragment","Row","rowIndex","getVisibleCells","cell","Cell","getValue","isLastRow","getIsExpanded","ExpandedRow","setSize","bottom","getFooterGroups","footerGroup","footer","cellIndex","Footer","Summary","getIsSomeRowsSelected","BatchActionsMenu","actionsForTable","summary","texts","useLocalization","selectedLength","getSelectedRowModel","label","table2","selected","records","total","Table2","useMemo","String"],"mappings":"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"}
@@ -211,7 +211,6 @@ const ExpandCell = /*#__PURE__*/React__default.memo(({
211
211
  }
212
212
  }))
213
213
  }, /*#__PURE__*/React__default.createElement(IconButton, {
214
- title: isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand,
215
214
  appearance: "discrete",
216
215
  icon: isExpanded ? 'chevron-down' : 'chevron-right',
217
216
  onClick: event => {
@@ -229,7 +228,6 @@ function createRowExpansionColumn(expandedRowRenderer, texts) {
229
228
  }) => /*#__PURE__*/React__default.createElement(Tooltip, {
230
229
  title: table.getIsSomeRowsExpanded() ? texts.table2.columns.expansion.collapseAll : texts.table2.columns.expansion.expandAll
231
230
  }, /*#__PURE__*/React__default.createElement(IconButton, {
232
- title: table.getIsSomeRowsExpanded() ? texts.table2.columns.expansion.collapseAll : texts.table2.columns.expansion.expandAll,
233
231
  appearance: "discrete",
234
232
  className: "-mb-2 -mt-1.5",
235
233
  icon: table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double',
@@ -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, ColumnDef, 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 } 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 footer: () => <span />,\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.deselect : texts.table2.columns.select.select}\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={{ key: 'a', meta: true }} />\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 footer: () => <span />,\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={{ key: isExpanded ? 'ArrowLeft' : 'ArrowRight', meta: true }} />\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 footer: () => <span />,\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 RowActionsCell = React.memo(({ row, actions, actionsLength, isEditing, shouldPauseHoverState, table, texts }: any) => {\n const { isActive, isHovered } = useRowContext();\n\n if ((!isActive && (!isHovered || shouldPauseHoverState)) || isEditing) {\n return null;\n }\n\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);\n\n const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\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 {actionsOnRow.map((button, index) =>\n React.cloneElement(button, {\n appearance: 'discrete',\n className: cn(actionClassName, button.props.className),\n key: index,\n tabIndex,\n tooltip: button.props.shortcut ? (\n <>\n {button.props.tooltip ?? button.props['aria-label']}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n button.props.tooltip ?? button.props['aria-label']\n ),\n })\n )}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.table2.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {actionsInMenu.map((action, i) => (\n <Menu.Item key={i} {...action.props} shortcut={action.props.shortcut}>\n {action.props['aria-label']}\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>(\n rowActions,\n rowActionsLength,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell\n row={row}\n actions={rowActions}\n actionsLength={rowActionsLength}\n texts={texts}\n table={table}\n isEditing={!!table.options.meta?.editMode.isEditing}\n shouldPauseHoverState={!!table.options.meta?.shouldPauseHoverState}\n />\n ),\n footer: () => <span />,\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\nexport function ensureOrdering<TType = unknown>(columns: ColumnDef<TType>[], settingsOrder: string[] | undefined): string[] {\n // internal column come with a defined order\n const internalColumns = columns\n .filter(column => column.id?.startsWith('__') && column.id !== COLUMN_ID_FOR_ACTIONS)\n .map(column => column.id) as string[];\n\n // columns with ordering disabled should be moved to the front\n const orderingDisabled: string[] = [];\n const orderingEnabled: string[] = [];\n\n let orderedColumns = columns;\n\n // if settings is defined, make sure the columns that are actual children are sorted by it\n if (Array.isArray(settingsOrder)) {\n orderedColumns = columns.slice().sort(\n // the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end\n (a, b) => (settingsOrder.indexOf(a.id as string) >>> 0) - (settingsOrder.indexOf(b.id as string) >>> 0)\n );\n }\n\n orderedColumns.forEach(column => {\n if (column.id?.startsWith('__')) {\n return;\n }\n\n if (column.meta?.disableReordering) {\n orderingDisabled.push(column.id as string);\n } else {\n orderingEnabled.push(column.id as string);\n }\n });\n\n const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];\n\n // actions should always be last, enforce that\n if (columns.findIndex(column => column.id === COLUMN_ID_FOR_ACTIONS) > -1) {\n order.push(COLUMN_ID_FOR_ACTIONS);\n }\n\n return order;\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","footer","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","key","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","expandedRowRenderer","isExpanded","hasExpandedRow","expansion","collapse","expand","IconButton","appearance","icon","toggleExpanded","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","RowActionsCell","actions","actionsLength","isEditing","shouldPauseHoverState","isActive","isHovered","useRowContext","visibleActions","action","filter","actionsOnRow","length","actionsInMenu","actionClassName","activeRowIndex","button","cloneElement","cn","props","shortcut","menu","menuProps","Menu","Content","i","Item","createRowActionsColumn","rowActions","rowActionsLength","editMode","ensureOrdering","settingsOrder","internalColumns","column","startsWith","orderingDisabled","orderingEnabled","orderedColumns","Array","isArray","sort","a","b","indexOf","disableReordering","push","order","findIndex"],"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, ColumnDef, 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 } 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 footer: () => <span />,\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.deselect : texts.table2.columns.select.select}\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={{ key: 'a', meta: true }} />\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 footer: () => <span />,\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={{ key: isExpanded ? 'ArrowLeft' : 'ArrowRight', meta: true }} />\n </>\n }>\n <IconButton\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 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 footer: () => <span />,\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 RowActionsCell = React.memo(({ row, actions, actionsLength, isEditing, shouldPauseHoverState, table, texts }: any) => {\n const { isActive, isHovered } = useRowContext();\n\n if ((!isActive && (!isHovered || shouldPauseHoverState)) || isEditing) {\n return null;\n }\n\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);\n\n const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\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 {actionsOnRow.map((button, index) =>\n React.cloneElement(button, {\n appearance: 'discrete',\n className: cn(actionClassName, button.props.className),\n key: index,\n tabIndex,\n tooltip: button.props.shortcut ? (\n <>\n {button.props.tooltip ?? button.props['aria-label']}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n button.props.tooltip ?? button.props['aria-label']\n ),\n })\n )}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.table2.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {actionsInMenu.map((action, i) => (\n <Menu.Item key={i} {...action.props} shortcut={action.props.shortcut}>\n {action.props['aria-label']}\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>(\n rowActions,\n rowActionsLength,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell\n row={row}\n actions={rowActions}\n actionsLength={rowActionsLength}\n texts={texts}\n table={table}\n isEditing={!!table.options.meta?.editMode.isEditing}\n shouldPauseHoverState={!!table.options.meta?.shouldPauseHoverState}\n />\n ),\n footer: () => <span />,\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\nexport function ensureOrdering<TType = unknown>(columns: ColumnDef<TType>[], settingsOrder: string[] | undefined): string[] {\n // internal column come with a defined order\n const internalColumns = columns\n .filter(column => column.id?.startsWith('__') && column.id !== COLUMN_ID_FOR_ACTIONS)\n .map(column => column.id) as string[];\n\n // columns with ordering disabled should be moved to the front\n const orderingDisabled: string[] = [];\n const orderingEnabled: string[] = [];\n\n let orderedColumns = columns;\n\n // if settings is defined, make sure the columns that are actual children are sorted by it\n if (Array.isArray(settingsOrder)) {\n orderedColumns = columns.slice().sort(\n // the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end\n (a, b) => (settingsOrder.indexOf(a.id as string) >>> 0) - (settingsOrder.indexOf(b.id as string) >>> 0)\n );\n }\n\n orderedColumns.forEach(column => {\n if (column.id?.startsWith('__')) {\n return;\n }\n\n if (column.meta?.disableReordering) {\n orderingDisabled.push(column.id as string);\n } else {\n orderingEnabled.push(column.id as string);\n }\n });\n\n const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];\n\n // actions should always be last, enforce that\n if (columns.findIndex(column => column.id === COLUMN_ID_FOR_ACTIONS) > -1) {\n order.push(COLUMN_ID_FOR_ACTIONS);\n }\n\n return order;\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","footer","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","key","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","expandedRowRenderer","isExpanded","hasExpandedRow","expansion","collapse","expand","IconButton","appearance","icon","toggleExpanded","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","RowActionsCell","actions","actionsLength","isEditing","shouldPauseHoverState","isActive","isHovered","useRowContext","visibleActions","action","filter","actionsOnRow","length","actionsInMenu","actionClassName","activeRowIndex","button","cloneElement","cn","props","shortcut","menu","menuProps","Menu","Content","i","Item","createRowActionsColumn","rowActions","rowActionsLength","editMode","ensureOrdering","settingsOrder","internalColumns","column","startsWith","orderingDisabled","orderingEnabled","orderedColumns","Array","isArray","sort","a","b","indexOf","disableReordering","push","order","findIndex"],"mappings":"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"}
@@ -21,7 +21,7 @@ const Tooltip = /*#__PURE__*/forwardRef(function Tooltip(props, ref) {
21
21
  side: placement,
22
22
  sideOffset: 3
23
23
  }), /*#__PURE__*/createElement("div", {
24
- className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900/90 px-2 py-1 text-xs font-bold text-white opacity-90",
24
+ className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white",
25
25
  "data-taco": "tooltip",
26
26
  style: {
27
27
  transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport cn from 'classnames';\n\nexport type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string | JSX.Element;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n const className = cn(otherProps.className);\n\n return (\n <TooltipPrimitive.Root delayDuration={250}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content {...otherProps} asChild className={className} side={placement} sideOffset={3}>\n <div\n className=\"xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900/90 px-2 py-1 text-xs font-bold text-white opacity-90\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}>\n <TooltipPrimitive.Arrow className=\"-mt-px fill-blue-900/90 stroke-blue-900/90\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","className","cn","TooltipPrimitive","delayDuration","asChild","side","sideOffset","style","transformOrigin"],"mappings":";;;;MAgBaA,OAAO,gBAAGC,UAAgB,CAAC,SAASD,OAAO,CAACE,KAAmB,EAAEC,GAA2B;EACrG,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAC3D,MAAMM,SAAS,GAAGC,EAAE,CAACF,UAAU,CAACC,SAAS,CAAC;EAE1C,oBACIP,cAACS,IAAqB;IAACC,aAAa,EAAE;kBAClCV,cAACS,OAAwB;IAACE,OAAO;IAACT,GAAG,EAAEA;KAClCE,QAAQ,CACc,eAC3BJ,cAACS,MAAuB,qBACpBT,cAACS,OAAwB,oBAAKH,UAAU;IAAEK,OAAO;IAACJ,SAAS,EAAEA,SAAS;IAAEK,IAAI,EAAEP,SAAS;IAAEQ,UAAU,EAAE;mBACjGb;IACIO,SAAS,EAAC,4JAA4J;iBAC5J,SAAS;IACnBO,KAAK,EAAE;MACHC,eAAe,EAAE;;kBAErBf,cAACS,KAAsB;IAACF,SAAS,EAAC;IAA+C,EAChFJ,KAAK,CACJ,CACiB,CACL,CACN;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport cn from 'classnames';\n\nexport type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string | JSX.Element;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n const className = cn(otherProps.className);\n\n return (\n <TooltipPrimitive.Root delayDuration={250}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content {...otherProps} asChild className={className} side={placement} sideOffset={3}>\n <div\n className=\"xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}>\n <TooltipPrimitive.Arrow className=\"-mt-px fill-blue-900/90 stroke-blue-900/90\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","className","cn","TooltipPrimitive","delayDuration","asChild","side","sideOffset","style","transformOrigin"],"mappings":";;;;MAgBaA,OAAO,gBAAGC,UAAgB,CAAC,SAASD,OAAO,CAACE,KAAmB,EAAEC,GAA2B;EACrG,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAC3D,MAAMM,SAAS,GAAGC,EAAE,CAACF,UAAU,CAACC,SAAS,CAAC;EAE1C,oBACIP,cAACS,IAAqB;IAACC,aAAa,EAAE;kBAClCV,cAACS,OAAwB;IAACE,OAAO;IAACT,GAAG,EAAEA;KAClCE,QAAQ,CACc,eAC3BJ,cAACS,MAAuB,qBACpBT,cAACS,OAAwB,oBAAKH,UAAU;IAAEK,OAAO;IAACJ,SAAS,EAAEA,SAAS;IAAEK,IAAI,EAAEP,SAAS;IAAEQ,UAAU,EAAE;mBACjGb;IACIO,SAAS,EAAC,8IAA8I;iBAC9I,SAAS;IACnBO,KAAK,EAAE;MACHC,eAAe,EAAE;;kBAErBf,cAACS,KAAsB;IAACF,SAAS,EAAC;IAA+C,EAChFJ,KAAK,CACJ,CACiB,CACL,CACN;AAEhC,CAAC;;;;"}
@@ -3775,7 +3775,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, ref) {
3775
3775
  side: placement,
3776
3776
  sideOffset: 3
3777
3777
  }), /*#__PURE__*/React.createElement("div", {
3778
- className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900/90 px-2 py-1 text-xs font-bold text-white opacity-90",
3778
+ className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white",
3779
3779
  "data-taco": "tooltip",
3780
3780
  style: {
3781
3781
  transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
@@ -7055,8 +7055,16 @@ const replaceWithShortform = key => {
7055
7055
  case 'Space':
7056
7056
  case ' ':
7057
7057
  return '␣';
7058
+ case 'ArrowLeft':
7059
+ return '◄';
7060
+ case 'ArrowRight':
7061
+ return '►';
7062
+ case 'ArrowUp':
7063
+ return '▲';
7064
+ case 'ArrowDown':
7065
+ return '▼';
7058
7066
  default:
7059
- return String(key).toLocaleUpperCase();
7067
+ return key.length === 1 ? key.toLocaleUpperCase() : key;
7060
7068
  }
7061
7069
  };
7062
7070
  const getShortcutText = key => {
@@ -7086,7 +7094,7 @@ const Shortcut = ({
7086
7094
  className: className
7087
7095
  }), texts.map(key => /*#__PURE__*/React__default.createElement("kbd", {
7088
7096
  key: key,
7089
- className: "font-display bg-grey-300/[0.25] rounded px-1 text-center"
7097
+ className: "font-display bg-grey-300/[0.25] rounded-sm px-1 text-center font-bold text-white"
7090
7098
  }, key)));
7091
7099
  };
7092
7100
 
@@ -11754,7 +11762,6 @@ const ExpandCell = /*#__PURE__*/React__default.memo(({
11754
11762
  }
11755
11763
  }))
11756
11764
  }, /*#__PURE__*/React__default.createElement(IconButton, {
11757
- title: isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand,
11758
11765
  appearance: "discrete",
11759
11766
  icon: isExpanded ? 'chevron-down' : 'chevron-right',
11760
11767
  onClick: event => {
@@ -11772,7 +11779,6 @@ function createRowExpansionColumn(expandedRowRenderer, texts) {
11772
11779
  }) => /*#__PURE__*/React__default.createElement(Tooltip, {
11773
11780
  title: table.getIsSomeRowsExpanded() ? texts.table2.columns.expansion.collapseAll : texts.table2.columns.expansion.expandAll
11774
11781
  }, /*#__PURE__*/React__default.createElement(IconButton, {
11775
- title: table.getIsSomeRowsExpanded() ? texts.table2.columns.expansion.collapseAll : texts.table2.columns.expansion.expandAll,
11776
11782
  appearance: "discrete",
11777
11783
  className: "-mb-2 -mt-1.5",
11778
11784
  icon: table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double',
@@ -15151,7 +15157,7 @@ const Summary = ({
15151
15157
  const label = selectedLength > 0 ? texts.table2.footer.summary.selected : texts.table2.footer.summary.records;
15152
15158
  const total = selectedLength > 0 ? selectedLength : length;
15153
15159
  return /*#__PURE__*/React__default.createElement("div", {
15154
- className: cn('sticky bottom-0 left-0 z-10 -mt-10 flex h-10 w-fit items-center bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]')
15160
+ className: cn('sticky bottom-0 left-0 z-10 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]')
15155
15161
  }, label, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, total));
15156
15162
  };
15157
15163
  const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref) {