@economic/taco 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,8 +3,8 @@ import { ColumnFilter as RTColumnFilter, ColumnOrderState, ColumnPinningState, C
3
3
  import { MenuProps } from '../Menu/Menu';
4
4
  export declare type Table3SortDirection = 'asc' | 'desc';
5
5
  export declare type Table3SortFn<TType = unknown> = ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1) | BuiltInSortingFn | 'auto';
6
- export declare type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (value: TValue, row: TType) => JSX.Element | string | null;
7
- export declare type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | null;
6
+ export declare type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (value: TValue, row: TType) => JSX.Element | string | number | null;
7
+ export declare type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;
8
8
  export declare type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);
9
9
  export declare type Table3ColumnAlignment = 'left' | 'center' | 'right';
10
10
  export declare type Table3ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';
@@ -21,31 +21,35 @@ export declare type Table3ColumnControlProps = {
21
21
  value: any;
22
22
  };
23
23
  export declare type Table3ColumnControlRenderer<TType = unknown> = ((props: Table3ColumnControlProps, row?: TType) => JSX.Element) | 'datepicker' | 'input' | 'switch';
24
- export declare type Table3ColumnProps<TType = unknown> = {
25
- accessor: string;
26
- align?: Table3ColumnAlignment;
27
- className?: Table3ColumnClassNameHandler<TType>;
28
- control?: Table3ColumnControlRenderer<TType>;
29
- dataType?: Table3ColumnDataType;
30
- defaultHidden?: boolean;
31
- defaultWidth?: number | 'grow';
32
- enableFiltering?: boolean;
33
- enableHiding?: boolean;
34
- enableOrdering?: boolean;
35
- enableResizing?: boolean;
36
- enableSearch?: boolean;
37
- enableSorting?: boolean;
38
- enableTruncate?: boolean;
39
- footer?: Table3ColumnFooterRenderer;
40
- header: string;
41
- headerClassName?: string;
42
- menu?: Table3ColumnHeaderMenu;
43
- minWidth?: number;
44
- renderer?: Table3ColumnRenderer<unknown, TType>;
45
- sort?: Table3SortDirection;
46
- sortFn?: Table3SortFn<TType>;
47
- tooltip?: string;
48
- };
24
+ declare type ValueOf<T> = T[keyof T];
25
+ export declare type Table3ColumnProps<TType = unknown> = ValueOf<{
26
+ [K in keyof TType]: {
27
+ accessor: K;
28
+ } & {
29
+ align?: Table3ColumnAlignment;
30
+ className?: Table3ColumnClassNameHandler<TType>;
31
+ control?: Table3ColumnControlRenderer<TType>;
32
+ dataType?: Table3ColumnDataType;
33
+ defaultHidden?: boolean;
34
+ defaultWidth?: number | 'grow';
35
+ enableFiltering?: boolean;
36
+ enableHiding?: boolean;
37
+ enableOrdering?: boolean;
38
+ enableResizing?: boolean;
39
+ enableSearch?: boolean;
40
+ enableSorting?: boolean;
41
+ enableTruncate?: boolean;
42
+ footer?: Table3ColumnFooterRenderer;
43
+ header: string;
44
+ headerClassName?: string;
45
+ menu?: Table3ColumnHeaderMenu;
46
+ minWidth?: number;
47
+ renderer?: Table3ColumnRenderer<TType[K], TType>;
48
+ sort?: Table3SortDirection;
49
+ sortFn?: Table3SortFn<TType>;
50
+ tooltip?: string;
51
+ };
52
+ }>;
49
53
  export declare type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';
50
54
  export declare type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';
51
55
  export declare type Table3FontSize = 'small' | 'medium' | 'large';
@@ -8,6 +8,7 @@ import { Input } from '../Input/Input.js';
8
8
  import { Shortcut } from '../Shortcut/Shortcut.js';
9
9
 
10
10
  const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput2(props, ref) {
11
+ var _attributes$ariaLabe, _attributes$placehold;
11
12
  const {
12
13
  findCurrent,
13
14
  findTotal,
@@ -148,12 +149,14 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
148
149
  '!wcag-blue-100': isActive
149
150
  }, props.className);
150
151
  const input = /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
152
+ "aria-label": (_attributes$ariaLabe = attributes['aria-label']) !== null && _attributes$ariaLabe !== void 0 ? _attributes$ariaLabe : texts.searchInput.placeholder,
151
153
  className: className,
152
154
  "data-taco": "search-input2",
153
155
  onBlur: handleBlur,
154
156
  onChange: handleChange,
155
157
  onFocus: handleFocus,
156
158
  onKeyDown: handleKeyDown,
159
+ placeholder: (_attributes$placehold = attributes.placeholder) !== null && _attributes$placehold !== void 0 ? _attributes$placehold : texts.searchInput.placeholder,
157
160
  prefix: /*#__PURE__*/React__default.createElement(IconButton, {
158
161
  "aria-label": texts.searchInput.button,
159
162
  className: "scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125",
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput2.js","sources":["../../../../../../../src/components/SearchInput2/SearchInput2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { useGlobalKeyDown } from '../../hooks/useGlobalKeyDown';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Input } from '../Input/Input';\nimport { Shortcut } from '../Shortcut/Shortcut';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { KeyDownHandlerOptions } from '../../utils/keyboard';\n\ninterface CommonSearchInput2Props\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'onChange' | 'value'> {\n onSearch: (value: string) => void;\n settingsContent?: JSX.Element;\n shortcut?: string | KeyDownHandlerOptions;\n value?: string;\n}\n\ninterface BasicSearchInput2Props extends CommonSearchInput2Props {\n findCurrent?: never;\n findTotal?: never;\n onClickFindNext?: never;\n onClickFindPrevious?: never;\n}\n\ninterface ComplexSearchInput2Props extends CommonSearchInput2Props {\n findCurrent: number | null;\n findTotal: number | null;\n onClickFindNext: () => void;\n onClickFindPrevious: () => void;\n}\n\nexport type SearchInput2Props = BasicSearchInput2Props | ComplexSearchInput2Props;\n\nexport const SearchInput2 = React.forwardRef(function SearchInput2(props: SearchInput2Props, ref: React.Ref<HTMLInputElement>) {\n const {\n findCurrent,\n findTotal,\n onClickFindNext: handleClickFindNext,\n onClickFindPrevious: handleClickFindPrevious,\n onSearch: handleSearch,\n settingsContent,\n shortcut,\n value,\n ...attributes\n } = props;\n const internalRef = useMergedRef<HTMLInputElement>(ref);\n const settingsRef = React.useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = React.useState(value ?? '');\n const [focused, setFocused] = React.useState(false);\n const { texts } = useLocalization();\n const isActive = value?.length;\n const isSynced = internalValue === value;\n const hasFind = handleClickFindNext && handleClickFindPrevious && findCurrent !== undefined && findTotal !== undefined;\n\n useGlobalKeyDown(shortcut, (event: KeyboardEvent) => {\n if (document.activeElement !== internalRef.current) {\n event.preventDefault();\n internalRef.current?.focus();\n }\n });\n\n const handleSubmit = () => {\n handleSearch(internalValue);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n // trigger searches when leaving the field\n handleSubmit();\n\n if (\n settingsRef.current &&\n (settingsRef.current === event.relatedTarget || settingsRef.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n setFocused(false);\n attributes.onBlur?.(event);\n };\n\n const handleChange = event => {\n setInternalValue(event.target.value);\n\n if (!event.target.value) {\n handleClear();\n }\n };\n\n const handleClear = () => {\n requestAnimationFrame(() => internalRef.current?.focus());\n setInternalValue('');\n handleSearch('');\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n attributes.onFocus?.(event);\n setFocused(true);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n props.onKeyDown?.(event);\n\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (hasFind && isActive && isSynced) {\n if (event.shiftKey) {\n handleClickFindPrevious?.();\n } else {\n handleClickFindNext?.();\n }\n } else {\n handleSearch(internalValue);\n }\n return;\n }\n\n if (event.key === 'Escape') {\n handleClear();\n return;\n }\n };\n\n let postfix;\n\n if (!attributes.disabled && !attributes.readOnly && (internalValue || focused)) {\n if (internalValue) {\n postfix = (\n <IconButton\n aria-label={texts.searchInput.clear}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n icon=\"close\"\n onMouseDown={handleClear}\n tabIndex={-1}\n tooltip={\n focused ? (\n <>\n {texts.searchInput.clear} <Shortcut keys=\"Escape\" />\n </>\n ) : (\n texts.searchInput.clear\n )\n }\n />\n );\n }\n\n if (hasFind && isActive) {\n postfix = (\n <>\n <span className=\"text-grey-700 flex h-4 items-center border-r border-black/[0.25] pr-2\">\n {findCurrent ?? 0}/{findTotal ?? 0}\n </span>\n {findCurrent ? (\n <>\n <IconButton\n aria-label={texts.searchInput.findPrevious}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n icon=\"chevron-up\"\n onMouseDown={handleClickFindPrevious}\n tabIndex={-1}\n tooltip={\n focused ? (\n <>\n {texts.searchInput.findPrevious} <Shortcut keys={{ shift: true, key: 'Enter' }} />\n </>\n ) : (\n texts.searchInput.findPrevious\n )\n }\n />\n <IconButton\n aria-label={texts.searchInput.findNext}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n icon=\"chevron-down\"\n onMouseDown={handleClickFindNext}\n tabIndex={-1}\n tooltip={\n focused ? (\n <>\n {texts.searchInput.findNext} <Shortcut keys=\"Enter\" />\n </>\n ) : (\n texts.searchInput.findNext\n )\n }\n />\n </>\n ) : null}\n {postfix}\n </>\n );\n }\n } else if (shortcut && !focused && !internalValue) {\n postfix = <Shortcut keys={shortcut} onClickCapture={() => internalRef.current?.focus()} />;\n }\n\n const className = cn(\n 'peer !pl-7',\n hasFind\n ? {\n '!w-48': !internalValue && !focused,\n '!w-72': internalValue || focused,\n }\n : '!w-48',\n {\n '!wcag-blue-100': isActive,\n },\n props.className\n );\n\n const input = (\n <Input\n {...attributes}\n className={className}\n data-taco=\"search-input2\"\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n prefix={\n <IconButton\n aria-label={texts.searchInput.button}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n disabled={attributes.disabled || attributes.readOnly}\n icon=\"search\"\n onMouseDown={handleSubmit}\n tabIndex={-1}\n tooltip={\n focused && !isSynced ? (\n <>\n {texts.searchInput.button} <Shortcut keys=\"Enter\" />\n </>\n ) : (\n texts.searchInput.button\n )\n }\n />\n }\n postfix={postfix}\n ref={internalRef}\n value={internalValue}\n />\n );\n\n if (settingsContent) {\n const handleSettingsBlur = event => {\n if (event.currentTarget.contains(event.relatedTarget)) {\n return;\n }\n setFocused(false);\n };\n\n return (\n <div className=\"relative [&_[data-taco='input-container']]:z-20\" onBlur={handleSettingsBlur} ref={settingsRef}>\n {input}\n {focused ? (\n <div\n className=\"border-grey-300 absolute left-0 right-0 top-full z-10 flex flex-col gap-y-4 rounded-b border border-t-0 bg-white p-3 shadow\"\n onClickCapture={() => internalRef.current?.focus()}\n tabIndex={-1}>\n {settingsContent}\n </div>\n ) : null}\n </div>\n );\n }\n\n return input;\n});\n"],"names":["SearchInput2","React","forwardRef","props","ref","findCurrent","findTotal","onClickFindNext","handleClickFindNext","onClickFindPrevious","handleClickFindPrevious","onSearch","handleSearch","settingsContent","shortcut","value","attributes","internalRef","useMergedRef","settingsRef","useRef","internalValue","setInternalValue","useState","focused","setFocused","texts","useLocalization","isActive","length","isSynced","hasFind","undefined","useGlobalKeyDown","event","document","activeElement","current","preventDefault","focus","handleSubmit","handleBlur","relatedTarget","contains","onBlur","handleChange","target","handleClear","requestAnimationFrame","handleFocus","onFocus","handleKeyDown","onKeyDown","isDefaultPrevented","key","shiftKey","postfix","disabled","readOnly","IconButton","searchInput","clear","className","icon","onMouseDown","tabIndex","tooltip","Shortcut","keys","findPrevious","shift","findNext","onClickCapture","cn","input","Input","onChange","prefix","button","handleSettingsBlur","currentTarget"],"mappings":"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"}
1
+ {"version":3,"file":"SearchInput2.js","sources":["../../../../../../../src/components/SearchInput2/SearchInput2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { useGlobalKeyDown } from '../../hooks/useGlobalKeyDown';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Input } from '../Input/Input';\nimport { Shortcut } from '../Shortcut/Shortcut';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { KeyDownHandlerOptions } from '../../utils/keyboard';\n\ninterface CommonSearchInput2Props\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'onChange' | 'value'> {\n onSearch: (value: string) => void;\n settingsContent?: JSX.Element;\n shortcut?: string | KeyDownHandlerOptions;\n value?: string;\n}\n\ninterface BasicSearchInput2Props extends CommonSearchInput2Props {\n findCurrent?: never;\n findTotal?: never;\n onClickFindNext?: never;\n onClickFindPrevious?: never;\n}\n\ninterface ComplexSearchInput2Props extends CommonSearchInput2Props {\n findCurrent: number | null;\n findTotal: number | null;\n onClickFindNext: () => void;\n onClickFindPrevious: () => void;\n}\n\nexport type SearchInput2Props = BasicSearchInput2Props | ComplexSearchInput2Props;\n\nexport const SearchInput2 = React.forwardRef(function SearchInput2(props: SearchInput2Props, ref: React.Ref<HTMLInputElement>) {\n const {\n findCurrent,\n findTotal,\n onClickFindNext: handleClickFindNext,\n onClickFindPrevious: handleClickFindPrevious,\n onSearch: handleSearch,\n settingsContent,\n shortcut,\n value,\n ...attributes\n } = props;\n const internalRef = useMergedRef<HTMLInputElement>(ref);\n const settingsRef = React.useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = React.useState(value ?? '');\n const [focused, setFocused] = React.useState(false);\n const { texts } = useLocalization();\n const isActive = value?.length;\n const isSynced = internalValue === value;\n const hasFind = handleClickFindNext && handleClickFindPrevious && findCurrent !== undefined && findTotal !== undefined;\n\n useGlobalKeyDown(shortcut, (event: KeyboardEvent) => {\n if (document.activeElement !== internalRef.current) {\n event.preventDefault();\n internalRef.current?.focus();\n }\n });\n\n const handleSubmit = () => {\n handleSearch(internalValue);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n // trigger searches when leaving the field\n handleSubmit();\n\n if (\n settingsRef.current &&\n (settingsRef.current === event.relatedTarget || settingsRef.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n setFocused(false);\n attributes.onBlur?.(event);\n };\n\n const handleChange = event => {\n setInternalValue(event.target.value);\n\n if (!event.target.value) {\n handleClear();\n }\n };\n\n const handleClear = () => {\n requestAnimationFrame(() => internalRef.current?.focus());\n setInternalValue('');\n handleSearch('');\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n attributes.onFocus?.(event);\n setFocused(true);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n props.onKeyDown?.(event);\n\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (hasFind && isActive && isSynced) {\n if (event.shiftKey) {\n handleClickFindPrevious?.();\n } else {\n handleClickFindNext?.();\n }\n } else {\n handleSearch(internalValue);\n }\n return;\n }\n\n if (event.key === 'Escape') {\n handleClear();\n return;\n }\n };\n\n let postfix;\n\n if (!attributes.disabled && !attributes.readOnly && (internalValue || focused)) {\n if (internalValue) {\n postfix = (\n <IconButton\n aria-label={texts.searchInput.clear}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n icon=\"close\"\n onMouseDown={handleClear}\n tabIndex={-1}\n tooltip={\n focused ? (\n <>\n {texts.searchInput.clear} <Shortcut keys=\"Escape\" />\n </>\n ) : (\n texts.searchInput.clear\n )\n }\n />\n );\n }\n\n if (hasFind && isActive) {\n postfix = (\n <>\n <span className=\"text-grey-700 flex h-4 items-center border-r border-black/[0.25] pr-2\">\n {findCurrent ?? 0}/{findTotal ?? 0}\n </span>\n {findCurrent ? (\n <>\n <IconButton\n aria-label={texts.searchInput.findPrevious}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n icon=\"chevron-up\"\n onMouseDown={handleClickFindPrevious}\n tabIndex={-1}\n tooltip={\n focused ? (\n <>\n {texts.searchInput.findPrevious} <Shortcut keys={{ shift: true, key: 'Enter' }} />\n </>\n ) : (\n texts.searchInput.findPrevious\n )\n }\n />\n <IconButton\n aria-label={texts.searchInput.findNext}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n icon=\"chevron-down\"\n onMouseDown={handleClickFindNext}\n tabIndex={-1}\n tooltip={\n focused ? (\n <>\n {texts.searchInput.findNext} <Shortcut keys=\"Enter\" />\n </>\n ) : (\n texts.searchInput.findNext\n )\n }\n />\n </>\n ) : null}\n {postfix}\n </>\n );\n }\n } else if (shortcut && !focused && !internalValue) {\n postfix = <Shortcut keys={shortcut} onClickCapture={() => internalRef.current?.focus()} />;\n }\n\n const className = cn(\n 'peer !pl-7',\n hasFind\n ? {\n '!w-48': !internalValue && !focused,\n '!w-72': internalValue || focused,\n }\n : '!w-48',\n {\n '!wcag-blue-100': isActive,\n },\n props.className\n );\n\n const input = (\n <Input\n {...attributes}\n aria-label={attributes['aria-label'] ?? texts.searchInput.placeholder}\n className={className}\n data-taco=\"search-input2\"\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={attributes.placeholder ?? texts.searchInput.placeholder}\n prefix={\n <IconButton\n aria-label={texts.searchInput.button}\n className=\"scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125\"\n disabled={attributes.disabled || attributes.readOnly}\n icon=\"search\"\n onMouseDown={handleSubmit}\n tabIndex={-1}\n tooltip={\n focused && !isSynced ? (\n <>\n {texts.searchInput.button} <Shortcut keys=\"Enter\" />\n </>\n ) : (\n texts.searchInput.button\n )\n }\n />\n }\n postfix={postfix}\n ref={internalRef}\n value={internalValue}\n />\n );\n\n if (settingsContent) {\n const handleSettingsBlur = event => {\n if (event.currentTarget.contains(event.relatedTarget)) {\n return;\n }\n setFocused(false);\n };\n\n return (\n <div className=\"relative [&_[data-taco='input-container']]:z-20\" onBlur={handleSettingsBlur} ref={settingsRef}>\n {input}\n {focused ? (\n <div\n className=\"border-grey-300 absolute left-0 right-0 top-full z-10 flex flex-col gap-y-4 rounded-b border border-t-0 bg-white p-3 shadow\"\n onClickCapture={() => internalRef.current?.focus()}\n tabIndex={-1}>\n {settingsContent}\n </div>\n ) : null}\n </div>\n );\n }\n\n return input;\n});\n"],"names":["SearchInput2","React","forwardRef","props","ref","findCurrent","findTotal","onClickFindNext","handleClickFindNext","onClickFindPrevious","handleClickFindPrevious","onSearch","handleSearch","settingsContent","shortcut","value","attributes","internalRef","useMergedRef","settingsRef","useRef","internalValue","setInternalValue","useState","focused","setFocused","texts","useLocalization","isActive","length","isSynced","hasFind","undefined","useGlobalKeyDown","event","document","activeElement","current","preventDefault","focus","handleSubmit","handleBlur","relatedTarget","contains","onBlur","handleChange","target","handleClear","requestAnimationFrame","handleFocus","onFocus","handleKeyDown","onKeyDown","isDefaultPrevented","key","shiftKey","postfix","disabled","readOnly","IconButton","searchInput","clear","className","icon","onMouseDown","tabIndex","tooltip","Shortcut","keys","findPrevious","shift","findNext","onClickCapture","cn","input","Input","placeholder","onChange","prefix","button","handleSettingsBlur","currentTarget"],"mappings":"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"}
@@ -89,7 +89,7 @@ const Table = /*#__PURE__*/React__default.forwardRef(function Table3(props, ref)
89
89
  "data-horizontally-scrolled": tableMeta.columnFreezing.horizontallyScrolled,
90
90
  "data-pause-hover": tableMeta === null || tableMeta === void 0 ? void 0 : tableMeta.hoverState.isPaused,
91
91
  "data-resizing": !!state.columnSizingInfo.isResizingColumn,
92
- "data-taco": "table3",
92
+ "data-taco": "table2",
93
93
  onBlur: handleBlur,
94
94
  onKeyDown: handleKeyDown,
95
95
  onScroll: handleScroll,
@@ -99,6 +99,7 @@ const Table = /*#__PURE__*/React__default.forwardRef(function Table3(props, ref)
99
99
  tabIndex: 0
100
100
  }, isServerLoadingAndNotReady ? null : /*#__PURE__*/React__default.createElement("div", {
101
101
  className: "group/header contents",
102
+ "data-taco": "table2-header",
102
103
  role: "rowgroup"
103
104
  }, table.getHeaderGroups().map(headerGroup => /*#__PURE__*/React__default.createElement("div", {
104
105
  className: "contents",
@@ -111,11 +112,13 @@ const Table = /*#__PURE__*/React__default.forwardRef(function Table3(props, ref)
111
112
  scrollToIndex
112
113
  })))))), table.getRowModel().rows.length ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FocusScope, null, /*#__PURE__*/React__default.createElement("div", {
113
114
  className: "group/body contents",
115
+ "data-taco": "table2-body",
114
116
  role: "rowgroup"
115
117
  }, renderBody(), /*#__PURE__*/React__default.createElement("span", {
116
118
  className: "col-span-full h-16 print:hidden"
117
119
  }))), /*#__PURE__*/React__default.createElement("div", {
118
120
  className: "group/footer contents",
121
+ "data-taco": "table2-footer",
119
122
  role: "rowgroup"
120
123
  }, table.getFooterGroups().map(footerGroup => /*#__PURE__*/React__default.createElement("div", {
121
124
  className: "contents",
@@ -1 +1 @@
1
- {"version":3,"file":"Table3.js","sources":["../../../../../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { flexRender, TableMeta } from '@tanstack/react-table';\nimport { FocusScope } from '@react-aria/focus';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useCssGrid } from './hooks/useCssGrid';\nimport { useTable } from './hooks/useTable';\nimport { useTableRenderStrategy } from './strategies';\nimport { Table3ColumnProps, Table3Props, Table3Ref } from './types';\nimport { Toolbar } from './components/toolbar/Toolbar';\nimport { useColumnFreezingStyle } from './hooks/features/useColumnFreezing';\nimport { useTableRefInstanceSetup } from './hooks/useTableRefInstanceSetup';\nimport { Summary } from './components/columns/footer/Summary';\nimport { useCssVars } from './hooks/useCssVars';\nimport './style.css';\n\nfunction Column<TType = unknown>(_: Table3ColumnProps<TType>) {\n return null;\n}\n\nconst Table = React.forwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const { emptyState: EmptyState, toolbarLeft, toolbarRight } = props;\n const internalRef = useMergedRef<Table3Ref>(ref);\n\n const { table, length } = useTable<TType>(props);\n useTableRefInstanceSetup(table, internalRef);\n\n const { renderBody, scrollToIndex } = useTableRenderStrategy<TType>(props, table, internalRef);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n tableMeta.hoverState.handleKeyDown(event);\n tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);\n tableMeta.rowClick.handleKeyDown(event, table);\n tableMeta.rowSelection.handleKeyDown(event, table);\n tableMeta.editing.handleKeyDown(event, internalRef);\n };\n\n const handleBlur = (event: React.FocusEvent) => {\n tableMeta.editing.handleBlur(event);\n };\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n tableMeta.columnFreezing.handleScroll(event);\n };\n\n const className = cn(\n 'border-grey-300 relative grid h-full w-full flex-grow overflow-auto rounded border bg-white scroll-mt-[41px]',\n 'focus:yt-focus focus-within:yt-focus',\n '[&[data-resizing=\"true\"]]:select-none',\n {\n 'text-xs': tableMeta.fontSize.size === 'small',\n 'text-sm': tableMeta.fontSize.size === 'medium',\n 'text-base': tableMeta.fontSize.size === 'large',\n }\n );\n\n const { style: cssGridStyle } = useCssGrid<TType>(table);\n const { style: cssVars } = useCssVars(tableMeta.rowHeight.height, tableMeta.fontSize.size);\n\n const style = {\n ...cssVars,\n ...cssGridStyle,\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\n const columnFreezingStyle = useColumnFreezingStyle(props.id, table);\n const isServerLoadingAndNotReady = tableMeta.isUsingServer && props.length === undefined;\n\n return (\n <>\n {columnFreezingStyle ? <style data-taco=\"table3-column-freezing-styles\">{columnFreezingStyle}</style> : null}\n <Toolbar\n table={table}\n tableProps={props}\n total={length}\n left={toolbarLeft}\n right={toolbarRight}\n scrollToIndex={scrollToIndex}\n />\n <div\n className={className}\n id={props.id}\n data-font-size={tableMeta.fontSize.size}\n data-editing={tableMeta.editing.isEditing}\n data-horizontally-scrolled={tableMeta.columnFreezing.horizontallyScrolled}\n data-pause-hover={tableMeta?.hoverState.isPaused}\n data-resizing={!!state.columnSizingInfo.isResizingColumn}\n data-taco=\"table3\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onScroll={handleScroll}\n ref={internalRef}\n role=\"table\"\n style={style}\n tabIndex={0}>\n {isServerLoadingAndNotReady ? null : (\n <div className=\"group/header contents\" role=\"rowgroup\">\n {table.getHeaderGroups().map(headerGroup => (\n <div className=\"contents\" key={headerGroup.id} role=\"row\">\n {headerGroup.headers.map(header => (\n <React.Fragment key={header.id}>\n {flexRender(header.column.columnDef.header, { ...header.getContext(), scrollToIndex })}\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n )}\n {table.getRowModel().rows.length ? (\n <>\n <FocusScope>\n <div className=\"group/body contents\" role=\"rowgroup\">\n {renderBody()}\n <span className=\"col-span-full h-16 print:hidden\" />\n </div>\n </FocusScope>\n <div className=\"group/footer contents\" role=\"rowgroup\">\n {table.getFooterGroups().map(footerGroup => (\n <div className=\"contents\" key={footerGroup.id} role=\"row\">\n {footerGroup.headers.map(footer => (\n <React.Fragment key={footer.id}>\n {flexRender(footer.column.columnDef.footer, footer.getContext())}\n </React.Fragment>\n ))}\n </div>\n ))}\n {length ? <Summary length={length} table={table} /> : null}\n </div>\n </>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n </div>\n </>\n );\n}) as Table3WithStatics;\n\ntype Table3WithStatics<TType = unknown> = React.ForwardRefExoticComponent<Table3Props<TType>> & {\n Column: <TType>(props: Table3ColumnProps<TType>) => null;\n} & (<TType>(props: Table3Props<TType> & { ref?: React.Ref<Table3Ref> }) => JSX.Element);\n\nexport const Table3 = React.forwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);\n return <Table {...props} key={key} ref={ref} />;\n}) as Table3WithStatics;\nTable3.Column = Column;\n\n// hooks\nexport { useTable3DataLoader } from './hooks/useTableDataLoader';\n\n// types\nexport type {\n useTable3DataFetcher,\n useTable3DataOptions,\n useTable3DataFetcherValues as useTableDataValues,\n} from './hooks/useTableDataLoader';\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3Preset,\n Table3Settings,\n Table3SettingsAdapter,\n Table3RowHeight,\n Table3FilterComparator,\n Table3FilterHandler,\n Table3SearchHandler,\n Table3LoadPageHandler,\n Table3LoadAllHandler,\n Table3RowGotoHandler,\n Table3SortHandler,\n Table3Shortcuts,\n Table3ShortcutHandlerFn,\n Table3ShortcutHandlerObject,\n Table3FontSize,\n Table3SortDirection,\n Table3SortFn,\n Table3RowActionRenderer,\n Table3RowSelectionHandler,\n Table3RowExpansionRenderer,\n Table3RowDropHandler,\n Table3RowDragHandler,\n Table3RowClickHandler,\n Table3ColumnProps,\n Table3ColumnAlignment,\n Table3ColumnDataType,\n Table3ColumnHeaderMenu,\n Table3ColumnClassNameHandler,\n Table3ColumnFooterRenderer,\n Table3ColumnRenderer,\n Table3ColumnControlRenderer,\n Table3ColumnControlProps,\n} from './types';\n"],"names":["Column","_","Table","React","forwardRef","Table3","props","ref","emptyState","EmptyState","toolbarLeft","toolbarRight","internalRef","useMergedRef","table","length","useTable","useTableRefInstanceSetup","renderBody","scrollToIndex","useTableRenderStrategy","tableMeta","options","meta","state","getState","handleKeyDown","event","hoverState","currentRow","getRowModel","rows","rowClick","rowSelection","editing","handleBlur","handleScroll","columnFreezing","className","cn","fontSize","size","style","cssGridStyle","useCssGrid","cssVars","useCssVars","rowHeight","height","opacity","columnFreezingStyle","useColumnFreezingStyle","id","isServerLoadingAndNotReady","isUsingServer","undefined","Toolbar","tableProps","total","left","right","isEditing","horizontallyScrolled","isPaused","columnSizingInfo","isResizingColumn","onBlur","onKeyDown","onScroll","role","tabIndex","getHeaderGroups","map","headerGroup","key","headers","header","Fragment","flexRender","column","columnDef","getContext","FocusScope","getFooterGroups","footerGroup","footer","Summary","useMemo","String","children"],"mappings":";;;;;;;;;;;;;;;AAgBA,SAASA,MAAM,CAAkBC,CAA2B;EACxD,OAAO,IAAI;AACf;AAEA,MAAMC,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASC,MAAM,CAAkBC,KAAyB,EAAEC,GAAyB;EAChH,MAAM;IAAEC,UAAU,EAAEC,UAAU;IAAEC,WAAW;IAAEC;GAAc,GAAGL,KAAK;EACnE,MAAMM,WAAW,GAAGC,YAAY,CAAYN,GAAG,CAAC;EAEhD,MAAM;IAAEO,KAAK;IAAEC;GAAQ,GAAGC,QAAQ,CAAQV,KAAK,CAAC;EAChDW,wBAAwB,CAACH,KAAK,EAAEF,WAAW,CAAC;EAE5C,MAAM;IAAEM,UAAU;IAAEC;GAAe,GAAGC,sBAAsB,CAAQd,KAAK,EAAEQ,KAAK,EAAEF,WAAW,CAAC;EAC9F,MAAMS,SAAS,GAAGP,KAAK,CAACQ,OAAO,CAACC,IAAwB;EACxD,MAAMC,KAAK,GAAGV,KAAK,CAACW,QAAQ,EAAE;EAE9B,MAAMC,aAAa,GAAIC,KAA0B;IAC7CN,SAAS,CAACO,UAAU,CAACF,aAAa,CAACC,KAAK,CAAC;IACzCN,SAAS,CAACQ,UAAU,CAACH,aAAa,CAACC,KAAK,EAAEb,KAAK,CAACgB,WAAW,EAAE,CAACC,IAAI,CAAChB,MAAM,EAAEI,aAAa,CAAC;IACzFE,SAAS,CAACW,QAAQ,CAACN,aAAa,CAACC,KAAK,EAAEb,KAAK,CAAC;IAC9CO,SAAS,CAACY,YAAY,CAACP,aAAa,CAACC,KAAK,EAAEb,KAAK,CAAC;IAClDO,SAAS,CAACa,OAAO,CAACR,aAAa,CAACC,KAAK,EAAEf,WAAW,CAAC;GACtD;EAED,MAAMuB,UAAU,GAAIR,KAAuB;IACvCN,SAAS,CAACa,OAAO,CAACC,UAAU,CAACR,KAAK,CAAC;GACtC;EAED,MAAMS,YAAY,aAAUT,KAAuC;IAAA;MAC/DN,SAAS,CAACgB,cAAc,CAACD,YAAY,CAACT,KAAK,CAAC;MAAC;KAChD;MAAA;;;EAED,MAAMW,SAAS,GAAGC,EAAE,CAChB,8GAA8G,EAC9G,sCAAsC,EACtC,uCAAuC,EACvC;IACI,SAAS,EAAElB,SAAS,CAACmB,QAAQ,CAACC,IAAI,KAAK,OAAO;IAC9C,SAAS,EAAEpB,SAAS,CAACmB,QAAQ,CAACC,IAAI,KAAK,QAAQ;IAC/C,WAAW,EAAEpB,SAAS,CAACmB,QAAQ,CAACC,IAAI,KAAK;GAC5C,CACJ;EAED,MAAM;IAAEC,KAAK,EAAEC;GAAc,GAAGC,UAAU,CAAQ9B,KAAK,CAAC;EACxD,MAAM;IAAE4B,KAAK,EAAEG;GAAS,GAAGC,UAAU,CAACzB,SAAS,CAAC0B,SAAS,CAACC,MAAM,EAAE3B,SAAS,CAACmB,QAAQ,CAACC,IAAI,CAAC;EAE1F,MAAMC,KAAK,GAAG;IACV,GAAGG,OAAO;IACV,GAAGF,YAAY;;;IAGfM,OAAO,EAAE;GACZ;EAED,MAAMC,mBAAmB,GAAGC,sBAAsB,CAAC7C,KAAK,CAAC8C,EAAE,EAAEtC,KAAK,CAAC;EACnE,MAAMuC,0BAA0B,GAAGhC,SAAS,CAACiC,aAAa,IAAIhD,KAAK,CAACS,MAAM,KAAKwC,SAAS;EAExF,oBACIpD,4DACK+C,mBAAmB,gBAAG/C;iBAAiB;KAAiC+C,mBAAmB,CAAS,GAAG,IAAI,eAC5G/C,6BAACqD,OAAO;IACJ1C,KAAK,EAAEA,KAAK;IACZ2C,UAAU,EAAEnD,KAAK;IACjBoD,KAAK,EAAE3C,MAAM;IACb4C,IAAI,EAAEjD,WAAW;IACjBkD,KAAK,EAAEjD,YAAY;IACnBQ,aAAa,EAAEA;IACjB,eACFhB;IACImC,SAAS,EAAEA,SAAS;IACpBc,EAAE,EAAE9C,KAAK,CAAC8C,EAAE;sBACI/B,SAAS,CAACmB,QAAQ,CAACC,IAAI;oBACzBpB,SAAS,CAACa,OAAO,CAAC2B,SAAS;kCACbxC,SAAS,CAACgB,cAAc,CAACyB,oBAAoB;wBACvDzC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEO,UAAU,CAACmC,QAAQ;qBACjC,CAAC,CAACvC,KAAK,CAACwC,gBAAgB,CAACC,gBAAgB;iBAC9C,QAAQ;IAClBC,MAAM,EAAE/B,UAAU;IAClBgC,SAAS,EAAEzC,aAAa;IACxB0C,QAAQ,EAAEhC,YAAY;IACtB7B,GAAG,EAAEK,WAAW;IAChByD,IAAI,EAAC,OAAO;IACZ3B,KAAK,EAAEA,KAAK;IACZ4B,QAAQ,EAAE;KACTjB,0BAA0B,GAAG,IAAI,gBAC9BlD;IAAKmC,SAAS,EAAC,uBAAuB;IAAC+B,IAAI,EAAC;KACvCvD,KAAK,CAACyD,eAAe,EAAE,CAACC,GAAG,CAACC,WAAW,iBACpCtE;IAAKmC,SAAS,EAAC,UAAU;IAACoC,GAAG,EAAED,WAAW,CAACrB,EAAE;IAAEiB,IAAI,EAAC;KAC/CI,WAAW,CAACE,OAAO,CAACH,GAAG,CAACI,MAAM,iBAC3BzE,6BAACA,cAAK,CAAC0E,QAAQ;IAACH,GAAG,EAAEE,MAAM,CAACxB;KACvB0B,UAAU,CAACF,MAAM,CAACG,MAAM,CAACC,SAAS,CAACJ,MAAM,EAAE;IAAE,GAAGA,MAAM,CAACK,UAAU,EAAE;IAAE9D;GAAe,CAAC,CAE7F,CAAC,CAET,CAAC,CAET,EACAL,KAAK,CAACgB,WAAW,EAAE,CAACC,IAAI,CAAChB,MAAM,gBAC5BZ,yEACIA,6BAAC+E,UAAU,qBACP/E;IAAKmC,SAAS,EAAC,qBAAqB;IAAC+B,IAAI,EAAC;KACrCnD,UAAU,EAAE,eACbf;IAAMmC,SAAS,EAAC;IAAoC,CAClD,CACG,eACbnC;IAAKmC,SAAS,EAAC,uBAAuB;IAAC+B,IAAI,EAAC;KACvCvD,KAAK,CAACqE,eAAe,EAAE,CAACX,GAAG,CAACY,WAAW,iBACpCjF;IAAKmC,SAAS,EAAC,UAAU;IAACoC,GAAG,EAAEU,WAAW,CAAChC,EAAE;IAAEiB,IAAI,EAAC;KAC/Ce,WAAW,CAACT,OAAO,CAACH,GAAG,CAACa,MAAM,iBAC3BlF,6BAACA,cAAK,CAAC0E,QAAQ;IAACH,GAAG,EAAEW,MAAM,CAACjC;KACvB0B,UAAU,CAACO,MAAM,CAACN,MAAM,CAACC,SAAS,CAACK,MAAM,EAAEA,MAAM,CAACJ,UAAU,EAAE,CAAC,CAEvE,CAAC,CAET,CAAC,EACDlE,MAAM,gBAAGZ,6BAACmF,OAAO;IAACvE,MAAM,EAAEA,MAAM;IAAED,KAAK,EAAEA;IAAS,GAAG,IAAI,CACxD,CACP,gBAEHX;IAAKmC,SAAS,EAAC;KAA0C7B,UAAU,gBAAGN,6BAACM,UAAU,OAAG,GAAG,IAAI,CAC9F,CACC,CACP;AAEX,CAAC,CAAsB;MAMVJ,MAAM,gBAAGF,cAAK,CAACC,UAAU,CAAC,SAASC,MAAM,CAAkBC,KAAyB,EAAEC,GAAyB;;;EAGxH,MAAMmE,GAAG,GAAGvE,cAAK,CAACoF,OAAO,CAAC,MAAMC,MAAM,CAAC,WAAW,GAAGA,MAAM,CAAClF,KAAK,CAACmF,QAAQ,CAAC,CAAC,EAAE,CAACnF,KAAK,CAACmF,QAAQ,CAAC,CAAC;EAC/F,oBAAOtF,6BAACD,KAAK,oBAAKI,KAAK;IAAEoE,GAAG,EAAEA,GAAG;IAAEnE,GAAG,EAAEA;KAAO;AACnD,CAAC;AACDF,MAAM,CAACL,MAAM,GAAGA,MAAM;;;;"}
1
+ {"version":3,"file":"Table3.js","sources":["../../../../../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { flexRender, TableMeta } from '@tanstack/react-table';\nimport { FocusScope } from '@react-aria/focus';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useCssGrid } from './hooks/useCssGrid';\nimport { useTable } from './hooks/useTable';\nimport { useTableRenderStrategy } from './strategies';\nimport { Table3ColumnProps, Table3Props, Table3Ref } from './types';\nimport { Toolbar } from './components/toolbar/Toolbar';\nimport { useColumnFreezingStyle } from './hooks/features/useColumnFreezing';\nimport { useTableRefInstanceSetup } from './hooks/useTableRefInstanceSetup';\nimport { Summary } from './components/columns/footer/Summary';\nimport { useCssVars } from './hooks/useCssVars';\nimport './style.css';\n\nfunction Column<TType = unknown>(_: Table3ColumnProps<TType>) {\n return null;\n}\n\nconst Table = React.forwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const { emptyState: EmptyState, toolbarLeft, toolbarRight } = props;\n const internalRef = useMergedRef<Table3Ref>(ref);\n\n const { table, length } = useTable<TType>(props);\n useTableRefInstanceSetup(table, internalRef);\n\n const { renderBody, scrollToIndex } = useTableRenderStrategy<TType>(props, table, internalRef);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n tableMeta.hoverState.handleKeyDown(event);\n tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);\n tableMeta.rowClick.handleKeyDown(event, table);\n tableMeta.rowSelection.handleKeyDown(event, table);\n tableMeta.editing.handleKeyDown(event, internalRef);\n };\n\n const handleBlur = (event: React.FocusEvent) => {\n tableMeta.editing.handleBlur(event);\n };\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n tableMeta.columnFreezing.handleScroll(event);\n };\n\n const className = cn(\n 'border-grey-300 relative grid h-full w-full flex-grow overflow-auto rounded border bg-white scroll-mt-[41px]',\n 'focus:yt-focus focus-within:yt-focus',\n '[&[data-resizing=\"true\"]]:select-none',\n {\n 'text-xs': tableMeta.fontSize.size === 'small',\n 'text-sm': tableMeta.fontSize.size === 'medium',\n 'text-base': tableMeta.fontSize.size === 'large',\n }\n );\n\n const { style: cssGridStyle } = useCssGrid<TType>(table);\n const { style: cssVars } = useCssVars(tableMeta.rowHeight.height, tableMeta.fontSize.size);\n\n const style = {\n ...cssVars,\n ...cssGridStyle,\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\n const columnFreezingStyle = useColumnFreezingStyle(props.id, table);\n const isServerLoadingAndNotReady = tableMeta.isUsingServer && props.length === undefined;\n\n return (\n <>\n {columnFreezingStyle ? <style data-taco=\"table3-column-freezing-styles\">{columnFreezingStyle}</style> : null}\n <Toolbar\n table={table}\n tableProps={props}\n total={length}\n left={toolbarLeft}\n right={toolbarRight}\n scrollToIndex={scrollToIndex}\n />\n <div\n className={className}\n id={props.id}\n data-font-size={tableMeta.fontSize.size}\n data-editing={tableMeta.editing.isEditing}\n data-horizontally-scrolled={tableMeta.columnFreezing.horizontallyScrolled}\n data-pause-hover={tableMeta?.hoverState.isPaused}\n data-resizing={!!state.columnSizingInfo.isResizingColumn}\n data-taco=\"table2\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onScroll={handleScroll}\n ref={internalRef}\n role=\"table\"\n style={style}\n tabIndex={0}>\n {isServerLoadingAndNotReady ? null : (\n <div className=\"group/header 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 => (\n <React.Fragment key={header.id}>\n {flexRender(header.column.columnDef.header, { ...header.getContext(), scrollToIndex })}\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n )}\n {table.getRowModel().rows.length ? (\n <>\n <FocusScope>\n <div className=\"group/body contents\" data-taco=\"table2-body\" role=\"rowgroup\">\n {renderBody()}\n <span className=\"col-span-full h-16 print:hidden\" />\n </div>\n </FocusScope>\n <div className=\"group/footer contents\" data-taco=\"table2-footer\" role=\"rowgroup\">\n {table.getFooterGroups().map(footerGroup => (\n <div className=\"contents\" key={footerGroup.id} role=\"row\">\n {footerGroup.headers.map(footer => (\n <React.Fragment key={footer.id}>\n {flexRender(footer.column.columnDef.footer, footer.getContext())}\n </React.Fragment>\n ))}\n </div>\n ))}\n {length ? <Summary length={length} table={table} /> : null}\n </div>\n </>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n </div>\n </>\n );\n}) as Table3WithStatics;\n\ntype Table3WithStatics<TType = unknown> = React.ForwardRefExoticComponent<Table3Props<TType>> & {\n Column: <TType>(props: Table3ColumnProps<TType>) => null;\n} & (<TType>(props: Table3Props<TType> & { ref?: React.Ref<Table3Ref> }) => JSX.Element);\n\nexport const Table3 = React.forwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);\n return <Table {...props} key={key} ref={ref} />;\n}) as Table3WithStatics;\nTable3.Column = Column;\n\n// hooks\nexport { useTable3DataLoader } from './hooks/useTableDataLoader';\n\n// types\nexport type {\n useTable3DataFetcher,\n useTable3DataOptions,\n useTable3DataFetcherValues as useTableDataValues,\n} from './hooks/useTableDataLoader';\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3Preset,\n Table3Settings,\n Table3SettingsAdapter,\n Table3RowHeight,\n Table3FilterComparator,\n Table3FilterHandler,\n Table3SearchHandler,\n Table3LoadPageHandler,\n Table3LoadAllHandler,\n Table3RowGotoHandler,\n Table3SortHandler,\n Table3Shortcuts,\n Table3ShortcutHandlerFn,\n Table3ShortcutHandlerObject,\n Table3FontSize,\n Table3SortDirection,\n Table3SortFn,\n Table3RowActionRenderer,\n Table3RowSelectionHandler,\n Table3RowExpansionRenderer,\n Table3RowDropHandler,\n Table3RowDragHandler,\n Table3RowClickHandler,\n Table3ColumnProps,\n Table3ColumnAlignment,\n Table3ColumnDataType,\n Table3ColumnHeaderMenu,\n Table3ColumnClassNameHandler,\n Table3ColumnFooterRenderer,\n Table3ColumnRenderer,\n Table3ColumnControlRenderer,\n Table3ColumnControlProps,\n} from './types';\n"],"names":["Column","_","Table","React","forwardRef","Table3","props","ref","emptyState","EmptyState","toolbarLeft","toolbarRight","internalRef","useMergedRef","table","length","useTable","useTableRefInstanceSetup","renderBody","scrollToIndex","useTableRenderStrategy","tableMeta","options","meta","state","getState","handleKeyDown","event","hoverState","currentRow","getRowModel","rows","rowClick","rowSelection","editing","handleBlur","handleScroll","columnFreezing","className","cn","fontSize","size","style","cssGridStyle","useCssGrid","cssVars","useCssVars","rowHeight","height","opacity","columnFreezingStyle","useColumnFreezingStyle","id","isServerLoadingAndNotReady","isUsingServer","undefined","Toolbar","tableProps","total","left","right","isEditing","horizontallyScrolled","isPaused","columnSizingInfo","isResizingColumn","onBlur","onKeyDown","onScroll","role","tabIndex","getHeaderGroups","map","headerGroup","key","headers","header","Fragment","flexRender","column","columnDef","getContext","FocusScope","getFooterGroups","footerGroup","footer","Summary","useMemo","String","children"],"mappings":"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"}
@@ -35,7 +35,7 @@ function useConvertChildrenToColumns(props, options, editing) {
35
35
  React__default.Children.toArray(props.children).filter(child => !!child) // remove falsey children
36
36
  .forEach(child => {
37
37
  if ( /*#__PURE__*/React__default.isValidElement(child) && child.props.accessor) {
38
- var _child$props$minWidth, _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
38
+ var _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
39
39
  if (child.props.defaultWidth) {
40
40
  defaultColumnSizing[child.props.accessor] = child.props.defaultWidth === 'grow' ? '1fr' : child.props.defaultWidth;
41
41
  }
@@ -55,7 +55,7 @@ function useConvertChildrenToColumns(props, options, editing) {
55
55
  cell: Cell,
56
56
  footer: Footer,
57
57
  // sizing
58
- minSize: (_child$props$minWidth = child.props.minWidth) !== null && _child$props$minWidth !== void 0 ? _child$props$minWidth : MIN_COLUMN_SIZE,
58
+ minSize: MIN_COLUMN_SIZE,
59
59
  enableResizing: (_child$props$enableRe = child.props.enableResizing) !== null && _child$props$enableRe !== void 0 ? _child$props$enableRe : true,
60
60
  // filtering
61
61
  enableColumnFilter: (_child$props$enableFi = child.props.enableFiltering) !== null && _child$props$enableFi !== void 0 ? _child$props$enableFi : true,
@@ -1 +1 @@
1
- {"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { ColumnDef, ColumnSizingState, createColumnHelper, ColumnSort, VisibilityState } from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n const columnHelper = createColumnHelper<TType>();\n\n const columns: ColumnDef<TType>[] = [];\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n (React.Children.toArray(props.children) as React.ReactElement<Table3ColumnProps<TType>>[])\n .filter(child => !!child) // remove falsey children\n .forEach(child => {\n if (React.isValidElement<Table3ColumnProps<TType>>(child) && child.props.accessor) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor,\n desc: child.props.sort === 'desc',\n });\n }\n\n columns.push({\n accessorKey: child.props.accessor,\n id: child.props.accessor,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: child.props.minWidth ?? MIN_COLUMN_SIZE,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: options.enableFiltering ? ('tacoFilter' as any) : undefined,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n // react-table global filtering only samples from row 0 in a dataset for filtering and this\n // leads to some columns being disabled if, e.g., a column in row 0 has an undefined value\n // so we do not use the native enableGlobalFilter property and instead use our own enableSearch\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n });\n }\n });\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(createRowSelectionColumn<TType>(options.enableRowDrag ? props.onRowDrag : undefined))\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>(props.actionsForRow, props.actionsForRowLength)));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>()));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","columnHelper","createColumnHelper","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","React","Children","toArray","children","filter","child","forEach","isValidElement","accessor","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","minWidth","MIN_COLUMN_SIZE","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enableSearch","enableTruncate","headerClassName","menu","renderer","tooltip","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","actionsForRow","length","createRowActionsColumn","actionsForRowLength","isEnabled","isEditing","createRowEditingActionsColumn"],"mappings":"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"}
1
+ {"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { ColumnDef, ColumnSizingState, createColumnHelper, ColumnSort, VisibilityState } from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n const columnHelper = createColumnHelper<TType>();\n\n const columns: ColumnDef<TType>[] = [];\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n (React.Children.toArray(props.children) as React.ReactElement<Table3ColumnProps<TType>>[])\n .filter(child => !!child) // remove falsey children\n .forEach(child => {\n if (React.isValidElement<Table3ColumnProps<TType>>(child) && child.props.accessor) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor as string] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor as string] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor as string,\n desc: child.props.sort === 'desc',\n });\n }\n\n columns.push({\n accessorKey: child.props.accessor,\n id: child.props.accessor as string,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: MIN_COLUMN_SIZE,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: options.enableFiltering ? ('tacoFilter' as any) : undefined,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n // react-table global filtering only samples from row 0 in a dataset for filtering and this\n // leads to some columns being disabled if, e.g., a column in row 0 has an undefined value\n // so we do not use the native enableGlobalFilter property and instead use our own enableSearch\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n });\n }\n });\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(createRowSelectionColumn<TType>(options.enableRowDrag ? props.onRowDrag : undefined))\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>(props.actionsForRow, props.actionsForRowLength)));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>()));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","columnHelper","createColumnHelper","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","React","Children","toArray","children","filter","child","forEach","isValidElement","accessor","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","MIN_COLUMN_SIZE","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enableSearch","enableTruncate","headerClassName","menu","renderer","tooltip","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","actionsForRow","length","createRowActionsColumn","actionsForRowLength","isEnabled","isEditing","createRowEditingActionsColumn"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (value: TValue, row: TType) => JSX.Element | string | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch';\n\nexport type Table3ColumnProps<TType = unknown> = {\n accessor: string;\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<unknown, TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n};\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnPinning?: ColumnPinningState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n sorting?: SortingState;\n};\nexport type Table3SettingsAdapter = (settings: Table3Settings) => void;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsOneOf,\n IsNoneOf,\n IsAllOf,\n IsEmpty,\n IsNotEmpty,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3SearchHandler = (query: string | undefined) => Promise<void>;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n children: (React.ReactElement<Table3ColumnProps<TType>> | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsAdapter;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler;\n onSearch?: Table3SearchHandler;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\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 menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: 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 fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IAmGYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,2EAAQ;EACRA,yEAAO;EACPA,0EAAO;EACPA,gFAAU;AACd,CAAC,EAbWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnPinning?: ColumnPinningState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n sorting?: SortingState;\n};\nexport type Table3SettingsAdapter = (settings: Table3Settings) => void;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsOneOf,\n IsNoneOf,\n IsAllOf,\n IsEmpty,\n IsNotEmpty,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3SearchHandler = (query: string | undefined) => Promise<void>;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n children: (React.ReactElement<Table3ColumnProps<TType>> | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsAdapter;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler;\n onSearch?: Table3SearchHandler;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\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 menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: 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 fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA2GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,2EAAQ;EACRA,yEAAO;EACPA,0EAAO;EACPA,gFAAU;AACd,CAAC,EAbWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
@@ -8784,6 +8784,7 @@ const SearchInput = /*#__PURE__*/React.forwardRef(function SearchInput({
8784
8784
  });
8785
8785
 
8786
8786
  const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput2(props, ref) {
8787
+ var _attributes$ariaLabe, _attributes$placehold;
8787
8788
  const {
8788
8789
  findCurrent,
8789
8790
  findTotal,
@@ -8924,12 +8925,14 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
8924
8925
  '!wcag-blue-100': isActive
8925
8926
  }, props.className);
8926
8927
  const input = /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
8928
+ "aria-label": (_attributes$ariaLabe = attributes['aria-label']) !== null && _attributes$ariaLabe !== void 0 ? _attributes$ariaLabe : texts.searchInput.placeholder,
8927
8929
  className: className,
8928
8930
  "data-taco": "search-input2",
8929
8931
  onBlur: handleBlur,
8930
8932
  onChange: handleChange,
8931
8933
  onFocus: handleFocus,
8932
8934
  onKeyDown: handleKeyDown,
8935
+ placeholder: (_attributes$placehold = attributes.placeholder) !== null && _attributes$placehold !== void 0 ? _attributes$placehold : texts.searchInput.placeholder,
8933
8936
  prefix: /*#__PURE__*/React__default.createElement(IconButton, {
8934
8937
  "aria-label": texts.searchInput.button,
8935
8938
  className: "scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125",
@@ -17930,7 +17933,7 @@ function useConvertChildrenToColumns(props, options, editing) {
17930
17933
  React__default.Children.toArray(props.children).filter(child => !!child) // remove falsey children
17931
17934
  .forEach(child => {
17932
17935
  if ( /*#__PURE__*/React__default.isValidElement(child) && child.props.accessor) {
17933
- var _child$props$minWidth, _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
17936
+ var _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
17934
17937
  if (child.props.defaultWidth) {
17935
17938
  defaultColumnSizing[child.props.accessor] = child.props.defaultWidth === 'grow' ? '1fr' : child.props.defaultWidth;
17936
17939
  }
@@ -17950,7 +17953,7 @@ function useConvertChildrenToColumns(props, options, editing) {
17950
17953
  cell: Cell$3,
17951
17954
  footer: Footer$4,
17952
17955
  // sizing
17953
- minSize: (_child$props$minWidth = child.props.minWidth) !== null && _child$props$minWidth !== void 0 ? _child$props$minWidth : MIN_COLUMN_SIZE$1,
17956
+ minSize: MIN_COLUMN_SIZE$1,
17954
17957
  enableResizing: (_child$props$enableRe = child.props.enableResizing) !== null && _child$props$enableRe !== void 0 ? _child$props$enableRe : true,
17955
17958
  // filtering
17956
17959
  enableColumnFilter: (_child$props$enableFi = child.props.enableFiltering) !== null && _child$props$enableFi !== void 0 ? _child$props$enableFi : true,
@@ -20058,7 +20061,7 @@ const Table$1 = /*#__PURE__*/React__default.forwardRef(function Table3(props, re
20058
20061
  "data-horizontally-scrolled": tableMeta.columnFreezing.horizontallyScrolled,
20059
20062
  "data-pause-hover": tableMeta === null || tableMeta === void 0 ? void 0 : tableMeta.hoverState.isPaused,
20060
20063
  "data-resizing": !!state.columnSizingInfo.isResizingColumn,
20061
- "data-taco": "table3",
20064
+ "data-taco": "table2",
20062
20065
  onBlur: handleBlur,
20063
20066
  onKeyDown: handleKeyDown,
20064
20067
  onScroll: handleScroll,
@@ -20068,6 +20071,7 @@ const Table$1 = /*#__PURE__*/React__default.forwardRef(function Table3(props, re
20068
20071
  tabIndex: 0
20069
20072
  }, isServerLoadingAndNotReady ? null : /*#__PURE__*/React__default.createElement("div", {
20070
20073
  className: "group/header contents",
20074
+ "data-taco": "table2-header",
20071
20075
  role: "rowgroup"
20072
20076
  }, table.getHeaderGroups().map(headerGroup => /*#__PURE__*/React__default.createElement("div", {
20073
20077
  className: "contents",
@@ -20080,11 +20084,13 @@ const Table$1 = /*#__PURE__*/React__default.forwardRef(function Table3(props, re
20080
20084
  scrollToIndex
20081
20085
  })))))), table.getRowModel().rows.length ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(focus.FocusScope, null, /*#__PURE__*/React__default.createElement("div", {
20082
20086
  className: "group/body contents",
20087
+ "data-taco": "table2-body",
20083
20088
  role: "rowgroup"
20084
20089
  }, renderBody(), /*#__PURE__*/React__default.createElement("span", {
20085
20090
  className: "col-span-full h-16 print:hidden"
20086
20091
  }))), /*#__PURE__*/React__default.createElement("div", {
20087
20092
  className: "group/footer contents",
20093
+ "data-taco": "table2-footer",
20088
20094
  role: "rowgroup"
20089
20095
  }, table.getFooterGroups().map(footerGroup => /*#__PURE__*/React__default.createElement("div", {
20090
20096
  className: "contents",