@elliemae/ds-data-table 3.24.4 → 3.24.6
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.
- package/dist/cjs/exported-related/FilterPopover/useGetFilterHandlers.js +22 -8
- package/dist/cjs/exported-related/FilterPopover/useGetFilterHandlers.js.map +2 -2
- package/dist/esm/exported-related/FilterPopover/useGetFilterHandlers.js +23 -9
- package/dist/esm/exported-related/FilterPopover/useGetFilterHandlers.js.map +2 -2
- package/package.json +26 -26
|
@@ -35,18 +35,32 @@ var React = __toESM(require("react"));
|
|
|
35
35
|
var import_react = require("react");
|
|
36
36
|
var import_DataTableContext = require("../../DataTableContext.js");
|
|
37
37
|
const emptyFunc = () => null;
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
const useIframeClickCloseWorkaround = ({
|
|
39
|
+
columnId,
|
|
40
|
+
isMenuOpen
|
|
41
|
+
}) => {
|
|
42
|
+
const { patchHeaderFilterButtonAndMenu } = (0, import_react.useContext)(import_DataTableContext.DataTableContext);
|
|
43
|
+
const patchRef = (0, import_react.useRef)(patchHeaderFilterButtonAndMenu);
|
|
41
44
|
(0, import_react.useEffect)(() => {
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
patchRef.current = patchHeaderFilterButtonAndMenu;
|
|
46
|
+
}, [patchHeaderFilterButtonAndMenu]);
|
|
47
|
+
(0, import_react.useEffect)(() => {
|
|
48
|
+
const handleBlur = () => {
|
|
49
|
+
patchRef.current(columnId, true);
|
|
44
50
|
};
|
|
45
|
-
|
|
51
|
+
if (isMenuOpen)
|
|
52
|
+
window.addEventListener("blur", handleBlur);
|
|
53
|
+
else
|
|
54
|
+
window.removeEventListener("blur", handleBlur);
|
|
46
55
|
return () => {
|
|
47
|
-
window.removeEventListener("blur",
|
|
56
|
+
window.removeEventListener("blur", handleBlur);
|
|
48
57
|
};
|
|
49
|
-
}, [columnId,
|
|
58
|
+
}, [columnId, isMenuOpen]);
|
|
59
|
+
};
|
|
60
|
+
const useGetFilterHandlers = (props, isMenuOpen, buttonReference, setIsButtonFocused) => {
|
|
61
|
+
const { columnId, onTriggerClick = emptyFunc, onClickOutsideMenu = emptyFunc } = props;
|
|
62
|
+
useIframeClickCloseWorkaround({ columnId, isMenuOpen });
|
|
63
|
+
const { patchHeaderFilterButtonAndMenu, patchHeader } = (0, import_react.useContext)(import_DataTableContext.DataTableContext);
|
|
50
64
|
const handleTriggerClick = (0, import_react.useCallback)(
|
|
51
65
|
(e) => {
|
|
52
66
|
onTriggerClick(columnId, e);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/FilterPopover/useGetFilterHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-params */\nimport type React from 'react';\nimport { useCallback, useContext, useEffect } from 'react';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport type { FilterPopoverProps } from './types.js';\n\nconst emptyFunc = () => null;\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-params */\nimport type React from 'react';\nimport { useCallback, useContext, useEffect, useRef } from 'react';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport type { FilterPopoverProps } from './types.js';\n\nconst emptyFunc = () => null;\n\n// https://jira.elliemae.io/browse/PUI-12457\nconst useIframeClickCloseWorkaround = ({\n columnId,\n isMenuOpen,\n}: {\n columnId: FilterPopoverProps['columnId'];\n isMenuOpen: boolean;\n}) => {\n // due to how browser handle events when iframes are involved we can only listen to window \"blur\" event to understand if the user clicked on any iframe\n // out of the box the filter are supposed to close when the user clicks outside of the filter contextual region\n // this helper ensure that the filter will close even if the user clicks on an iframe.\n // since we must do vanilla javascript we need to handle this with extreme care and ensure we optimize as much as possible.\n // we want to attach/detach the event listener only when the filter is open and we want to detach it as soon as the filter is closed.\n // this is to ensure that no matter how many columns have filter functionality we only pay the performance cost for the filter that would do anything with it.\n const { patchHeaderFilterButtonAndMenu } = useContext(DataTableContext);\n\n // we only care to invoke the latest version of patchHeaderFilterButtonAndMenu\n // we do not need to reattach the event listener if pathHeaderFilterButtonAndMenu changes\n // event attachment/detachment is more expensive than a simple ref update performance wise.\n const patchRef = useRef(patchHeaderFilterButtonAndMenu);\n useEffect(() => {\n patchRef.current = patchHeaderFilterButtonAndMenu;\n }, [patchHeaderFilterButtonAndMenu]);\n\n // extremely optimized event listener attachment/detachment\n // we run this side effect strictly when required to ensure the best performance possible.\n // it's strictly required when:\n // - the filter is open ( so clicking an iframe will close it )\n // - the columnId changes ( so we close the correct filter )\n // if patchHeaderFilterButtonAndMenu changes we do not care to reattach the event listener\n // as long as the .current ref is updated in time before the close event is triggered.\n // which is guaranteed by:\n // - the fact that we update the ref in the useEffect above\n // - the fact that we invoke patchRef.current as a consquence of the user \"clicking\" on the filter button (which happens after the previous useEffect)\n useEffect(() => {\n // we declare the function locally in the closure to ensure we can detach it later\n // useEffect is run after render, useCallBack is run before render,\n // which means that using useCallback here could potentially cause a memory-leak/dangling reference/attached event listener that is never detached\n const handleBlur = () => {\n patchRef.current(columnId, true);\n };\n\n if (isMenuOpen) window.addEventListener('blur', handleBlur);\n else window.removeEventListener('blur', handleBlur);\n\n return () => {\n window.removeEventListener('blur', handleBlur);\n };\n }, [columnId, isMenuOpen]);\n};\n\nexport const useGetFilterHandlers = (\n props: FilterPopoverProps,\n isMenuOpen: boolean,\n buttonReference: HTMLButtonElement | null,\n setIsButtonFocused: React.Dispatch<React.SetStateAction<boolean>>,\n) => {\n const { columnId, onTriggerClick = emptyFunc, onClickOutsideMenu = emptyFunc } = props;\n useIframeClickCloseWorkaround({ columnId, isMenuOpen });\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n\n const handleTriggerClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n },\n [columnId, isMenuOpen, onTriggerClick, patchHeader],\n );\n\n const handleTriggerOnFocus = useCallback(() => setIsButtonFocused(true), [setIsButtonFocused]);\n const handleTriggerOnBlur = useCallback(() => setIsButtonFocused(false), [setIsButtonFocused]);\n\n const handleClickOutsideMenu = useCallback(() => {\n onClickOutsideMenu(columnId);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n }, [columnId, isMenuOpen, onClickOutsideMenu, patchHeaderFilterButtonAndMenu]);\n\n const handleMenuOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n buttonReference?.focus();\n }\n // Stop propagation for some reason is not enough to prevent scrolling of the datatable\n // so we just prevent default behaviour in this case\n if (['ArrowUp', 'ArrowDown'].includes(e.code)) {\n e.preventDefault();\n }\n },\n [buttonReference, columnId, patchHeader],\n );\n\n return { handleTriggerClick, handleClickOutsideMenu, handleMenuOnKeyDown, handleTriggerOnFocus, handleTriggerOnBlur };\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA2D;AAC3D,8BAAiC;AAGjC,MAAM,YAAY,MAAM;AAGxB,MAAM,gCAAgC,CAAC;AAAA,EACrC;AAAA,EACA;AACF,MAGM;AAOJ,QAAM,EAAE,+BAA+B,QAAI,yBAAW,wCAAgB;AAKtE,QAAM,eAAW,qBAAO,8BAA8B;AACtD,8BAAU,MAAM;AACd,aAAS,UAAU;AAAA,EACrB,GAAG,CAAC,8BAA8B,CAAC;AAYnC,8BAAU,MAAM;AAId,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,UAAU,IAAI;AAAA,IACjC;AAEA,QAAI;AAAY,aAAO,iBAAiB,QAAQ,UAAU;AAAA;AACrD,aAAO,oBAAoB,QAAQ,UAAU;AAElD,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,UAAU;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,UAAU,UAAU,CAAC;AAC3B;AAEO,MAAM,uBAAuB,CAClC,OACA,YACA,iBACA,uBACG;AACH,QAAM,EAAE,UAAU,iBAAiB,WAAW,qBAAqB,UAAU,IAAI;AACjF,gCAA8B,EAAE,UAAU,WAAW,CAAC;AAEtD,QAAM,EAAE,gCAAgC,YAAY,QAAI,yBAAW,wCAAgB;AAEnF,QAAM,yBAAqB;AAAA,IACzB,CAAC,MAA8C;AAC7C,qBAAe,UAAU,CAAC;AAC1B,kBAAY,UAAU,EAAE,gBAAgB,YAAY,kBAAkB,MAAM,CAAC;AAC7E,QAAE,gBAAgB;AAAA,IACpB;AAAA,IACA,CAAC,UAAU,YAAY,gBAAgB,WAAW;AAAA,EACpD;AAEA,QAAM,2BAAuB,0BAAY,MAAM,mBAAmB,IAAI,GAAG,CAAC,kBAAkB,CAAC;AAC7F,QAAM,0BAAsB,0BAAY,MAAM,mBAAmB,KAAK,GAAG,CAAC,kBAAkB,CAAC;AAE7F,QAAM,6BAAyB,0BAAY,MAAM;AAC/C,uBAAmB,QAAQ;AAC3B,QAAI;AAAY,qCAA+B,UAAU,IAAI;AAAA,EAC/D,GAAG,CAAC,UAAU,YAAY,oBAAoB,8BAA8B,CAAC;AAE7E,QAAM,0BAAsB;AAAA,IAC1B,CAAC,MAA2B;AAC1B,QAAE,gBAAgB;AAClB,UAAI,EAAE,SAAS,UAAU;AACvB,oBAAY,UAAU,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACvE,yBAAiB,MAAM;AAAA,MACzB;AAGA,UAAI,CAAC,WAAW,WAAW,EAAE,SAAS,EAAE,IAAI,GAAG;AAC7C,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB,UAAU,WAAW;AAAA,EACzC;AAEA,SAAO,EAAE,oBAAoB,wBAAwB,qBAAqB,sBAAsB,oBAAoB;AACtH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { useCallback, useContext, useEffect } from "react";
|
|
2
|
+
import { useCallback, useContext, useEffect, useRef } from "react";
|
|
3
3
|
import { DataTableContext } from "../../DataTableContext.js";
|
|
4
4
|
const emptyFunc = () => null;
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const useIframeClickCloseWorkaround = ({
|
|
6
|
+
columnId,
|
|
7
|
+
isMenuOpen
|
|
8
|
+
}) => {
|
|
9
|
+
const { patchHeaderFilterButtonAndMenu } = useContext(DataTableContext);
|
|
10
|
+
const patchRef = useRef(patchHeaderFilterButtonAndMenu);
|
|
8
11
|
useEffect(() => {
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
patchRef.current = patchHeaderFilterButtonAndMenu;
|
|
13
|
+
}, [patchHeaderFilterButtonAndMenu]);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const handleBlur = () => {
|
|
16
|
+
patchRef.current(columnId, true);
|
|
11
17
|
};
|
|
12
|
-
|
|
18
|
+
if (isMenuOpen)
|
|
19
|
+
window.addEventListener("blur", handleBlur);
|
|
20
|
+
else
|
|
21
|
+
window.removeEventListener("blur", handleBlur);
|
|
13
22
|
return () => {
|
|
14
|
-
window.removeEventListener("blur",
|
|
23
|
+
window.removeEventListener("blur", handleBlur);
|
|
15
24
|
};
|
|
16
|
-
}, [columnId,
|
|
25
|
+
}, [columnId, isMenuOpen]);
|
|
26
|
+
};
|
|
27
|
+
const useGetFilterHandlers = (props, isMenuOpen, buttonReference, setIsButtonFocused) => {
|
|
28
|
+
const { columnId, onTriggerClick = emptyFunc, onClickOutsideMenu = emptyFunc } = props;
|
|
29
|
+
useIframeClickCloseWorkaround({ columnId, isMenuOpen });
|
|
30
|
+
const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);
|
|
17
31
|
const handleTriggerClick = useCallback(
|
|
18
32
|
(e) => {
|
|
19
33
|
onTriggerClick(columnId, e);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/FilterPopover/useGetFilterHandlers.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport type React from 'react';\nimport { useCallback, useContext, useEffect } from 'react';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport type { FilterPopoverProps } from './types.js';\n\nconst emptyFunc = () => null;\n\
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,aAAa,YAAY,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport type React from 'react';\nimport { useCallback, useContext, useEffect, useRef } from 'react';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport type { FilterPopoverProps } from './types.js';\n\nconst emptyFunc = () => null;\n\n// https://jira.elliemae.io/browse/PUI-12457\nconst useIframeClickCloseWorkaround = ({\n columnId,\n isMenuOpen,\n}: {\n columnId: FilterPopoverProps['columnId'];\n isMenuOpen: boolean;\n}) => {\n // due to how browser handle events when iframes are involved we can only listen to window \"blur\" event to understand if the user clicked on any iframe\n // out of the box the filter are supposed to close when the user clicks outside of the filter contextual region\n // this helper ensure that the filter will close even if the user clicks on an iframe.\n // since we must do vanilla javascript we need to handle this with extreme care and ensure we optimize as much as possible.\n // we want to attach/detach the event listener only when the filter is open and we want to detach it as soon as the filter is closed.\n // this is to ensure that no matter how many columns have filter functionality we only pay the performance cost for the filter that would do anything with it.\n const { patchHeaderFilterButtonAndMenu } = useContext(DataTableContext);\n\n // we only care to invoke the latest version of patchHeaderFilterButtonAndMenu\n // we do not need to reattach the event listener if pathHeaderFilterButtonAndMenu changes\n // event attachment/detachment is more expensive than a simple ref update performance wise.\n const patchRef = useRef(patchHeaderFilterButtonAndMenu);\n useEffect(() => {\n patchRef.current = patchHeaderFilterButtonAndMenu;\n }, [patchHeaderFilterButtonAndMenu]);\n\n // extremely optimized event listener attachment/detachment\n // we run this side effect strictly when required to ensure the best performance possible.\n // it's strictly required when:\n // - the filter is open ( so clicking an iframe will close it )\n // - the columnId changes ( so we close the correct filter )\n // if patchHeaderFilterButtonAndMenu changes we do not care to reattach the event listener\n // as long as the .current ref is updated in time before the close event is triggered.\n // which is guaranteed by:\n // - the fact that we update the ref in the useEffect above\n // - the fact that we invoke patchRef.current as a consquence of the user \"clicking\" on the filter button (which happens after the previous useEffect)\n useEffect(() => {\n // we declare the function locally in the closure to ensure we can detach it later\n // useEffect is run after render, useCallBack is run before render,\n // which means that using useCallback here could potentially cause a memory-leak/dangling reference/attached event listener that is never detached\n const handleBlur = () => {\n patchRef.current(columnId, true);\n };\n\n if (isMenuOpen) window.addEventListener('blur', handleBlur);\n else window.removeEventListener('blur', handleBlur);\n\n return () => {\n window.removeEventListener('blur', handleBlur);\n };\n }, [columnId, isMenuOpen]);\n};\n\nexport const useGetFilterHandlers = (\n props: FilterPopoverProps,\n isMenuOpen: boolean,\n buttonReference: HTMLButtonElement | null,\n setIsButtonFocused: React.Dispatch<React.SetStateAction<boolean>>,\n) => {\n const { columnId, onTriggerClick = emptyFunc, onClickOutsideMenu = emptyFunc } = props;\n useIframeClickCloseWorkaround({ columnId, isMenuOpen });\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n\n const handleTriggerClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n },\n [columnId, isMenuOpen, onTriggerClick, patchHeader],\n );\n\n const handleTriggerOnFocus = useCallback(() => setIsButtonFocused(true), [setIsButtonFocused]);\n const handleTriggerOnBlur = useCallback(() => setIsButtonFocused(false), [setIsButtonFocused]);\n\n const handleClickOutsideMenu = useCallback(() => {\n onClickOutsideMenu(columnId);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n }, [columnId, isMenuOpen, onClickOutsideMenu, patchHeaderFilterButtonAndMenu]);\n\n const handleMenuOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n buttonReference?.focus();\n }\n // Stop propagation for some reason is not enough to prevent scrolling of the datatable\n // so we just prevent default behaviour in this case\n if (['ArrowUp', 'ArrowDown'].includes(e.code)) {\n e.preventDefault();\n }\n },\n [buttonReference, columnId, patchHeader],\n );\n\n return { handleTriggerClick, handleClickOutsideMenu, handleMenuOnKeyDown, handleTriggerOnFocus, handleTriggerOnBlur };\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,aAAa,YAAY,WAAW,cAAc;AAC3D,SAAS,wBAAwB;AAGjC,MAAM,YAAY,MAAM;AAGxB,MAAM,gCAAgC,CAAC;AAAA,EACrC;AAAA,EACA;AACF,MAGM;AAOJ,QAAM,EAAE,+BAA+B,IAAI,WAAW,gBAAgB;AAKtE,QAAM,WAAW,OAAO,8BAA8B;AACtD,YAAU,MAAM;AACd,aAAS,UAAU;AAAA,EACrB,GAAG,CAAC,8BAA8B,CAAC;AAYnC,YAAU,MAAM;AAId,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,UAAU,IAAI;AAAA,IACjC;AAEA,QAAI;AAAY,aAAO,iBAAiB,QAAQ,UAAU;AAAA;AACrD,aAAO,oBAAoB,QAAQ,UAAU;AAElD,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,UAAU;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,UAAU,UAAU,CAAC;AAC3B;AAEO,MAAM,uBAAuB,CAClC,OACA,YACA,iBACA,uBACG;AACH,QAAM,EAAE,UAAU,iBAAiB,WAAW,qBAAqB,UAAU,IAAI;AACjF,gCAA8B,EAAE,UAAU,WAAW,CAAC;AAEtD,QAAM,EAAE,gCAAgC,YAAY,IAAI,WAAW,gBAAgB;AAEnF,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAA8C;AAC7C,qBAAe,UAAU,CAAC;AAC1B,kBAAY,UAAU,EAAE,gBAAgB,YAAY,kBAAkB,MAAM,CAAC;AAC7E,QAAE,gBAAgB;AAAA,IACpB;AAAA,IACA,CAAC,UAAU,YAAY,gBAAgB,WAAW;AAAA,EACpD;AAEA,QAAM,uBAAuB,YAAY,MAAM,mBAAmB,IAAI,GAAG,CAAC,kBAAkB,CAAC;AAC7F,QAAM,sBAAsB,YAAY,MAAM,mBAAmB,KAAK,GAAG,CAAC,kBAAkB,CAAC;AAE7F,QAAM,yBAAyB,YAAY,MAAM;AAC/C,uBAAmB,QAAQ;AAC3B,QAAI;AAAY,qCAA+B,UAAU,IAAI;AAAA,EAC/D,GAAG,CAAC,UAAU,YAAY,oBAAoB,8BAA8B,CAAC;AAE7E,QAAM,sBAAsB;AAAA,IAC1B,CAAC,MAA2B;AAC1B,QAAE,gBAAgB;AAClB,UAAI,EAAE,SAAS,UAAU;AACvB,oBAAY,UAAU,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACvE,yBAAiB,MAAM;AAAA,MACzB;AAGA,UAAI,CAAC,WAAW,WAAW,EAAE,SAAS,EAAE,IAAI,GAAG;AAC7C,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB,UAAU,WAAW;AAAA,EACzC;AAEA,SAAO,EAAE,oBAAoB,wBAAwB,qBAAqB,sBAAsB,oBAAoB;AACtH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-data-table",
|
|
3
|
-
"version": "3.24.
|
|
3
|
+
"version": "3.24.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Data Table",
|
|
6
6
|
"files": [
|
|
@@ -573,36 +573,36 @@
|
|
|
573
573
|
"dependencies": {
|
|
574
574
|
"react-virtual": "~2.10.4",
|
|
575
575
|
"uid": "~2.0.1",
|
|
576
|
-
"@elliemae/ds-button": "3.24.
|
|
577
|
-
"@elliemae/ds-
|
|
578
|
-
"@elliemae/ds-
|
|
579
|
-
"@elliemae/ds-dropdownmenu": "3.24.
|
|
580
|
-
"@elliemae/ds-
|
|
581
|
-
"@elliemae/ds-form-
|
|
582
|
-
"@elliemae/ds-
|
|
583
|
-
"@elliemae/ds-form-
|
|
584
|
-
"@elliemae/ds-form-
|
|
585
|
-
"@elliemae/ds-form-date-time-picker": "3.24.
|
|
586
|
-
"@elliemae/ds-form-layout-blocks": "3.24.
|
|
587
|
-
"@elliemae/ds-
|
|
588
|
-
"@elliemae/ds-form-radio": "3.24.
|
|
589
|
-
"@elliemae/ds-
|
|
590
|
-
"@elliemae/ds-pagination": "3.24.
|
|
591
|
-
"@elliemae/ds-
|
|
592
|
-
"@elliemae/ds-
|
|
593
|
-
"@elliemae/ds-pills-v2": "3.24.
|
|
594
|
-
"@elliemae/ds-
|
|
595
|
-
"@elliemae/ds-
|
|
596
|
-
"@elliemae/ds-system": "3.24.
|
|
597
|
-
"@elliemae/ds-toolbar": "3.24.
|
|
598
|
-
"@elliemae/ds-truncated-tooltip-text": "3.24.
|
|
599
|
-
"@elliemae/ds-utilities": "3.24.
|
|
576
|
+
"@elliemae/ds-button": "3.24.6",
|
|
577
|
+
"@elliemae/ds-button-v2": "3.24.6",
|
|
578
|
+
"@elliemae/ds-drag-and-drop": "3.24.6",
|
|
579
|
+
"@elliemae/ds-dropdownmenu": "3.24.6",
|
|
580
|
+
"@elliemae/ds-form-checkbox": "3.24.6",
|
|
581
|
+
"@elliemae/ds-form-combobox": "3.24.6",
|
|
582
|
+
"@elliemae/ds-circular-progress-indicator": "3.24.6",
|
|
583
|
+
"@elliemae/ds-form-date-range-picker": "3.24.6",
|
|
584
|
+
"@elliemae/ds-form-helpers-mask-hooks": "3.24.6",
|
|
585
|
+
"@elliemae/ds-form-date-time-picker": "3.24.6",
|
|
586
|
+
"@elliemae/ds-form-layout-blocks": "3.24.6",
|
|
587
|
+
"@elliemae/ds-form-input-text": "3.24.6",
|
|
588
|
+
"@elliemae/ds-form-radio": "3.24.6",
|
|
589
|
+
"@elliemae/ds-icons": "3.24.6",
|
|
590
|
+
"@elliemae/ds-pagination": "3.24.6",
|
|
591
|
+
"@elliemae/ds-grid": "3.24.6",
|
|
592
|
+
"@elliemae/ds-props-helpers": "3.24.6",
|
|
593
|
+
"@elliemae/ds-pills-v2": "3.24.6",
|
|
594
|
+
"@elliemae/ds-skeleton": "3.24.6",
|
|
595
|
+
"@elliemae/ds-popperjs": "3.24.6",
|
|
596
|
+
"@elliemae/ds-system": "3.24.6",
|
|
597
|
+
"@elliemae/ds-toolbar": "3.24.6",
|
|
598
|
+
"@elliemae/ds-truncated-tooltip-text": "3.24.6",
|
|
599
|
+
"@elliemae/ds-utilities": "3.24.6"
|
|
600
600
|
},
|
|
601
601
|
"devDependencies": {
|
|
602
602
|
"@elliemae/pui-cli": "~9.0.0-next.31",
|
|
603
603
|
"styled-components": "~5.3.9",
|
|
604
604
|
"styled-system": "~5.1.5",
|
|
605
|
-
"@elliemae/ds-monorepo-devops": "3.24.
|
|
605
|
+
"@elliemae/ds-monorepo-devops": "3.24.6"
|
|
606
606
|
},
|
|
607
607
|
"peerDependencies": {
|
|
608
608
|
"lodash": "^4.17.21",
|