@economic/taco 2.30.1 → 2.30.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +5 -4
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js +7 -9
- package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +1 -3
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +4 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js +5 -5
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/dom.js +1 -4
- package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
- package/dist/taco.cjs.development.js +21 -26
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/dom.d.ts +0 -1
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["// taken from react-aria\nconst FOCUSABLE_ELEMENTS = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]',\n '[tabindex]:not([tabindex=\"-1\"]):not([disabled])',\n 'details:not([disabled])',\n 'summary:not(:disabled)',\n];\n\nexport const hasFocusableElement = (element: HTMLElement | null) => {\n if (!element) {\n return null;\n }\n\n return !!element.querySelector(FOCUSABLE_ELEMENTS.join(','));\n};\n\nexport const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n\nexport const getNextFocussableElement = (currentElement: HTMLElement | null) => {\n if (!currentElement) {\n return null;\n }\n\n const focussableElements = [...document.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS.join(','))];\n const currentElementIndex = focussableElements.indexOf(currentElement);\n\n // If the currentElement is not in the focussable elements list or it is the last element\n if (currentElementIndex !== -1 && currentElementIndex === focussableElements.length - 1) {\n return null;\n }\n\n return focussableElements[currentElementIndex + 1];\n};\n\nconst getOverlaySelector = (element: Element | null) => {\n switch (element?.getAttribute('role')) {\n case 'dialog':\n return `[aria-controls='${element.id}']`;\n\n case 'menu':\n return `#${element.getAttribute('aria-labelledby')}`;\n\n default:\n return undefined;\n }\n};\n\nexport function isElementInsideOrTriggeredFromContainer(element: Element | null, container: Element | null) {\n const selector = getOverlaySelector(element) ?? getOverlaySelector(element?.closest('[role=dialog],[role=menu]') ?? null);\n\n if (selector) {\n if (container?.querySelector(selector)) {\n return true;\n }\n\n const elementInDocument = document.querySelector(selector);\n\n // if the element does exist, see if it is itself connected to somethng that was triggered from the container\n if (elementInDocument) {\n return isElementInsideOrTriggeredFromContainer(elementInDocument, container);\n }\n\n return false;\n }\n\n return !!container?.contains(element);\n}\n\nexport function isElementInsideOverlay(element: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]');\n}\n\nexport function isSiblingElementInsideSameParentOverlay(element: Element | null, sibling: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]')?.contains(sibling);\n}\n\nexport function isElementInteractive(element: Element | null) {\n if (!element) {\n return false;\n }\n\n return (\n ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'].includes(element.tagName) &&\n !(element as HTMLElement).hidden &&\n !(element as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement).disabled &&\n !(element as HTMLInputElement | HTMLTextAreaElement).readOnly\n );\n}\n
|
1
|
+
{"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["// taken from react-aria\nconst FOCUSABLE_ELEMENTS = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]',\n '[tabindex]:not([tabindex=\"-1\"]):not([disabled])',\n 'details:not([disabled])',\n 'summary:not(:disabled)',\n];\n\nexport const hasFocusableElement = (element: HTMLElement | null) => {\n if (!element) {\n return null;\n }\n\n return !!element.querySelector(FOCUSABLE_ELEMENTS.join(','));\n};\n\nexport const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n\nexport const getNextFocussableElement = (currentElement: HTMLElement | null) => {\n if (!currentElement) {\n return null;\n }\n\n const focussableElements = [...document.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS.join(','))];\n const currentElementIndex = focussableElements.indexOf(currentElement);\n\n // If the currentElement is not in the focussable elements list or it is the last element\n if (currentElementIndex !== -1 && currentElementIndex === focussableElements.length - 1) {\n return null;\n }\n\n return focussableElements[currentElementIndex + 1];\n};\n\nconst getOverlaySelector = (element: Element | null) => {\n switch (element?.getAttribute('role')) {\n case 'dialog':\n return `[aria-controls='${element.id}']`;\n\n case 'menu':\n return `#${element.getAttribute('aria-labelledby')}`;\n\n default:\n return undefined;\n }\n};\n\nexport function isElementInsideOrTriggeredFromContainer(element: Element | null, container: Element | null) {\n const selector = getOverlaySelector(element) ?? getOverlaySelector(element?.closest('[role=dialog],[role=menu]') ?? null);\n\n if (selector) {\n if (container?.querySelector(selector)) {\n return true;\n }\n\n const elementInDocument = document.querySelector(selector);\n\n // if the element does exist, see if it is itself connected to somethng that was triggered from the container\n if (elementInDocument) {\n return isElementInsideOrTriggeredFromContainer(elementInDocument, container);\n }\n\n return false;\n }\n\n return !!container?.contains(element);\n}\n\nexport function isElementInsideOverlay(element: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]');\n}\n\nexport function isSiblingElementInsideSameParentOverlay(element: Element | null, sibling: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]')?.contains(sibling);\n}\n\nexport function isElementInteractive(element: Element | null) {\n if (!element) {\n return false;\n }\n\n return (\n ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'].includes(element.tagName) &&\n !(element as HTMLElement).hidden &&\n !(element as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement).disabled &&\n !(element as HTMLInputElement | HTMLTextAreaElement).readOnly\n );\n}\n"],"names":["FOCUSABLE_ELEMENTS","hasFocusableElement","element","querySelector","join","getIndexOfFirstChildOverflowingParent","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width","getNextFocussableElement","currentElement","focussableElements","document","querySelectorAll","currentElementIndex","indexOf","length","getOverlaySelector","getAttribute","id","undefined","isElementInsideOrTriggeredFromContainer","container","selector","_getOverlaySelector","_element$closest","closest","elementInDocument","contains","isElementInsideOverlay","isSiblingElementInsideSameParentOverlay","sibling","_element$closest2","isElementInteractive","includes","tagName","hidden","disabled","readOnly"],"mappings":"AAAA;AACA,MAAMA,kBAAkB,GAAG,CACvB,0CAA0C,EAC1C,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,SAAS,EACT,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,iDAAiD,EACjD,yBAAyB,EACzB,wBAAwB,CAC3B;MAEYC,mBAAmB,GAAIC,OAA2B;EAC3D,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;;EAGf,OAAO,CAAC,CAACA,OAAO,CAACC,aAAa,CAACH,kBAAkB,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE;MAKaC,qCAAqC,GAAGA,CAACH,OAAoB,EAAEI,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGP,OAAO,CAACQ,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACX,OAAO,CAACY,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;MAEaU,wBAAwB,GAAIC,cAAkC;EACvE,IAAI,CAACA,cAAc,EAAE;IACjB,OAAO,IAAI;;EAGf,MAAMC,kBAAkB,GAAG,CAAC,GAAGC,QAAQ,CAACC,gBAAgB,CAActB,kBAAkB,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;EACpG,MAAMmB,mBAAmB,GAAGH,kBAAkB,CAACI,OAAO,CAACL,cAAc,CAAC;;EAGtE,IAAII,mBAAmB,KAAK,CAAC,CAAC,IAAIA,mBAAmB,KAAKH,kBAAkB,CAACK,MAAM,GAAG,CAAC,EAAE;IACrF,OAAO,IAAI;;EAGf,OAAOL,kBAAkB,CAACG,mBAAmB,GAAG,CAAC,CAAC;AACtD;AAEA,MAAMG,kBAAkB,GAAIxB,OAAuB;EAC/C,QAAQA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEyB,YAAY,CAAC,MAAM,CAAC;IACjC,KAAK,QAAQ;MACT,0BAA0BzB,OAAO,CAAC0B,MAAM;IAE5C,KAAK,MAAM;MACP,WAAW1B,OAAO,CAACyB,YAAY,CAAC,iBAAiB,GAAG;IAExD;MACI,OAAOE,SAAS;;AAE5B,CAAC;SAEeC,uCAAuCA,CAAC5B,OAAuB,EAAE6B,SAAyB;;EACtG,MAAMC,QAAQ,IAAAC,mBAAA,GAAGP,kBAAkB,CAACxB,OAAO,CAAC,cAAA+B,mBAAA,cAAAA,mBAAA,GAAIP,kBAAkB,EAAAQ,gBAAA,GAAChC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiC,OAAO,CAAC,2BAA2B,CAAC,cAAAD,gBAAA,cAAAA,gBAAA,GAAI,IAAI,CAAC;EAEzH,IAAIF,QAAQ,EAAE;IACV,IAAID,SAAS,aAATA,SAAS,eAATA,SAAS,CAAE5B,aAAa,CAAC6B,QAAQ,CAAC,EAAE;MACpC,OAAO,IAAI;;IAGf,MAAMI,iBAAiB,GAAGf,QAAQ,CAAClB,aAAa,CAAC6B,QAAQ,CAAC;;IAG1D,IAAII,iBAAiB,EAAE;MACnB,OAAON,uCAAuC,CAACM,iBAAiB,EAAEL,SAAS,CAAC;;IAGhF,OAAO,KAAK;;EAGhB,OAAO,CAAC,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEM,QAAQ,CAACnC,OAAO,CAAC;AACzC;SAEgBoC,sBAAsBA,CAACpC,OAAuB;EAC1D,OAAO,CAAC,EAACA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEiC,OAAO,CAAC,2BAA2B,CAAC;AAC1D;SAEgBI,uCAAuCA,CAACrC,OAAuB,EAAEsC,OAAuB;;EACpG,OAAO,CAAC,EAACtC,OAAO,aAAPA,OAAO,gBAAAuC,iBAAA,GAAPvC,OAAO,CAAEiC,OAAO,CAAC,2BAA2B,CAAC,cAAAM,iBAAA,eAA7CA,iBAAA,CAA+CJ,QAAQ,CAACG,OAAO,CAAC;AAC7E;SAEgBE,oBAAoBA,CAACxC,OAAuB;EACxD,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,KAAK;;EAGhB,OACI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAACyC,QAAQ,CAACzC,OAAO,CAAC0C,OAAO,CAAC,IAC3F,CAAE1C,OAAuB,CAAC2C,MAAM,IAChC,CAAE3C,OAA0F,CAAC4C,QAAQ,IACrG,CAAE5C,OAAkD,CAAC6C,QAAQ;AAErE;;;;"}
|
@@ -4122,9 +4122,6 @@ function isElementInteractive(element) {
|
|
4122
4122
|
}
|
4123
4123
|
return ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'].includes(element.tagName) && !element.hidden && !element.disabled && !element.readOnly;
|
4124
4124
|
}
|
4125
|
-
function isElementInsideTable3OrReport(element) {
|
4126
|
-
return !!(element !== null && element !== void 0 && element.closest('[data-taco^=table]'));
|
4127
|
-
}
|
4128
4125
|
|
4129
4126
|
function isPressingMetaKey(event) {
|
4130
4127
|
return isMacOs() ? event.metaKey : event.ctrlKey;
|
@@ -5826,7 +5823,9 @@ const useCombobox = ({
|
|
5826
5823
|
}
|
5827
5824
|
};
|
5828
5825
|
const handleInputKeyDown = event => {
|
5826
|
+
var _inputRef$current;
|
5829
5827
|
event.persist();
|
5828
|
+
const insideTheTable = !!((_inputRef$current = inputRef.current) !== null && _inputRef$current !== void 0 && _inputRef$current.closest('table, [role="rowgroup"]'));
|
5830
5829
|
if (!event.ctrlKey && !event.metaKey) {
|
5831
5830
|
switch (event.key) {
|
5832
5831
|
case 'Backspace':
|
@@ -5848,7 +5847,7 @@ const useCombobox = ({
|
|
5848
5847
|
}
|
5849
5848
|
case 'Enter':
|
5850
5849
|
{
|
5851
|
-
if (
|
5850
|
+
if (insideTheTable) {
|
5852
5851
|
event.preventDefault();
|
5853
5852
|
if (inline && !open) {
|
5854
5853
|
setOpen(true);
|
@@ -5866,7 +5865,7 @@ const useCombobox = ({
|
|
5866
5865
|
if (open) {
|
5867
5866
|
event.preventDefault();
|
5868
5867
|
} else {
|
5869
|
-
if (!inline && buttonRef.current && !
|
5868
|
+
if (!inline && buttonRef.current && !insideTheTable) {
|
5870
5869
|
buttonRef.current.click();
|
5871
5870
|
}
|
5872
5871
|
}
|
@@ -5886,7 +5885,7 @@ const useCombobox = ({
|
|
5886
5885
|
listRef.current.dispatchEvent(createCustomKeyboardEvent(event));
|
5887
5886
|
}
|
5888
5887
|
if (inline && !open) {
|
5889
|
-
if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && !
|
5888
|
+
if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && !insideTheTable) {
|
5890
5889
|
event.preventDefault();
|
5891
5890
|
const initialIndex = event.key === 'ArrowUp' ? data.length - 1 : 0;
|
5892
5891
|
setCurrentIndex(currentIndex !== undefined ? currentIndex : initialIndex);
|
@@ -8195,13 +8194,12 @@ const Link$1 = /*#__PURE__*/React.forwardRef(function MenuLink(props, ref) {
|
|
8195
8194
|
const Trigger$6 = /*#__PURE__*/React.forwardRef(function MenuTrigger(props, ref) {
|
8196
8195
|
const menu = useCurrentMenu();
|
8197
8196
|
const internalRef = useMergedRef(ref);
|
8198
|
-
const
|
8199
|
-
|
8200
|
-
|
8201
|
-
|
8202
|
-
|
8203
|
-
|
8204
|
-
}
|
8197
|
+
const preventArrowDownShortcut = event => {
|
8198
|
+
var _internalRef$current;
|
8199
|
+
const isRenderedInTable = !!((_internalRef$current = internalRef.current) !== null && _internalRef$current !== void 0 && _internalRef$current.closest('tbody'));
|
8200
|
+
if (isRenderedInTable && event.key === 'ArrowDown') {
|
8201
|
+
var _internalRef$current2, _internalRef$current3;
|
8202
|
+
internalRef === null || internalRef === void 0 ? void 0 : (_internalRef$current2 = internalRef.current) === null || _internalRef$current2 === void 0 ? void 0 : (_internalRef$current3 = _internalRef$current2.parentNode) === null || _internalRef$current3 === void 0 ? void 0 : _internalRef$current3.dispatchEvent(createCustomKeyboardEvent(event));
|
8205
8203
|
}
|
8206
8204
|
};
|
8207
8205
|
React.useEffect(() => {
|
@@ -8212,7 +8210,7 @@ const Trigger$6 = /*#__PURE__*/React.forwardRef(function MenuTrigger(props, ref)
|
|
8212
8210
|
return /*#__PURE__*/React.createElement(DropdownMenuPrimitive.Trigger, Object.assign({}, props, {
|
8213
8211
|
asChild: true,
|
8214
8212
|
ref: internalRef,
|
8215
|
-
onKeyDown:
|
8213
|
+
onKeyDown: preventArrowDownShortcut
|
8216
8214
|
}));
|
8217
8215
|
});
|
8218
8216
|
|
@@ -10420,11 +10418,11 @@ function useTableRowActive(isEnabled = false, initialRowActiveIndex) {
|
|
10420
10418
|
const [rowActiveIndex, setRowActiveIndex] = React__default.useState(initialRowActiveIndex);
|
10421
10419
|
const [rowHoverIndex, setRowHoverIndex] = React__default.useState(undefined);
|
10422
10420
|
const [isHoverStatePaused, setHoverStatePaused] = useIsHoverStatePaused();
|
10423
|
-
const move = (direction, length, scrollToIndex) => {
|
10424
|
-
const nextIndex =
|
10425
|
-
scrollToIndex(nextIndex);
|
10426
|
-
|
10427
|
-
};
|
10421
|
+
const move = (direction, length, scrollToIndex) => setRowActiveIndex(currentIndex => {
|
10422
|
+
const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;
|
10423
|
+
setTimeout(() => scrollToIndex(nextIndex), 1);
|
10424
|
+
return nextIndex;
|
10425
|
+
});
|
10428
10426
|
const onKeyDown = React__default.useCallback((event, length, scrollToIndex) => {
|
10429
10427
|
if (!isEnabled || event.defaultPrevented) {
|
10430
10428
|
return;
|
@@ -11646,12 +11644,11 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11646
11644
|
} = useRowHeightVirtualisation(table);
|
11647
11645
|
// row groups
|
11648
11646
|
const rangeExtractor = useRowGroupVirtualisation(table);
|
11649
|
-
// account for thead and tfoot in the scroll area
|
11647
|
+
// account for thead and tfoot in the scroll area
|
11650
11648
|
const scrollPaddingStart = ROW_HEIGHT_ESTIMATES.medium;
|
11651
11649
|
// column groups offset the bottom padding :shrug:, multiplying by 1.5 ensures the bottom padding remains
|
11652
11650
|
// consistent when there are groups and when there aren't. 1.5 is relatively arbitrary, but it gives alignment
|
11653
11651
|
const scrollPaddingEnd = ROW_HEIGHT_ESTIMATES.medium * (table.getHeaderGroups().length > 1 ? 1.5 : 1);
|
11654
|
-
const scrollMargin = isTableRowGrouped ? 0 : scrollPaddingStart;
|
11655
11652
|
const virtualiser = reactVirtual.useVirtualizer({
|
11656
11653
|
count: rows.length,
|
11657
11654
|
estimateSize,
|
@@ -11659,7 +11656,7 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11659
11656
|
overscan: tableMeta.printing.isPrinting ? rows.length : undefined,
|
11660
11657
|
rangeExtractor,
|
11661
11658
|
// correctly sets top and bottom spacing for the scroll container - very sensitive, don't change
|
11662
|
-
scrollMargin,
|
11659
|
+
scrollMargin: isTableRowGrouped ? 0 : scrollPaddingStart,
|
11663
11660
|
// correctly sets the scroll padding offset, e.g. when keyboard navigating rows in the list
|
11664
11661
|
scrollPaddingStart,
|
11665
11662
|
scrollPaddingEnd: tableMeta.footer.isEnabled ? scrollPaddingEnd * 2 : scrollPaddingEnd
|
@@ -11688,7 +11685,7 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11688
11685
|
// use row 1 not 0, because 0 might be sticky in grouped tables and it's start value will always be 0
|
11689
11686
|
const paddingStartIndex = isTableRowGrouped && rows.length > 1 ? 1 : 0;
|
11690
11687
|
// styling for offsetting rows - this "is" the virtualisation
|
11691
|
-
const [paddingTop, paddingBottom] = virtualItems.length > 0 ? [Math.max(0, (_ref = ((_virtualItems$padding = virtualItems[paddingStartIndex]) === null || _virtualItems$padding === void 0 ? void 0 : _virtualItems$padding.start) - ((_virtualItems$padding2 = virtualItems[paddingStartIndex]) === null || _virtualItems$padding2 === void 0 ? void 0 : _virtualItems$padding2.size)
|
11688
|
+
const [paddingTop, paddingBottom] = virtualItems.length > 0 ? [Math.max(0, (_ref = ((_virtualItems$padding = virtualItems[paddingStartIndex]) === null || _virtualItems$padding === void 0 ? void 0 : _virtualItems$padding.start) - ((_virtualItems$padding2 = virtualItems[paddingStartIndex]) === null || _virtualItems$padding2 === void 0 ? void 0 : _virtualItems$padding2.size)) !== null && _ref !== void 0 ? _ref : 0), Math.max(0, (_ref2 = totalSize - ((_virtualItems = virtualItems[virtualItems.length - 1]) === null || _virtualItems === void 0 ? void 0 : _virtualItems.end)) !== null && _ref2 !== void 0 ? _ref2 : 0)] : [0, 0];
|
11692
11689
|
// ensure default active rows are scrolled to
|
11693
11690
|
React__default.useEffect(() => {
|
11694
11691
|
if (defaultRowActiveIndex) {
|
@@ -11703,7 +11700,7 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11703
11700
|
let content = null;
|
11704
11701
|
if (rows.length) {
|
11705
11702
|
style = {
|
11706
|
-
height: `${totalSize
|
11703
|
+
height: `${totalSize}px`,
|
11707
11704
|
paddingBottom,
|
11708
11705
|
paddingTop
|
11709
11706
|
};
|
@@ -15186,8 +15183,6 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
15186
15183
|
var _listboxRef$current;
|
15187
15184
|
if (open) {
|
15188
15185
|
event.preventDefault();
|
15189
|
-
} else if (isElementInsideTable3OrReport(event.currentTarget)) {
|
15190
|
-
return;
|
15191
15186
|
} else if (!event.ctrlKey && !event.metaKey && (event.key === 'ArrowDown' || /^[a-z0-9]$/i.test(event.key))) {
|
15192
15187
|
setOpen(true);
|
15193
15188
|
}
|