@elliemae/ds-floating-context 3.46.0-rc.2 → 3.46.0-rc.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.
- package/dist/cjs/parts/FloatingWrapper/FloatingWrapper.js +65 -46
- package/dist/cjs/parts/FloatingWrapper/FloatingWrapper.js.map +3 -3
- package/dist/cjs/parts/FloatingWrapper/react-desc-prop-types.js +7 -1
- package/dist/cjs/parts/FloatingWrapper/react-desc-prop-types.js.map +2 -2
- package/dist/esm/parts/FloatingWrapper/FloatingWrapper.js +65 -46
- package/dist/esm/parts/FloatingWrapper/FloatingWrapper.js.map +3 -3
- package/dist/esm/parts/FloatingWrapper/react-desc-prop-types.js +7 -1
- package/dist/esm/parts/FloatingWrapper/react-desc-prop-types.js.map +2 -2
- package/dist/types/parts/FloatingWrapper/react-desc-prop-types.d.ts +6 -4
- package/package.json +6 -6
|
@@ -34,68 +34,87 @@ __export(FloatingWrapper_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(FloatingWrapper_exports);
|
|
35
35
|
var React = __toESM(require("react"));
|
|
36
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
-
var import_react = require("react");
|
|
37
|
+
var import_react = __toESM(require("react"));
|
|
38
38
|
var import_react_dom = require("react-dom");
|
|
39
39
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
40
40
|
var import_styled = require("./styled.js");
|
|
41
41
|
var import_react_desc_prop_types = require("./react-desc-prop-types.js");
|
|
42
42
|
var import_useFloatingWrapper = require("./config/useFloatingWrapper.js");
|
|
43
43
|
var import_constants = require("./constants/index.js");
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
const {
|
|
44
|
+
const ContentComponent = import_react.default.memo(
|
|
45
|
+
({
|
|
47
46
|
children,
|
|
48
47
|
innerRef,
|
|
49
48
|
floatingStyles,
|
|
50
49
|
isOpen,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
withoutPortal,
|
|
51
|
+
animationDuration,
|
|
52
|
+
withoutAnimation,
|
|
53
|
+
handleAnimationEnd,
|
|
54
|
+
xstyledProps
|
|
55
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
56
|
+
import_styled.StyledFloatingWrapper,
|
|
57
|
+
{
|
|
58
|
+
innerRef,
|
|
59
|
+
style: floatingStyles,
|
|
60
|
+
...xstyledProps,
|
|
61
|
+
role: !withoutPortal ? "complementary" : "",
|
|
62
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
63
|
+
import_styled.StyledFloatingAnimation,
|
|
64
|
+
{
|
|
65
|
+
onAnimationEnd: handleAnimationEnd,
|
|
66
|
+
isOpen,
|
|
67
|
+
animationDuration,
|
|
68
|
+
withoutAnimation,
|
|
69
|
+
children
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
);
|
|
75
|
+
const FloatingWrapper = (props) => {
|
|
76
|
+
const { propsWithDefault, xstyledProps } = (0, import_useFloatingWrapper.useFloatingWrapper)(props);
|
|
77
|
+
const { isOpen } = propsWithDefault;
|
|
78
|
+
const { context, onAnimationEnd, onAnimationStartTriggered, ...contentProps } = propsWithDefault;
|
|
79
|
+
const { portalDOMContainer, withoutPortal, withoutAnimation } = context;
|
|
80
|
+
const [isAnimating, setIsAnimating] = import_react.default.useState(false);
|
|
81
|
+
import_react.default.useEffect(() => {
|
|
55
82
|
if (isOpen && !withoutAnimation) {
|
|
56
83
|
setIsAnimating(true);
|
|
84
|
+
onAnimationStartTriggered?.();
|
|
57
85
|
}
|
|
58
|
-
}, [isOpen, withoutAnimation]);
|
|
59
|
-
const
|
|
60
|
-
|
|
86
|
+
}, [isOpen, onAnimationStartTriggered, withoutAnimation]);
|
|
87
|
+
const handleAnimationEnd = import_react.default.useCallback(
|
|
88
|
+
(e) => {
|
|
61
89
|
setIsAnimating(false);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
() => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
66
|
-
import_styled.StyledFloatingWrapper,
|
|
67
|
-
{
|
|
68
|
-
innerRef,
|
|
69
|
-
style: floatingStyles,
|
|
70
|
-
...xstyledProps,
|
|
71
|
-
role: !withoutPortal ? "complementary" : "",
|
|
72
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
73
|
-
import_styled.StyledFloatingAnimation,
|
|
74
|
-
{
|
|
75
|
-
onAnimationEnd: checkAnimationStatus,
|
|
76
|
-
isOpen,
|
|
77
|
-
animationDuration,
|
|
78
|
-
withoutAnimation,
|
|
79
|
-
children
|
|
80
|
-
}
|
|
81
|
-
)
|
|
82
|
-
}
|
|
83
|
-
),
|
|
84
|
-
[
|
|
85
|
-
animationDuration,
|
|
86
|
-
checkAnimationStatus,
|
|
87
|
-
children,
|
|
88
|
-
floatingStyles,
|
|
89
|
-
innerRef,
|
|
90
|
-
isOpen,
|
|
91
|
-
withoutAnimation,
|
|
92
|
-
withoutPortal,
|
|
93
|
-
xstyledProps
|
|
94
|
-
]
|
|
90
|
+
if (onAnimationEnd) onAnimationEnd(e);
|
|
91
|
+
},
|
|
92
|
+
[onAnimationEnd]
|
|
95
93
|
);
|
|
96
94
|
if (isOpen || isAnimating) {
|
|
97
|
-
if (withoutPortal === true)
|
|
98
|
-
|
|
95
|
+
if (withoutPortal === true)
|
|
96
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
97
|
+
ContentComponent,
|
|
98
|
+
{
|
|
99
|
+
xstyledProps,
|
|
100
|
+
...contentProps,
|
|
101
|
+
...context,
|
|
102
|
+
handleAnimationEnd
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
if (!withoutPortal)
|
|
106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: (0, import_react_dom.createPortal)(
|
|
107
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
108
|
+
ContentComponent,
|
|
109
|
+
{
|
|
110
|
+
xstyledProps,
|
|
111
|
+
...contentProps,
|
|
112
|
+
...context,
|
|
113
|
+
handleAnimationEnd
|
|
114
|
+
}
|
|
115
|
+
),
|
|
116
|
+
portalDOMContainer || document.body
|
|
117
|
+
) });
|
|
99
118
|
}
|
|
100
119
|
return null;
|
|
101
120
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/FloatingWrapper/FloatingWrapper.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport { describe, type ValidationMap } from '@elliemae/ds-props-helpers';\nimport { StyledFloatingAnimation, StyledFloatingWrapper } from './styled.js';\nimport { type DSFloatingWrapperT, DSFloatingWrapperPropTypes } from './react-desc-prop-types.js';\nimport { useFloatingWrapper } from './config/useFloatingWrapper.js';\nimport { DSFloatingWrapperName } from './constants/index.js';\n\ntype ContentComponentPropsT = {\n xstyledProps: ReturnType<typeof useFloatingWrapper>['xstyledProps'];\n handleAnimationEnd: React.AnimationEventHandler<HTMLDivElement>;\n // for performance reasons, it's better for pure component to not receive nested objects\n // so the following is just the typescript way of describing we spread the props\n} & Omit<DSFloatingWrapperT.InternalProps, 'context'> &\n DSFloatingWrapperT.InternalProps['context'];\n\nconst ContentComponent = React.memo<ContentComponentPropsT>(\n ({\n children,\n innerRef,\n floatingStyles,\n isOpen,\n withoutPortal,\n animationDuration,\n withoutAnimation,\n handleAnimationEnd,\n xstyledProps,\n }) => (\n <StyledFloatingWrapper\n innerRef={innerRef}\n style={floatingStyles}\n {...xstyledProps}\n role={!withoutPortal ? 'complementary' : ''}\n >\n <StyledFloatingAnimation\n onAnimationEnd={handleAnimationEnd}\n isOpen={isOpen}\n animationDuration={animationDuration}\n withoutAnimation={withoutAnimation}\n >\n {children}\n </StyledFloatingAnimation>\n </StyledFloatingWrapper>\n ),\n);\n\nconst FloatingWrapper: React.ComponentType<DSFloatingWrapperT.Props> = (props) => {\n const { propsWithDefault, xstyledProps } = useFloatingWrapper(props);\n const { isOpen } = propsWithDefault;\n\n const { context, onAnimationEnd, onAnimationStartTriggered, ...contentProps } = propsWithDefault;\n const { portalDOMContainer, withoutPortal, withoutAnimation } = context;\n\n const [isAnimating, setIsAnimating] = React.useState(false);\n React.useEffect(() => {\n if (isOpen && !withoutAnimation) {\n setIsAnimating(true);\n onAnimationStartTriggered?.();\n }\n }, [isOpen, onAnimationStartTriggered, withoutAnimation]);\n\n const handleAnimationEnd = React.useCallback<React.AnimationEventHandler<HTMLDivElement>>(\n (e) => {\n setIsAnimating(false);\n if (onAnimationEnd) onAnimationEnd(e);\n },\n [onAnimationEnd],\n );\n\n if (isOpen || isAnimating) {\n if (withoutPortal === true)\n return (\n <ContentComponent\n xstyledProps={xstyledProps}\n {...contentProps}\n {...context}\n handleAnimationEnd={handleAnimationEnd}\n />\n );\n if (!withoutPortal)\n return (\n <>\n {createPortal(\n <ContentComponent\n xstyledProps={xstyledProps}\n {...contentProps}\n {...context}\n handleAnimationEnd={handleAnimationEnd}\n />,\n portalDOMContainer || document.body,\n )}\n </>\n );\n }\n return null;\n};\n\nFloatingWrapper.displayName = DSFloatingWrapperName;\nconst FloatingWrapperWithSchema = describe(FloatingWrapper);\nFloatingWrapperWithSchema.propTypes = DSFloatingWrapperPropTypes as unknown as ValidationMap<DSFloatingWrapperT.Props>;\nexport { FloatingWrapper, FloatingWrapperWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkCjB;AAlCN,mBAAkB;AAClB,uBAA6B;AAC7B,8BAA6C;AAC7C,oBAA+D;AAC/D,mCAAoE;AACpE,gCAAmC;AACnC,uBAAsC;AAUtC,MAAM,mBAAmB,aAAAA,QAAM;AAAA,EAC7B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,MACN,GAAG;AAAA,MACJ,MAAM,CAAC,gBAAgB,kBAAkB;AAAA,MAEzC;AAAA,QAAC;AAAA;AAAA,UACC,gBAAgB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UAEC;AAAA;AAAA,MACH;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,kBAAiE,CAAC,UAAU;AAChF,QAAM,EAAE,kBAAkB,aAAa,QAAI,8CAAmB,KAAK;AACnE,QAAM,EAAE,OAAO,IAAI;AAEnB,QAAM,EAAE,SAAS,gBAAgB,2BAA2B,GAAG,aAAa,IAAI;AAChF,QAAM,EAAE,oBAAoB,eAAe,iBAAiB,IAAI;AAEhE,QAAM,CAAC,aAAa,cAAc,IAAI,aAAAA,QAAM,SAAS,KAAK;AAC1D,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI,UAAU,CAAC,kBAAkB;AAC/B,qBAAe,IAAI;AACnB,kCAA4B;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,QAAQ,2BAA2B,gBAAgB,CAAC;AAExD,QAAM,qBAAqB,aAAAA,QAAM;AAAA,IAC/B,CAAC,MAAM;AACL,qBAAe,KAAK;AACpB,UAAI,eAAgB,gBAAe,CAAC;AAAA,IACtC;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,MAAI,UAAU,aAAa;AACzB,QAAI,kBAAkB;AACpB,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACC,GAAG;AAAA,UACH,GAAG;AAAA,UACJ;AAAA;AAAA,MACF;AAEJ,QAAI,CAAC;AACH,aACE,2EACG;AAAA,QACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACC,GAAG;AAAA,YACH,GAAG;AAAA,YACJ;AAAA;AAAA,QACF;AAAA,QACA,sBAAsB,SAAS;AAAA,MACjC,GACF;AAAA,EAEN;AACA,SAAO;AACT;AAEA,gBAAgB,cAAc;AAC9B,MAAM,gCAA4B,kCAAS,eAAe;AAC1D,0BAA0B,YAAY;",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -57,7 +57,13 @@ const DSFloatingWrapperPropTypes = {
|
|
|
57
57
|
withoutPortal: import_ds_props_helpers.PropTypes.bool.description("Whether to render the floating wrapper without a portal"),
|
|
58
58
|
animationDuration: import_ds_props_helpers.PropTypes.number.description("Duration of the animation"),
|
|
59
59
|
withoutAnimation: import_ds_props_helpers.PropTypes.bool.description("Whether to render the floating wrapper without animation")
|
|
60
|
-
}).description("Context for the floating wrapper")
|
|
60
|
+
}).description("Context for the floating wrapper"),
|
|
61
|
+
onAnimationStartTriggered: import_ds_props_helpers.PropTypes.func.description(
|
|
62
|
+
"Callback invoked when the component trigger the animation start. Required to properly position nested floating context without visual artefacts in case animations are used."
|
|
63
|
+
),
|
|
64
|
+
onAnimationEnd: import_ds_props_helpers.PropTypes.func.description(
|
|
65
|
+
"Callback when the animation ends. Required to properly position nested floating context without visual artefacts in case animations are used."
|
|
66
|
+
)
|
|
61
67
|
};
|
|
62
68
|
const DSFloatingWrapperPropTypesSchema = DSFloatingWrapperPropTypes;
|
|
63
69
|
//# sourceMappingURL=react-desc-prop-types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/FloatingWrapper/react-desc-prop-types.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSFloatingWrapperName, DSFloatingWrapperSlots } from './constants/index.js';\n\nexport declare namespace DSFloatingWrapperT {\n export interface RequiredProps {\n children:
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,8BAKO;AAEP,uBAA8D;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSFloatingWrapperName, DSFloatingWrapperSlots } from './constants/index.js';\n\nexport declare namespace DSFloatingWrapperT {\n export interface RequiredProps {\n children: TypescriptHelpersT.ReactChildrenComplete;\n innerRef: TypescriptHelpersT.AnyRef<HTMLDivElement>;\n isOpen: boolean;\n floatingStyles: React.CSSProperties;\n }\n\n export interface DefaultProps {\n context: {\n portalDOMContainer: HTMLElement;\n withoutPortal: boolean;\n animationDuration: number;\n withoutAnimation: boolean;\n };\n }\n\n export interface OptionalProps\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSFloatingWrapperName, typeof DSFloatingWrapperSlots> {\n onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement>;\n onAnimationStartTriggered?: () => void;\n }\n\n export interface Props\n extends Partial<DefaultProps>,\n RequiredProps,\n OptionalProps,\n Omit<\n GlobalAttributesT<HTMLElement>,\n keyof DefaultProps | keyof OptionalProps | keyof RequiredProps | keyof XstyledProps\n >,\n XstyledProps {}\n\n export interface InternalProps\n extends DefaultProps,\n RequiredProps,\n OptionalProps,\n Omit<\n GlobalAttributesT<HTMLElement>,\n keyof DefaultProps | keyof OptionalProps | keyof RequiredProps | keyof XstyledProps\n >,\n XstyledProps {}\n\n export type ExampleState = '0' | '1';\n}\n\nexport const defaultProps: Partial<DSFloatingWrapperT.DefaultProps> = {\n context: {\n portalDOMContainer: document.body,\n withoutPortal: false,\n animationDuration: 300,\n withoutAnimation: false,\n },\n};\n\nexport const DSFloatingWrapperPropTypes: DSPropTypesSchema<DSFloatingWrapperT.InternalProps> = {\n ...getPropsPerSlotPropTypes(DSFloatingWrapperName, DSFloatingWrapperSlots),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n children: PropTypes.node.description('Content of the floating wrapper').isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).description('Ref for the floating wrapper')\n .isRequired,\n isOpen: PropTypes.bool.description('Whether the floating wrapper is open').isRequired,\n floatingStyles: PropTypes.object.description('Style for the floating wrapper').isRequired,\n context: PropTypes.shape({\n portalDOMContainer: PropTypes.instanceOf(HTMLElement).description('DOM container for the portal'),\n withoutPortal: PropTypes.bool.description('Whether to render the floating wrapper without a portal'),\n animationDuration: PropTypes.number.description('Duration of the animation'),\n withoutAnimation: PropTypes.bool.description('Whether to render the floating wrapper without animation'),\n }).description('Context for the floating wrapper'),\n onAnimationStartTriggered: PropTypes.func.description(\n 'Callback invoked when the component trigger the animation start. Required to properly position nested floating context without visual artefacts in case animations are used.',\n ),\n onAnimationEnd: PropTypes.func.description(\n 'Callback when the animation ends. Required to properly position nested floating context without visual artefacts in case animations are used.',\n ),\n};\n\nexport const DSFloatingWrapperPropTypesSchema =\n DSFloatingWrapperPropTypes as unknown as ValidationMap<DSFloatingWrapperT.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,8BAKO;AAEP,uBAA8D;AAgDvD,MAAM,eAAyD;AAAA,EACpE,SAAS;AAAA,IACP,oBAAoB,SAAS;AAAA,IAC7B,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,EACpB;AACF;AAEO,MAAM,6BAAkF;AAAA,EAC7F,OAAG,kDAAyB,wCAAuB,uCAAsB;AAAA,EACzE,GAAG;AAAA,EACH,GAAG;AAAA,EACH,UAAU,kCAAU,KAAK,YAAY,iCAAiC,EAAE;AAAA,EACxE,UAAU,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,IAAI,CAAC,EAAE,YAAY,8BAA8B,EACzG;AAAA,EACH,QAAQ,kCAAU,KAAK,YAAY,sCAAsC,EAAE;AAAA,EAC3E,gBAAgB,kCAAU,OAAO,YAAY,gCAAgC,EAAE;AAAA,EAC/E,SAAS,kCAAU,MAAM;AAAA,IACvB,oBAAoB,kCAAU,WAAW,WAAW,EAAE,YAAY,8BAA8B;AAAA,IAChG,eAAe,kCAAU,KAAK,YAAY,yDAAyD;AAAA,IACnG,mBAAmB,kCAAU,OAAO,YAAY,2BAA2B;AAAA,IAC3E,kBAAkB,kCAAU,KAAK,YAAY,0DAA0D;AAAA,EACzG,CAAC,EAAE,YAAY,kCAAkC;AAAA,EACjD,2BAA2B,kCAAU,KAAK;AAAA,IACxC;AAAA,EACF;AAAA,EACA,gBAAgB,kCAAU,KAAK;AAAA,IAC7B;AAAA,EACF;AACF;AAEO,MAAM,mCACX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,67 +1,86 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
3
|
+
import React2 from "react";
|
|
4
4
|
import { createPortal } from "react-dom";
|
|
5
5
|
import { describe } from "@elliemae/ds-props-helpers";
|
|
6
6
|
import { StyledFloatingAnimation, StyledFloatingWrapper } from "./styled.js";
|
|
7
7
|
import { DSFloatingWrapperPropTypes } from "./react-desc-prop-types.js";
|
|
8
8
|
import { useFloatingWrapper } from "./config/useFloatingWrapper.js";
|
|
9
9
|
import { DSFloatingWrapperName } from "./constants/index.js";
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const {
|
|
10
|
+
const ContentComponent = React2.memo(
|
|
11
|
+
({
|
|
13
12
|
children,
|
|
14
13
|
innerRef,
|
|
15
14
|
floatingStyles,
|
|
16
15
|
isOpen,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
withoutPortal,
|
|
17
|
+
animationDuration,
|
|
18
|
+
withoutAnimation,
|
|
19
|
+
handleAnimationEnd,
|
|
20
|
+
xstyledProps
|
|
21
|
+
}) => /* @__PURE__ */ jsx(
|
|
22
|
+
StyledFloatingWrapper,
|
|
23
|
+
{
|
|
24
|
+
innerRef,
|
|
25
|
+
style: floatingStyles,
|
|
26
|
+
...xstyledProps,
|
|
27
|
+
role: !withoutPortal ? "complementary" : "",
|
|
28
|
+
children: /* @__PURE__ */ jsx(
|
|
29
|
+
StyledFloatingAnimation,
|
|
30
|
+
{
|
|
31
|
+
onAnimationEnd: handleAnimationEnd,
|
|
32
|
+
isOpen,
|
|
33
|
+
animationDuration,
|
|
34
|
+
withoutAnimation,
|
|
35
|
+
children
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
const FloatingWrapper = (props) => {
|
|
42
|
+
const { propsWithDefault, xstyledProps } = useFloatingWrapper(props);
|
|
43
|
+
const { isOpen } = propsWithDefault;
|
|
44
|
+
const { context, onAnimationEnd, onAnimationStartTriggered, ...contentProps } = propsWithDefault;
|
|
45
|
+
const { portalDOMContainer, withoutPortal, withoutAnimation } = context;
|
|
46
|
+
const [isAnimating, setIsAnimating] = React2.useState(false);
|
|
47
|
+
React2.useEffect(() => {
|
|
21
48
|
if (isOpen && !withoutAnimation) {
|
|
22
49
|
setIsAnimating(true);
|
|
50
|
+
onAnimationStartTriggered?.();
|
|
23
51
|
}
|
|
24
|
-
}, [isOpen, withoutAnimation]);
|
|
25
|
-
const
|
|
26
|
-
|
|
52
|
+
}, [isOpen, onAnimationStartTriggered, withoutAnimation]);
|
|
53
|
+
const handleAnimationEnd = React2.useCallback(
|
|
54
|
+
(e) => {
|
|
27
55
|
setIsAnimating(false);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
() => /* @__PURE__ */ jsx(
|
|
32
|
-
StyledFloatingWrapper,
|
|
33
|
-
{
|
|
34
|
-
innerRef,
|
|
35
|
-
style: floatingStyles,
|
|
36
|
-
...xstyledProps,
|
|
37
|
-
role: !withoutPortal ? "complementary" : "",
|
|
38
|
-
children: /* @__PURE__ */ jsx(
|
|
39
|
-
StyledFloatingAnimation,
|
|
40
|
-
{
|
|
41
|
-
onAnimationEnd: checkAnimationStatus,
|
|
42
|
-
isOpen,
|
|
43
|
-
animationDuration,
|
|
44
|
-
withoutAnimation,
|
|
45
|
-
children
|
|
46
|
-
}
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
),
|
|
50
|
-
[
|
|
51
|
-
animationDuration,
|
|
52
|
-
checkAnimationStatus,
|
|
53
|
-
children,
|
|
54
|
-
floatingStyles,
|
|
55
|
-
innerRef,
|
|
56
|
-
isOpen,
|
|
57
|
-
withoutAnimation,
|
|
58
|
-
withoutPortal,
|
|
59
|
-
xstyledProps
|
|
60
|
-
]
|
|
56
|
+
if (onAnimationEnd) onAnimationEnd(e);
|
|
57
|
+
},
|
|
58
|
+
[onAnimationEnd]
|
|
61
59
|
);
|
|
62
60
|
if (isOpen || isAnimating) {
|
|
63
|
-
if (withoutPortal === true)
|
|
64
|
-
|
|
61
|
+
if (withoutPortal === true)
|
|
62
|
+
return /* @__PURE__ */ jsx(
|
|
63
|
+
ContentComponent,
|
|
64
|
+
{
|
|
65
|
+
xstyledProps,
|
|
66
|
+
...contentProps,
|
|
67
|
+
...context,
|
|
68
|
+
handleAnimationEnd
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
if (!withoutPortal)
|
|
72
|
+
return /* @__PURE__ */ jsx(Fragment, { children: createPortal(
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
ContentComponent,
|
|
75
|
+
{
|
|
76
|
+
xstyledProps,
|
|
77
|
+
...contentProps,
|
|
78
|
+
...context,
|
|
79
|
+
handleAnimationEnd
|
|
80
|
+
}
|
|
81
|
+
),
|
|
82
|
+
portalDOMContainer || document.body
|
|
83
|
+
) });
|
|
65
84
|
}
|
|
66
85
|
return null;
|
|
67
86
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/FloatingWrapper/FloatingWrapper.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { createPortal } from 'react-dom';\nimport { describe, type ValidationMap } from '@elliemae/ds-props-helpers';\nimport { StyledFloatingAnimation, StyledFloatingWrapper } from './styled.js';\nimport { type DSFloatingWrapperT, DSFloatingWrapperPropTypes } from './react-desc-prop-types.js';\nimport { useFloatingWrapper } from './config/useFloatingWrapper.js';\nimport { DSFloatingWrapperName } from './constants/index.js';\n\ntype ContentComponentPropsT = {\n xstyledProps: ReturnType<typeof useFloatingWrapper>['xstyledProps'];\n handleAnimationEnd: React.AnimationEventHandler<HTMLDivElement>;\n // for performance reasons, it's better for pure component to not receive nested objects\n // so the following is just the typescript way of describing we spread the props\n} & Omit<DSFloatingWrapperT.InternalProps, 'context'> &\n DSFloatingWrapperT.InternalProps['context'];\n\nconst ContentComponent = React.memo<ContentComponentPropsT>(\n ({\n children,\n innerRef,\n floatingStyles,\n isOpen,\n withoutPortal,\n animationDuration,\n withoutAnimation,\n handleAnimationEnd,\n xstyledProps,\n }) => (\n <StyledFloatingWrapper\n innerRef={innerRef}\n style={floatingStyles}\n {...xstyledProps}\n role={!withoutPortal ? 'complementary' : ''}\n >\n <StyledFloatingAnimation\n onAnimationEnd={handleAnimationEnd}\n isOpen={isOpen}\n animationDuration={animationDuration}\n withoutAnimation={withoutAnimation}\n >\n {children}\n </StyledFloatingAnimation>\n </StyledFloatingWrapper>\n ),\n);\n\nconst FloatingWrapper: React.ComponentType<DSFloatingWrapperT.Props> = (props) => {\n const { propsWithDefault, xstyledProps } = useFloatingWrapper(props);\n const { isOpen } = propsWithDefault;\n\n const { context, onAnimationEnd, onAnimationStartTriggered, ...contentProps } = propsWithDefault;\n const { portalDOMContainer, withoutPortal, withoutAnimation } = context;\n\n const [isAnimating, setIsAnimating] = React.useState(false);\n React.useEffect(() => {\n if (isOpen && !withoutAnimation) {\n setIsAnimating(true);\n onAnimationStartTriggered?.();\n }\n }, [isOpen, onAnimationStartTriggered, withoutAnimation]);\n\n const handleAnimationEnd = React.useCallback<React.AnimationEventHandler<HTMLDivElement>>(\n (e) => {\n setIsAnimating(false);\n if (onAnimationEnd) onAnimationEnd(e);\n },\n [onAnimationEnd],\n );\n\n if (isOpen || isAnimating) {\n if (withoutPortal === true)\n return (\n <ContentComponent\n xstyledProps={xstyledProps}\n {...contentProps}\n {...context}\n handleAnimationEnd={handleAnimationEnd}\n />\n );\n if (!withoutPortal)\n return (\n <>\n {createPortal(\n <ContentComponent\n xstyledProps={xstyledProps}\n {...contentProps}\n {...context}\n handleAnimationEnd={handleAnimationEnd}\n />,\n portalDOMContainer || document.body,\n )}\n </>\n );\n }\n return null;\n};\n\nFloatingWrapper.displayName = DSFloatingWrapperName;\nconst FloatingWrapperWithSchema = describe(FloatingWrapper);\nFloatingWrapperWithSchema.propTypes = DSFloatingWrapperPropTypes as unknown as ValidationMap<DSFloatingWrapperT.Props>;\nexport { FloatingWrapper, FloatingWrapperWithSchema };\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACkCjB,SA+CE,UA/CF;AAlCN,OAAOA,YAAW;AAClB,SAAS,oBAAoB;AAC7B,SAAS,gBAAoC;AAC7C,SAAS,yBAAyB,6BAA6B;AAC/D,SAAkC,kCAAkC;AACpE,SAAS,0BAA0B;AACnC,SAAS,6BAA6B;AAUtC,MAAM,mBAAmBA,OAAM;AAAA,EAC7B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,MACN,GAAG;AAAA,MACJ,MAAM,CAAC,gBAAgB,kBAAkB;AAAA,MAEzC;AAAA,QAAC;AAAA;AAAA,UACC,gBAAgB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UAEC;AAAA;AAAA,MACH;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,kBAAiE,CAAC,UAAU;AAChF,QAAM,EAAE,kBAAkB,aAAa,IAAI,mBAAmB,KAAK;AACnE,QAAM,EAAE,OAAO,IAAI;AAEnB,QAAM,EAAE,SAAS,gBAAgB,2BAA2B,GAAG,aAAa,IAAI;AAChF,QAAM,EAAE,oBAAoB,eAAe,iBAAiB,IAAI;AAEhE,QAAM,CAAC,aAAa,cAAc,IAAIA,OAAM,SAAS,KAAK;AAC1D,EAAAA,OAAM,UAAU,MAAM;AACpB,QAAI,UAAU,CAAC,kBAAkB;AAC/B,qBAAe,IAAI;AACnB,kCAA4B;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,QAAQ,2BAA2B,gBAAgB,CAAC;AAExD,QAAM,qBAAqBA,OAAM;AAAA,IAC/B,CAAC,MAAM;AACL,qBAAe,KAAK;AACpB,UAAI,eAAgB,gBAAe,CAAC;AAAA,IACtC;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,MAAI,UAAU,aAAa;AACzB,QAAI,kBAAkB;AACpB,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACC,GAAG;AAAA,UACH,GAAG;AAAA,UACJ;AAAA;AAAA,MACF;AAEJ,QAAI,CAAC;AACH,aACE,gCACG;AAAA,QACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACC,GAAG;AAAA,YACH,GAAG;AAAA,YACJ;AAAA;AAAA,QACF;AAAA,QACA,sBAAsB,SAAS;AAAA,MACjC,GACF;AAAA,EAEN;AACA,SAAO;AACT;AAEA,gBAAgB,cAAc;AAC9B,MAAM,4BAA4B,SAAS,eAAe;AAC1D,0BAA0B,YAAY;",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -27,7 +27,13 @@ const DSFloatingWrapperPropTypes = {
|
|
|
27
27
|
withoutPortal: PropTypes.bool.description("Whether to render the floating wrapper without a portal"),
|
|
28
28
|
animationDuration: PropTypes.number.description("Duration of the animation"),
|
|
29
29
|
withoutAnimation: PropTypes.bool.description("Whether to render the floating wrapper without animation")
|
|
30
|
-
}).description("Context for the floating wrapper")
|
|
30
|
+
}).description("Context for the floating wrapper"),
|
|
31
|
+
onAnimationStartTriggered: PropTypes.func.description(
|
|
32
|
+
"Callback invoked when the component trigger the animation start. Required to properly position nested floating context without visual artefacts in case animations are used."
|
|
33
|
+
),
|
|
34
|
+
onAnimationEnd: PropTypes.func.description(
|
|
35
|
+
"Callback when the animation ends. Required to properly position nested floating context without visual artefacts in case animations are used."
|
|
36
|
+
)
|
|
31
37
|
};
|
|
32
38
|
const DSFloatingWrapperPropTypesSchema = DSFloatingWrapperPropTypes;
|
|
33
39
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/FloatingWrapper/react-desc-prop-types.ts"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSFloatingWrapperName, DSFloatingWrapperSlots } from './constants/index.js';\n\nexport declare namespace DSFloatingWrapperT {\n export interface RequiredProps {\n children:
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACEvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,uBAAuB,8BAA8B;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSFloatingWrapperName, DSFloatingWrapperSlots } from './constants/index.js';\n\nexport declare namespace DSFloatingWrapperT {\n export interface RequiredProps {\n children: TypescriptHelpersT.ReactChildrenComplete;\n innerRef: TypescriptHelpersT.AnyRef<HTMLDivElement>;\n isOpen: boolean;\n floatingStyles: React.CSSProperties;\n }\n\n export interface DefaultProps {\n context: {\n portalDOMContainer: HTMLElement;\n withoutPortal: boolean;\n animationDuration: number;\n withoutAnimation: boolean;\n };\n }\n\n export interface OptionalProps\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSFloatingWrapperName, typeof DSFloatingWrapperSlots> {\n onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement>;\n onAnimationStartTriggered?: () => void;\n }\n\n export interface Props\n extends Partial<DefaultProps>,\n RequiredProps,\n OptionalProps,\n Omit<\n GlobalAttributesT<HTMLElement>,\n keyof DefaultProps | keyof OptionalProps | keyof RequiredProps | keyof XstyledProps\n >,\n XstyledProps {}\n\n export interface InternalProps\n extends DefaultProps,\n RequiredProps,\n OptionalProps,\n Omit<\n GlobalAttributesT<HTMLElement>,\n keyof DefaultProps | keyof OptionalProps | keyof RequiredProps | keyof XstyledProps\n >,\n XstyledProps {}\n\n export type ExampleState = '0' | '1';\n}\n\nexport const defaultProps: Partial<DSFloatingWrapperT.DefaultProps> = {\n context: {\n portalDOMContainer: document.body,\n withoutPortal: false,\n animationDuration: 300,\n withoutAnimation: false,\n },\n};\n\nexport const DSFloatingWrapperPropTypes: DSPropTypesSchema<DSFloatingWrapperT.InternalProps> = {\n ...getPropsPerSlotPropTypes(DSFloatingWrapperName, DSFloatingWrapperSlots),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n children: PropTypes.node.description('Content of the floating wrapper').isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).description('Ref for the floating wrapper')\n .isRequired,\n isOpen: PropTypes.bool.description('Whether the floating wrapper is open').isRequired,\n floatingStyles: PropTypes.object.description('Style for the floating wrapper').isRequired,\n context: PropTypes.shape({\n portalDOMContainer: PropTypes.instanceOf(HTMLElement).description('DOM container for the portal'),\n withoutPortal: PropTypes.bool.description('Whether to render the floating wrapper without a portal'),\n animationDuration: PropTypes.number.description('Duration of the animation'),\n withoutAnimation: PropTypes.bool.description('Whether to render the floating wrapper without animation'),\n }).description('Context for the floating wrapper'),\n onAnimationStartTriggered: PropTypes.func.description(\n 'Callback invoked when the component trigger the animation start. Required to properly position nested floating context without visual artefacts in case animations are used.',\n ),\n onAnimationEnd: PropTypes.func.description(\n 'Callback when the animation ends. Required to properly position nested floating context without visual artefacts in case animations are used.',\n ),\n};\n\nexport const DSFloatingWrapperPropTypesSchema =\n DSFloatingWrapperPropTypes as unknown as ValidationMap<DSFloatingWrapperT.Props>;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,uBAAuB,8BAA8B;AAgDvD,MAAM,eAAyD;AAAA,EACpE,SAAS;AAAA,IACP,oBAAoB,SAAS;AAAA,IAC7B,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,EACpB;AACF;AAEO,MAAM,6BAAkF;AAAA,EAC7F,GAAG,yBAAyB,uBAAuB,sBAAsB;AAAA,EACzE,GAAG;AAAA,EACH,GAAG;AAAA,EACH,UAAU,UAAU,KAAK,YAAY,iCAAiC,EAAE;AAAA,EACxE,UAAU,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,IAAI,CAAC,EAAE,YAAY,8BAA8B,EACzG;AAAA,EACH,QAAQ,UAAU,KAAK,YAAY,sCAAsC,EAAE;AAAA,EAC3E,gBAAgB,UAAU,OAAO,YAAY,gCAAgC,EAAE;AAAA,EAC/E,SAAS,UAAU,MAAM;AAAA,IACvB,oBAAoB,UAAU,WAAW,WAAW,EAAE,YAAY,8BAA8B;AAAA,IAChG,eAAe,UAAU,KAAK,YAAY,yDAAyD;AAAA,IACnG,mBAAmB,UAAU,OAAO,YAAY,2BAA2B;AAAA,IAC3E,kBAAkB,UAAU,KAAK,YAAY,0DAA0D;AAAA,EACzG,CAAC,EAAE,YAAY,kCAAkC;AAAA,EACjD,2BAA2B,UAAU,KAAK;AAAA,IACxC;AAAA,EACF;AAAA,EACA,gBAAgB,UAAU,KAAK;AAAA,IAC7B;AAAA,EACF;AACF;AAEO,MAAM,mCACX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';
|
|
|
4
4
|
import { DSFloatingWrapperName, DSFloatingWrapperSlots } from './constants/index.js';
|
|
5
5
|
export declare namespace DSFloatingWrapperT {
|
|
6
6
|
interface RequiredProps {
|
|
7
|
-
children:
|
|
7
|
+
children: TypescriptHelpersT.ReactChildrenComplete;
|
|
8
8
|
innerRef: TypescriptHelpersT.AnyRef<HTMLDivElement>;
|
|
9
9
|
isOpen: boolean;
|
|
10
10
|
floatingStyles: React.CSSProperties;
|
|
@@ -18,13 +18,15 @@ export declare namespace DSFloatingWrapperT {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSFloatingWrapperName, typeof DSFloatingWrapperSlots> {
|
|
21
|
+
onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement>;
|
|
22
|
+
onAnimationStartTriggered?: () => void;
|
|
21
23
|
}
|
|
22
|
-
interface Props extends Partial<DefaultProps>, OptionalProps, Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>, XstyledProps
|
|
24
|
+
interface Props extends Partial<DefaultProps>, RequiredProps, OptionalProps, Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps | keyof XstyledProps>, XstyledProps {
|
|
23
25
|
}
|
|
24
|
-
interface InternalProps extends DefaultProps, OptionalProps, Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>, XstyledProps
|
|
26
|
+
interface InternalProps extends DefaultProps, RequiredProps, OptionalProps, Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps | keyof XstyledProps>, XstyledProps {
|
|
25
27
|
}
|
|
26
28
|
type ExampleState = '0' | '1';
|
|
27
29
|
}
|
|
28
30
|
export declare const defaultProps: Partial<DSFloatingWrapperT.DefaultProps>;
|
|
29
|
-
export declare const DSFloatingWrapperPropTypes: DSPropTypesSchema<DSFloatingWrapperT.
|
|
31
|
+
export declare const DSFloatingWrapperPropTypes: DSPropTypesSchema<DSFloatingWrapperT.InternalProps>;
|
|
30
32
|
export declare const DSFloatingWrapperPropTypesSchema: ValidationMap<DSFloatingWrapperT.Props>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-floating-context",
|
|
3
|
-
"version": "3.46.0-rc.
|
|
3
|
+
"version": "3.46.0-rc.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Popper Hook",
|
|
6
6
|
"files": [
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"indent": 4
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@elliemae/ds-
|
|
40
|
-
"@elliemae/ds-
|
|
41
|
-
"@elliemae/ds-
|
|
42
|
-
"@elliemae/ds-
|
|
39
|
+
"@elliemae/ds-system": "3.46.0-rc.3",
|
|
40
|
+
"@elliemae/ds-hooks-headless-tooltip": "3.46.0-rc.3",
|
|
41
|
+
"@elliemae/ds-typescript-helpers": "3.46.0-rc.3",
|
|
42
|
+
"@elliemae/ds-props-helpers": "3.46.0-rc.3"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@elliemae/pui-cli": "~9.0.0-next.31",
|
|
46
|
-
"@elliemae/ds-monorepo-devops": "3.46.0-rc.
|
|
46
|
+
"@elliemae/ds-monorepo-devops": "3.46.0-rc.3"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"lodash": "^4.17.21",
|