@deephaven/components 0.22.3-beta.18 → 0.22.3-beta.21
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/AutoCompleteInput.js +12 -85
- package/dist/AutoCompleteInput.js.map +1 -1
- package/dist/AutoResizeTextarea.d.ts +5 -5
- package/dist/AutoResizeTextarea.d.ts.map +1 -1
- package/dist/AutoResizeTextarea.js +8 -23
- package/dist/AutoResizeTextarea.js.map +1 -1
- package/dist/BasicModal.d.ts +28 -1
- package/dist/BasicModal.d.ts.map +1 -1
- package/dist/BasicModal.js +2 -8
- package/dist/BasicModal.js.map +1 -1
- package/dist/Button.js +8 -34
- package/dist/Button.js.map +1 -1
- package/dist/ButtonGroup.d.ts +6 -6
- package/dist/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup.js +2 -4
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/ButtonOld.js.map +1 -1
- package/dist/CardFlip.d.ts +1 -1
- package/dist/CardFlip.d.ts.map +1 -1
- package/dist/CardFlip.js +2 -7
- package/dist/CardFlip.js.map +1 -1
- package/dist/Checkbox.js +3 -14
- package/dist/Checkbox.js.map +1 -1
- package/dist/Collapse.js +0 -15
- package/dist/Collapse.js.map +1 -1
- package/dist/ComboBox.js +4 -83
- package/dist/ComboBox.js.map +1 -1
- package/dist/CopyButton.d.ts +1 -1
- package/dist/CopyButton.d.ts.map +1 -1
- package/dist/CopyButton.js +2 -4
- package/dist/CopyButton.js.map +1 -1
- package/dist/CustomTimeSelect.js +2 -86
- package/dist/CustomTimeSelect.js.map +1 -1
- package/dist/DateInput.js.map +1 -1
- package/dist/DateInputUtils.js +0 -7
- package/dist/DateInputUtils.js.map +1 -1
- package/dist/DateTimeInput.js +7 -10
- package/dist/DateTimeInput.js.map +1 -1
- package/dist/DebouncedSearchInput.js +0 -14
- package/dist/DebouncedSearchInput.js.map +1 -1
- package/dist/DragUtils.js +4 -16
- package/dist/DragUtils.js.map +1 -1
- package/dist/DraggableItemList.d.ts.map +1 -1
- package/dist/DraggableItemList.js +22 -44
- package/dist/DraggableItemList.js.map +1 -1
- package/dist/EditableItemList.d.ts +1 -1
- package/dist/EditableItemList.d.ts.map +1 -1
- package/dist/EditableItemList.js +2 -6
- package/dist/EditableItemList.js.map +1 -1
- package/dist/HierarchicalCheckboxMenu.js +6 -28
- package/dist/HierarchicalCheckboxMenu.js.map +1 -1
- package/dist/ItemList.d.ts.map +1 -1
- package/dist/ItemList.js +22 -115
- package/dist/ItemList.js.map +1 -1
- package/dist/ItemListItem.d.ts +0 -1
- package/dist/ItemListItem.d.ts.map +1 -1
- package/dist/ItemListItem.js +26 -50
- package/dist/ItemListItem.js.map +1 -1
- package/dist/LoadingOverlay.d.ts +1 -1
- package/dist/LoadingOverlay.d.ts.map +1 -1
- package/dist/LoadingOverlay.js +3 -5
- package/dist/LoadingOverlay.js.map +1 -1
- package/dist/LoadingSpinner.d.ts +1 -1
- package/dist/LoadingSpinner.d.ts.map +1 -1
- package/dist/LoadingSpinner.js +2 -4
- package/dist/LoadingSpinner.js.map +1 -1
- package/dist/MaskedInput.js +26 -85
- package/dist/MaskedInput.js.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +2 -4
- package/dist/Option.js.map +1 -1
- package/dist/RadioGroup.d.ts +1 -1
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +4 -6
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioItem.js +0 -1
- package/dist/RadioItem.js.map +1 -1
- package/dist/SearchInput.js +2 -13
- package/dist/SearchInput.js.map +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +2 -4
- package/dist/Select.js.map +1 -1
- package/dist/SelectValueList.js +0 -28
- package/dist/SelectValueList.js.map +1 -1
- package/dist/SocketedButton.js.map +1 -1
- package/dist/ThemeExport.js +0 -4
- package/dist/ThemeExport.js.map +1 -1
- package/dist/TimeInput.js +2 -12
- package/dist/TimeInput.js.map +1 -1
- package/dist/TimeSlider.d.ts +1 -1
- package/dist/TimeSlider.d.ts.map +1 -1
- package/dist/TimeSlider.js +19 -33
- package/dist/TimeSlider.js.map +1 -1
- package/dist/ToastNotification.d.ts +4 -4
- package/dist/ToastNotification.d.ts.map +1 -1
- package/dist/ToastNotification.js +2 -4
- package/dist/ToastNotification.js.map +1 -1
- package/dist/UISwitch.d.ts +1 -1
- package/dist/UISwitch.d.ts.map +1 -1
- package/dist/UISwitch.js +2 -4
- package/dist/UISwitch.js.map +1 -1
- package/dist/ValidateLabelInput.d.ts.map +1 -1
- package/dist/ValidateLabelInput.js +3 -3
- package/dist/ValidateLabelInput.js.map +1 -1
- package/dist/context-actions/ContextActionUtils.js +9 -40
- package/dist/context-actions/ContextActionUtils.js.map +1 -1
- package/dist/context-actions/ContextActions.js +1 -34
- package/dist/context-actions/ContextActions.js.map +1 -1
- package/dist/context-actions/ContextMenu.js +29 -110
- package/dist/context-actions/ContextMenu.js.map +1 -1
- package/dist/context-actions/ContextMenuItem.d.ts.map +1 -1
- package/dist/context-actions/ContextMenuItem.js +3 -19
- package/dist/context-actions/ContextMenuItem.js.map +1 -1
- package/dist/context-actions/ContextMenuRoot.js +7 -26
- package/dist/context-actions/ContextMenuRoot.js.map +1 -1
- package/dist/context-actions/GlobalContextAction.js +0 -15
- package/dist/context-actions/GlobalContextAction.js.map +1 -1
- package/dist/context-actions/GlobalContextActions.js +0 -6
- package/dist/context-actions/GlobalContextActions.js.map +1 -1
- package/dist/context-actions/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/menu-actions/DropdownMenu.js +4 -32
- package/dist/menu-actions/DropdownMenu.js.map +1 -1
- package/dist/menu-actions/Menu.js +7 -52
- package/dist/menu-actions/Menu.js.map +1 -1
- package/dist/menu-actions/index.d.ts +2 -1
- package/dist/menu-actions/index.d.ts.map +1 -1
- package/dist/menu-actions/index.js +2 -2
- package/dist/menu-actions/index.js.map +1 -1
- package/dist/modal/Modal.d.ts +2 -2
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/Modal.js +3 -9
- package/dist/modal/Modal.js.map +1 -1
- package/dist/modal/ModalBody.d.ts +1 -1
- package/dist/modal/ModalBody.d.ts.map +1 -1
- package/dist/modal/ModalBody.js +2 -4
- package/dist/modal/ModalBody.js.map +1 -1
- package/dist/modal/ModalFooter.d.ts +1 -1
- package/dist/modal/ModalFooter.d.ts.map +1 -1
- package/dist/modal/ModalFooter.js +2 -4
- package/dist/modal/ModalFooter.js.map +1 -1
- package/dist/modal/ModalHeader.d.ts +1 -1
- package/dist/modal/ModalHeader.d.ts.map +1 -1
- package/dist/modal/ModalHeader.js +2 -4
- package/dist/modal/ModalHeader.js.map +1 -1
- package/dist/modal/index.js.map +1 -1
- package/dist/navigation/Menu.d.ts +1 -1
- package/dist/navigation/Menu.d.ts.map +1 -1
- package/dist/navigation/Menu.js +2 -2
- package/dist/navigation/Menu.js.map +1 -1
- package/dist/navigation/MenuItem.d.ts +1 -1
- package/dist/navigation/MenuItem.d.ts.map +1 -1
- package/dist/navigation/MenuItem.js +4 -7
- package/dist/navigation/MenuItem.js.map +1 -1
- package/dist/navigation/Page.d.ts +1 -1
- package/dist/navigation/Page.d.ts.map +1 -1
- package/dist/navigation/Page.js +2 -3
- package/dist/navigation/Page.js.map +1 -1
- package/dist/navigation/Stack.d.ts +1 -1
- package/dist/navigation/Stack.d.ts.map +1 -1
- package/dist/navigation/Stack.js +3 -6
- package/dist/navigation/Stack.js.map +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/popper/Popper.d.ts.map +1 -1
- package/dist/popper/Popper.js +13 -46
- package/dist/popper/Popper.js.map +1 -1
- package/dist/popper/Tooltip.js +0 -56
- package/dist/popper/Tooltip.js.map +1 -1
- package/dist/popper/index.js.map +1 -1
- package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
- package/dist/shortcuts/Shortcut.js +19 -76
- package/dist/shortcuts/Shortcut.js.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.js +3 -18
- package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
- package/dist/shortcuts/index.js.map +1 -1
- package/package.json +8 -8
package/dist/CardFlip.d.ts
CHANGED
|
@@ -14,6 +14,6 @@ declare type CardFlipProps = {
|
|
|
14
14
|
* @param children Expects exactly two children
|
|
15
15
|
* @returns
|
|
16
16
|
*/
|
|
17
|
-
declare
|
|
17
|
+
declare function CardFlip({ className, isFlipped, children, 'data-testid': dataTestId, }: CardFlipProps): JSX.Element;
|
|
18
18
|
export default CardFlip;
|
|
19
19
|
//# sourceMappingURL=CardFlip.d.ts.map
|
package/dist/CardFlip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFlip.d.ts","sourceRoot":"","sources":["../src/CardFlip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,iBAAiB,CAAC;AAEzB,aAAK,aAAa,GAAG;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"CardFlip.d.ts","sourceRoot":"","sources":["../src/CardFlip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,iBAAiB,CAAC;AAEzB,aAAK,aAAa,GAAG;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAuD7B;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/CardFlip.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import "./CardFlip.css";
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* Card flip component, switches between a front and back face being visible.
|
|
7
6
|
* Has logic to handle overflow on body, caused by perspective transforms
|
|
@@ -10,22 +9,19 @@ import "./CardFlip.css";
|
|
|
10
9
|
* @param children Expects exactly two children
|
|
11
10
|
* @returns
|
|
12
11
|
*/
|
|
13
|
-
|
|
12
|
+
function CardFlip(_ref) {
|
|
14
13
|
var {
|
|
15
14
|
className,
|
|
16
15
|
isFlipped,
|
|
17
16
|
children,
|
|
18
17
|
'data-testid': dataTestId
|
|
19
18
|
} = _ref;
|
|
20
|
-
|
|
21
19
|
var getComponent = key => {
|
|
22
20
|
if (children.length !== 2) {
|
|
23
21
|
throw new Error('CardFlip requires 2 children to function');
|
|
24
22
|
}
|
|
25
|
-
|
|
26
23
|
return children[key];
|
|
27
24
|
};
|
|
28
|
-
|
|
29
25
|
var front = useRef(null);
|
|
30
26
|
var transitionStart = useCallback(event => {
|
|
31
27
|
if (event.target === event.currentTarget) {
|
|
@@ -60,7 +56,6 @@ var CardFlip = _ref => {
|
|
|
60
56
|
className: "card-flip--front",
|
|
61
57
|
onTransitionEnd: transitionEnd
|
|
62
58
|
}, getComponent(1)));
|
|
63
|
-
}
|
|
64
|
-
|
|
59
|
+
}
|
|
65
60
|
export default CardFlip;
|
|
66
61
|
//# sourceMappingURL=CardFlip.js.map
|
package/dist/CardFlip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFlip.js","names":["React","useCallback","useEffect","useRef","classNames","CardFlip","className","isFlipped","children","dataTestId","getComponent","key","length","Error","front","transitionStart","event","target","currentTarget","document","body","classList","add","transitionEnd","remove","setIsFlippingClassOnTransitionStart","current","addEventListener","refObj","cleanupListener","removeEventListener"],"sources":["../src/CardFlip.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport './CardFlip.scss';\n\ntype CardFlipProps = {\n isFlipped: boolean;\n children: [React.ReactNode, React.ReactNode];\n className?: string;\n 'data-testid'?: string;\n};\n\n/**\n * Card flip component, switches between a front and back face being visible.\n * Has logic to handle overflow on body, caused by perspective transforms\n * and moves z-index to top during transition.\n * @param isFlipped true shows second child, false shows first child\n * @param children Expects exactly two children\n * @returns\n */\
|
|
1
|
+
{"version":3,"file":"CardFlip.js","names":["React","useCallback","useEffect","useRef","classNames","CardFlip","className","isFlipped","children","dataTestId","getComponent","key","length","Error","front","transitionStart","event","target","currentTarget","document","body","classList","add","transitionEnd","remove","setIsFlippingClassOnTransitionStart","current","addEventListener","refObj","cleanupListener","removeEventListener"],"sources":["../src/CardFlip.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport './CardFlip.scss';\n\ntype CardFlipProps = {\n isFlipped: boolean;\n children: [React.ReactNode, React.ReactNode];\n className?: string;\n 'data-testid'?: string;\n};\n\n/**\n * Card flip component, switches between a front and back face being visible.\n * Has logic to handle overflow on body, caused by perspective transforms\n * and moves z-index to top during transition.\n * @param isFlipped true shows second child, false shows first child\n * @param children Expects exactly two children\n * @returns\n */\nfunction CardFlip({\n className,\n isFlipped,\n children,\n 'data-testid': dataTestId,\n}: CardFlipProps): JSX.Element {\n const getComponent = (key: 0 | 1) => {\n if (children.length !== 2) {\n throw new Error('CardFlip requires 2 children to function');\n }\n return children[key];\n };\n\n const front = useRef<HTMLDivElement>(null);\n\n const transitionStart = useCallback(event => {\n if (event.target === event.currentTarget) {\n document.body.classList.add('card-flip--is-flipping');\n }\n }, []);\n\n const transitionEnd = useCallback(event => {\n if (event.target === event.currentTarget) {\n document.body.classList.remove('card-flip--is-flipping');\n }\n }, []);\n\n useEffect(\n function setIsFlippingClassOnTransitionStart() {\n if (!front.current) throw Error('ref undefined');\n front.current.addEventListener('transitionstart', transitionStart);\n\n const refObj = front.current;\n return function cleanupListener() {\n if (refObj != null) {\n return refObj.removeEventListener('transitionstart', transitionStart);\n }\n };\n },\n [transitionStart]\n );\n\n return (\n <div\n className={classNames(className, {\n 'card-flip--show-front': isFlipped,\n 'card-flip--show-back': !isFlipped,\n })}\n data-testid={dataTestId}\n >\n <div className=\"card-flip--back\">{getComponent(0)}</div>\n <div\n ref={front}\n className=\"card-flip--front\"\n onTransitionEnd={transitionEnd}\n >\n {getComponent(1)}\n </div>\n </div>\n );\n}\n\nexport default CardFlip;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC7D,OAAOC,UAAU,MAAM,YAAY;AAAC;AAUpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQ,OAKc;EAAA,IALb;IAChBC,SAAS;IACTC,SAAS;IACTC,QAAQ;IACR,aAAa,EAAEC;EACF,CAAC;EACd,IAAMC,YAAY,GAAIC,GAAU,IAAK;IACnC,IAAIH,QAAQ,CAACI,MAAM,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIC,KAAK,CAAC,0CAA0C,CAAC;IAC7D;IACA,OAAOL,QAAQ,CAACG,GAAG,CAAC;EACtB,CAAC;EAED,IAAMG,KAAK,GAAGX,MAAM,CAAiB,IAAI,CAAC;EAE1C,IAAMY,eAAe,GAAGd,WAAW,CAACe,KAAK,IAAI;IAC3C,IAAIA,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACE,aAAa,EAAE;MACxCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACvD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,aAAa,GAAGtB,WAAW,CAACe,KAAK,IAAI;IACzC,IAAIA,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACE,aAAa,EAAE;MACxCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACG,MAAM,CAAC,wBAAwB,CAAC;IAC1D;EACF,CAAC,EAAE,EAAE,CAAC;EAENtB,SAAS,CACP,SAASuB,mCAAmC,GAAG;IAC7C,IAAI,CAACX,KAAK,CAACY,OAAO,EAAE,MAAMb,KAAK,CAAC,eAAe,CAAC;IAChDC,KAAK,CAACY,OAAO,CAACC,gBAAgB,CAAC,iBAAiB,EAAEZ,eAAe,CAAC;IAElE,IAAMa,MAAM,GAAGd,KAAK,CAACY,OAAO;IAC5B,OAAO,SAASG,eAAe,GAAG;MAChC,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB,OAAOA,MAAM,CAACE,mBAAmB,CAAC,iBAAiB,EAAEf,eAAe,CAAC;MACvE;IACF,CAAC;EACH,CAAC,EACD,CAACA,eAAe,CAAC,CAClB;EAED,oBACE;IACE,SAAS,EAAEX,UAAU,CAACE,SAAS,EAAE;MAC/B,uBAAuB,EAAEC,SAAS;MAClC,sBAAsB,EAAE,CAACA;IAC3B,CAAC,CAAE;IACH,eAAaE;EAAW,gBAExB;IAAK,SAAS,EAAC;EAAiB,GAAEC,YAAY,CAAC,CAAC,CAAC,CAAO,eACxD;IACE,GAAG,EAAEI,KAAM;IACX,SAAS,EAAC,kBAAkB;IAC5B,eAAe,EAAES;EAAc,GAE9Bb,YAAY,CAAC,CAAC,CAAC,CACZ,CACF;AAEV;AAEA,eAAeL,QAAQ"}
|
package/dist/Checkbox.js
CHANGED
|
@@ -3,7 +3,6 @@ import classNames from 'classnames';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import shortid from 'shortid';
|
|
5
5
|
import { useForwardedRef } from '@deephaven/react-hooks';
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* A simple checkbox component. Automatically generates an id so htmlFor/id attributes are unique.
|
|
9
8
|
*/
|
|
@@ -33,7 +32,6 @@ var Checkbox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
|
|
|
33
32
|
// ref.current can be null in tests, doesn't impact behaviour
|
|
34
33
|
ref.current.indeterminate = checked === null;
|
|
35
34
|
}
|
|
36
|
-
|
|
37
35
|
if (onChange) {
|
|
38
36
|
onChange(event);
|
|
39
37
|
}
|
|
@@ -57,9 +55,10 @@ var Checkbox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
|
|
|
57
55
|
className: classNames('custom-control-label', labelClassName),
|
|
58
56
|
htmlFor: id
|
|
59
57
|
}, children));
|
|
60
|
-
});
|
|
61
|
-
// https://github.com/yannickcr/eslint-plugin-react/issues/2269
|
|
58
|
+
});
|
|
62
59
|
|
|
60
|
+
// Forward ref causes a false positive for display-name in eslint:
|
|
61
|
+
// https://github.com/yannickcr/eslint-plugin-react/issues/2269
|
|
63
62
|
Checkbox.displayName = 'Checkbox';
|
|
64
63
|
Checkbox.propTypes = {
|
|
65
64
|
/** Current value of the checkbox. */
|
|
@@ -67,35 +66,25 @@ Checkbox.propTypes = {
|
|
|
67
66
|
var {
|
|
68
67
|
[propName]: checkedType
|
|
69
68
|
} = props;
|
|
70
|
-
|
|
71
69
|
if (checkedType !== null && typeof checkedType !== 'boolean') {
|
|
72
70
|
return new Error('Checked must be a boolean or null for indeterminate');
|
|
73
71
|
}
|
|
74
|
-
|
|
75
72
|
return null;
|
|
76
73
|
},
|
|
77
|
-
|
|
78
74
|
/** The node/text to put in the label of this checkbox */
|
|
79
75
|
children: PropTypes.node.isRequired,
|
|
80
|
-
|
|
81
76
|
/** An extra class name to add to the outer div component */
|
|
82
77
|
className: PropTypes.string,
|
|
83
|
-
|
|
84
78
|
/** An extra class for disabling the checkbox component */
|
|
85
79
|
disabled: PropTypes.bool,
|
|
86
|
-
|
|
87
80
|
/** An extra class name for the input component */
|
|
88
81
|
inputClassName: PropTypes.string,
|
|
89
|
-
|
|
90
82
|
/** Convenience for styling appropriately for an invalid value */
|
|
91
83
|
isInvalid: PropTypes.bool,
|
|
92
|
-
|
|
93
84
|
/** An extra class name for the label component */
|
|
94
85
|
labelClassName: PropTypes.string,
|
|
95
|
-
|
|
96
86
|
/** Checkbox input name attribute */
|
|
97
87
|
name: PropTypes.string,
|
|
98
|
-
|
|
99
88
|
/** Triggered when the input is checked/unchecked */
|
|
100
89
|
onChange: PropTypes.func,
|
|
101
90
|
'data-testid': PropTypes.string
|
package/dist/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["React","useState","useEffect","useCallback","classNames","PropTypes","shortid","useForwardedRef","Checkbox","forwardRef","props","forwardedRef","checked","children","className","disabled","inputClassName","isInvalid","labelClassName","name","onChange","dataTestId","id","ref","setIndeterminateProperty","current","indeterminate","handleOnChange","event","displayName","propTypes","propName","checkedType","Error","node","isRequired","string","bool","func","defaultProps","undefined"],"sources":["../src/Checkbox.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport { useForwardedRef } from '@deephaven/react-hooks';\n\ninterface CheckboxProps {\n checked: boolean | null;\n className?: string;\n disabled?: boolean;\n inputClassName?: string;\n isInvalid?: boolean;\n labelClassName?: string;\n name?: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n/**\n * A simple checkbox component. Automatically generates an id so htmlFor/id attributes are unique.\n */\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (props, forwardedRef) => {\n const {\n checked = false,\n children,\n className,\n disabled,\n inputClassName,\n isInvalid,\n labelClassName,\n name,\n onChange,\n 'data-testid': dataTestId,\n } = props;\n\n const [id] = useState(shortid());\n\n const ref = useForwardedRef<HTMLInputElement>(forwardedRef);\n\n useEffect(\n function setIndeterminateProperty() {\n if (ref.current) {\n // indeterminate is not actually an html attr, can only be set via JS\n ref.current.indeterminate = checked === null;\n }\n },\n [ref, checked]\n );\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n event => {\n if (ref.current) {\n // ref.current can be null in tests, doesn't impact behaviour\n ref.current.indeterminate = checked === null;\n }\n\n if (onChange) {\n onChange(event);\n }\n },\n [ref, checked, onChange]\n );\n\n return (\n <div className={classNames('custom-control custom-checkbox', className)}>\n <input\n type=\"checkbox\"\n ref={ref}\n checked={checked ?? false} // checked attr must always have a value to remain as a controlled component\n className={classNames('custom-control-input', inputClassName, {\n 'is-invalid': isInvalid,\n })}\n disabled={disabled}\n id={id}\n name={name}\n onChange={handleOnChange}\n data-testid={dataTestId}\n />\n <label\n className={classNames('custom-control-label', labelClassName)}\n htmlFor={id}\n >\n {children}\n </label>\n </div>\n );\n }\n);\n\n// Forward ref causes a false positive for display-name in eslint:\n// https://github.com/yannickcr/eslint-plugin-react/issues/2269\nCheckbox.displayName = 'Checkbox';\n\nCheckbox.propTypes = {\n /** Current value of the checkbox. */\n checked: (props, propName) => {\n const { [propName]: checkedType } = props;\n if (checkedType !== null && typeof checkedType !== 'boolean') {\n return new Error('Checked must be a boolean or null for indeterminate');\n }\n return null;\n },\n\n /** The node/text to put in the label of this checkbox */\n children: PropTypes.node.isRequired,\n\n /** An extra class name to add to the outer div component */\n className: PropTypes.string,\n\n /** An extra class for disabling the checkbox component */\n disabled: PropTypes.bool,\n\n /** An extra class name for the input component */\n inputClassName: PropTypes.string,\n\n /** Convenience for styling appropriately for an invalid value */\n isInvalid: PropTypes.bool,\n\n /** An extra class name for the label component */\n labelClassName: PropTypes.string,\n\n /** Checkbox input name attribute */\n name: PropTypes.string,\n\n /** Triggered when the input is checked/unchecked */\n onChange: PropTypes.func,\n\n 'data-testid': PropTypes.string,\n};\n\nCheckbox.defaultProps = {\n checked: false,\n className: '',\n disabled: false,\n inputClassName: '',\n isInvalid: false,\n labelClassName: '',\n name: undefined,\n onChange: undefined,\n 'data-testid': undefined,\n};\n\nexport default Checkbox;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["React","useState","useEffect","useCallback","classNames","PropTypes","shortid","useForwardedRef","Checkbox","forwardRef","props","forwardedRef","checked","children","className","disabled","inputClassName","isInvalid","labelClassName","name","onChange","dataTestId","id","ref","setIndeterminateProperty","current","indeterminate","handleOnChange","event","displayName","propTypes","propName","checkedType","Error","node","isRequired","string","bool","func","defaultProps","undefined"],"sources":["../src/Checkbox.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport { useForwardedRef } from '@deephaven/react-hooks';\n\ninterface CheckboxProps {\n checked: boolean | null;\n className?: string;\n disabled?: boolean;\n inputClassName?: string;\n isInvalid?: boolean;\n labelClassName?: string;\n name?: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n/**\n * A simple checkbox component. Automatically generates an id so htmlFor/id attributes are unique.\n */\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (props, forwardedRef) => {\n const {\n checked = false,\n children,\n className,\n disabled,\n inputClassName,\n isInvalid,\n labelClassName,\n name,\n onChange,\n 'data-testid': dataTestId,\n } = props;\n\n const [id] = useState(shortid());\n\n const ref = useForwardedRef<HTMLInputElement>(forwardedRef);\n\n useEffect(\n function setIndeterminateProperty() {\n if (ref.current) {\n // indeterminate is not actually an html attr, can only be set via JS\n ref.current.indeterminate = checked === null;\n }\n },\n [ref, checked]\n );\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n event => {\n if (ref.current) {\n // ref.current can be null in tests, doesn't impact behaviour\n ref.current.indeterminate = checked === null;\n }\n\n if (onChange) {\n onChange(event);\n }\n },\n [ref, checked, onChange]\n );\n\n return (\n <div className={classNames('custom-control custom-checkbox', className)}>\n <input\n type=\"checkbox\"\n ref={ref}\n checked={checked ?? false} // checked attr must always have a value to remain as a controlled component\n className={classNames('custom-control-input', inputClassName, {\n 'is-invalid': isInvalid,\n })}\n disabled={disabled}\n id={id}\n name={name}\n onChange={handleOnChange}\n data-testid={dataTestId}\n />\n <label\n className={classNames('custom-control-label', labelClassName)}\n htmlFor={id}\n >\n {children}\n </label>\n </div>\n );\n }\n);\n\n// Forward ref causes a false positive for display-name in eslint:\n// https://github.com/yannickcr/eslint-plugin-react/issues/2269\nCheckbox.displayName = 'Checkbox';\n\nCheckbox.propTypes = {\n /** Current value of the checkbox. */\n checked: (props, propName) => {\n const { [propName]: checkedType } = props;\n if (checkedType !== null && typeof checkedType !== 'boolean') {\n return new Error('Checked must be a boolean or null for indeterminate');\n }\n return null;\n },\n\n /** The node/text to put in the label of this checkbox */\n children: PropTypes.node.isRequired,\n\n /** An extra class name to add to the outer div component */\n className: PropTypes.string,\n\n /** An extra class for disabling the checkbox component */\n disabled: PropTypes.bool,\n\n /** An extra class name for the input component */\n inputClassName: PropTypes.string,\n\n /** Convenience for styling appropriately for an invalid value */\n isInvalid: PropTypes.bool,\n\n /** An extra class name for the label component */\n labelClassName: PropTypes.string,\n\n /** Checkbox input name attribute */\n name: PropTypes.string,\n\n /** Triggered when the input is checked/unchecked */\n onChange: PropTypes.func,\n\n 'data-testid': PropTypes.string,\n};\n\nCheckbox.defaultProps = {\n checked: false,\n className: '',\n disabled: false,\n inputClassName: '',\n isInvalid: false,\n labelClassName: '',\n name: undefined,\n onChange: undefined,\n 'data-testid': undefined,\n};\n\nexport default Checkbox;\n"],"mappings":"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"}
|
package/dist/Collapse.js
CHANGED
|
@@ -1,58 +1,47 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
2
|
// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js
|
|
4
3
|
import React, { Component } from 'react';
|
|
5
4
|
import classNames from 'classnames';
|
|
6
5
|
import PropTypes from 'prop-types';
|
|
7
6
|
import { CSSTransition } from 'react-transition-group';
|
|
8
|
-
|
|
9
7
|
class Collapse extends Component {
|
|
10
8
|
static handleEnter(elemParam) {
|
|
11
9
|
var elem = elemParam;
|
|
12
10
|
elem.style.height = '0';
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
static handleEntering(elemParam) {
|
|
16
13
|
var elem = elemParam;
|
|
17
14
|
elem.style.height = "".concat(Collapse.getHeight(elem), "px");
|
|
18
15
|
}
|
|
19
|
-
|
|
20
16
|
static handleExiting(elemParam) {
|
|
21
17
|
var elem = elemParam;
|
|
22
18
|
elem.style.height = '0';
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
static handleExit(elemParam) {
|
|
26
21
|
var elem = elemParam;
|
|
27
22
|
elem.style.height = "".concat(Collapse.getHeight(elem), "px");
|
|
28
23
|
}
|
|
29
|
-
|
|
30
24
|
static getHeight(elem) {
|
|
31
25
|
var scrollBarWidth = elem.scrollWidth - elem.clientWidth;
|
|
32
26
|
return elem.scrollHeight - scrollBarWidth;
|
|
33
27
|
}
|
|
34
|
-
|
|
35
28
|
constructor(props) {
|
|
36
29
|
super(props);
|
|
37
30
|
this.handleEntered = this.handleEntered.bind(this);
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
handleEntered(elemParam) {
|
|
41
33
|
var elem = elemParam;
|
|
42
34
|
elem.style.height = '';
|
|
43
35
|
var {
|
|
44
36
|
autoFocusOnShow
|
|
45
37
|
} = this.props;
|
|
46
|
-
|
|
47
38
|
if (autoFocusOnShow !== undefined && autoFocusOnShow) {
|
|
48
39
|
var input = elem.querySelector('input, select, textarea');
|
|
49
|
-
|
|
50
40
|
if (input != null) {
|
|
51
41
|
input.focus();
|
|
52
42
|
}
|
|
53
43
|
}
|
|
54
44
|
}
|
|
55
|
-
|
|
56
45
|
render() {
|
|
57
46
|
var {
|
|
58
47
|
children,
|
|
@@ -81,9 +70,7 @@ class Collapse extends Component {
|
|
|
81
70
|
"data-testid": dataTestId
|
|
82
71
|
}, children));
|
|
83
72
|
}
|
|
84
|
-
|
|
85
73
|
}
|
|
86
|
-
|
|
87
74
|
_defineProperty(Collapse, "propTypes", {
|
|
88
75
|
className: PropTypes.string,
|
|
89
76
|
in: PropTypes.bool.isRequired,
|
|
@@ -91,12 +78,10 @@ _defineProperty(Collapse, "propTypes", {
|
|
|
91
78
|
autoFocusOnShow: PropTypes.bool,
|
|
92
79
|
'data-testid': PropTypes.string
|
|
93
80
|
});
|
|
94
|
-
|
|
95
81
|
_defineProperty(Collapse, "defaultProps", {
|
|
96
82
|
className: '',
|
|
97
83
|
autoFocusOnShow: false,
|
|
98
84
|
'data-testid': undefined
|
|
99
85
|
});
|
|
100
|
-
|
|
101
86
|
export default Collapse;
|
|
102
87
|
//# sourceMappingURL=Collapse.js.map
|
package/dist/Collapse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.js","names":["React","Component","classNames","PropTypes","CSSTransition","Collapse","handleEnter","elemParam","elem","style","height","handleEntering","getHeight","handleExiting","handleExit","scrollBarWidth","scrollWidth","clientWidth","scrollHeight","constructor","props","handleEntered","bind","autoFocusOnShow","undefined","input","querySelector","focus","render","children","className","in","inTransition","dataTestId","enterActive","enterDone","exitActive","exitDone","state","collapse","string","bool","isRequired","node"],"sources":["../src/Collapse.tsx"],"sourcesContent":["// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { CSSTransition } from 'react-transition-group';\n\ninterface CollapseProps {\n className?: string;\n in: boolean;\n children: React.ReactNode;\n autoFocusOnShow?: boolean;\n 'data-testid'?: string;\n}\n\nclass Collapse extends Component<CollapseProps> {\n static propTypes = {\n className: PropTypes.string,\n in: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n autoFocusOnShow: PropTypes.bool,\n 'data-testid': PropTypes.string,\n };\n\n static defaultProps = {\n className: '',\n autoFocusOnShow: false,\n 'data-testid': undefined,\n };\n\n static handleEnter(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '0';\n }\n\n static handleEntering(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = `${Collapse.getHeight(elem)}px`;\n }\n\n static handleExiting(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '0';\n }\n\n static handleExit(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = `${Collapse.getHeight(elem)}px`;\n }\n\n static getHeight(elem: HTMLElement): number {\n const scrollBarWidth = elem.scrollWidth - elem.clientWidth;\n return elem.scrollHeight - scrollBarWidth;\n }\n\n constructor(props: CollapseProps) {\n super(props);\n\n this.handleEntered = this.handleEntered.bind(this);\n }\n\n handleEntered(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '';\n\n const { autoFocusOnShow } = this.props;\n if (autoFocusOnShow !== undefined && autoFocusOnShow) {\n const input = elem.querySelector(\n 'input, select, textarea'\n ) as HTMLInputElement;\n\n if (input != null) {\n input.focus();\n }\n }\n }\n\n render(): JSX.Element {\n const {\n children,\n className,\n in: inTransition,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <CSSTransition\n in={inTransition}\n classNames={{\n enterActive: 'collapsing',\n enterDone: 'collapse show',\n exitActive: 'collapsing',\n exitDone: 'collapse',\n }}\n onEnter={Collapse.handleEnter}\n onEntering={Collapse.handleEntering}\n onEntered={this.handleEntered}\n onExit={Collapse.handleExit}\n onExiting={Collapse.handleExiting}\n timeout={350}\n >\n {state => (\n <div\n className={classNames({ collapse: state === 'exited' }, className)}\n data-testid={dataTestId}\n >\n {children}\n </div>\n )}\n </CSSTransition>\n );\n }\n}\n\nexport default Collapse;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Collapse.js","names":["React","Component","classNames","PropTypes","CSSTransition","Collapse","handleEnter","elemParam","elem","style","height","handleEntering","getHeight","handleExiting","handleExit","scrollBarWidth","scrollWidth","clientWidth","scrollHeight","constructor","props","handleEntered","bind","autoFocusOnShow","undefined","input","querySelector","focus","render","children","className","in","inTransition","dataTestId","enterActive","enterDone","exitActive","exitDone","state","collapse","string","bool","isRequired","node"],"sources":["../src/Collapse.tsx"],"sourcesContent":["// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { CSSTransition } from 'react-transition-group';\n\ninterface CollapseProps {\n className?: string;\n in: boolean;\n children: React.ReactNode;\n autoFocusOnShow?: boolean;\n 'data-testid'?: string;\n}\n\nclass Collapse extends Component<CollapseProps> {\n static propTypes = {\n className: PropTypes.string,\n in: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n autoFocusOnShow: PropTypes.bool,\n 'data-testid': PropTypes.string,\n };\n\n static defaultProps = {\n className: '',\n autoFocusOnShow: false,\n 'data-testid': undefined,\n };\n\n static handleEnter(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '0';\n }\n\n static handleEntering(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = `${Collapse.getHeight(elem)}px`;\n }\n\n static handleExiting(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '0';\n }\n\n static handleExit(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = `${Collapse.getHeight(elem)}px`;\n }\n\n static getHeight(elem: HTMLElement): number {\n const scrollBarWidth = elem.scrollWidth - elem.clientWidth;\n return elem.scrollHeight - scrollBarWidth;\n }\n\n constructor(props: CollapseProps) {\n super(props);\n\n this.handleEntered = this.handleEntered.bind(this);\n }\n\n handleEntered(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '';\n\n const { autoFocusOnShow } = this.props;\n if (autoFocusOnShow !== undefined && autoFocusOnShow) {\n const input = elem.querySelector(\n 'input, select, textarea'\n ) as HTMLInputElement;\n\n if (input != null) {\n input.focus();\n }\n }\n }\n\n render(): JSX.Element {\n const {\n children,\n className,\n in: inTransition,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <CSSTransition\n in={inTransition}\n classNames={{\n enterActive: 'collapsing',\n enterDone: 'collapse show',\n exitActive: 'collapsing',\n exitDone: 'collapse',\n }}\n onEnter={Collapse.handleEnter}\n onEntering={Collapse.handleEntering}\n onEntered={this.handleEntered}\n onExit={Collapse.handleExit}\n onExiting={Collapse.handleExiting}\n timeout={350}\n >\n {state => (\n <div\n className={classNames({ collapse: state === 'exited' }, className)}\n data-testid={dataTestId}\n >\n {children}\n </div>\n )}\n </CSSTransition>\n );\n }\n}\n\nexport default Collapse;\n"],"mappings":";AAAA;AACA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,aAAa,QAAQ,wBAAwB;AAUtD,MAAMC,QAAQ,SAASJ,SAAS,CAAgB;EAe9C,OAAOK,WAAW,CAACC,SAAsB,EAAQ;IAC/C,IAAMC,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,GAAG;EACzB;EAEA,OAAOC,cAAc,CAACJ,SAAsB,EAAQ;IAClD,IAAMC,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACC,KAAK,CAACC,MAAM,aAAML,QAAQ,CAACO,SAAS,CAACJ,IAAI,CAAC,OAAI;EACrD;EAEA,OAAOK,aAAa,CAACN,SAAsB,EAAQ;IACjD,IAAMC,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,GAAG;EACzB;EAEA,OAAOI,UAAU,CAACP,SAAsB,EAAQ;IAC9C,IAAMC,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACC,KAAK,CAACC,MAAM,aAAML,QAAQ,CAACO,SAAS,CAACJ,IAAI,CAAC,OAAI;EACrD;EAEA,OAAOI,SAAS,CAACJ,IAAiB,EAAU;IAC1C,IAAMO,cAAc,GAAGP,IAAI,CAACQ,WAAW,GAAGR,IAAI,CAACS,WAAW;IAC1D,OAAOT,IAAI,CAACU,YAAY,GAAGH,cAAc;EAC3C;EAEAI,WAAW,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC;EACpD;EAEAD,aAAa,CAACd,SAAsB,EAAQ;IAC1C,IAAMC,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,EAAE;IAEtB,IAAM;MAAEa;IAAgB,CAAC,GAAG,IAAI,CAACH,KAAK;IACtC,IAAIG,eAAe,KAAKC,SAAS,IAAID,eAAe,EAAE;MACpD,IAAME,KAAK,GAAGjB,IAAI,CAACkB,aAAa,CAC9B,yBAAyB,CACN;MAErB,IAAID,KAAK,IAAI,IAAI,EAAE;QACjBA,KAAK,CAACE,KAAK,EAAE;MACf;IACF;EACF;EAEAC,MAAM,GAAgB;IACpB,IAAM;MACJC,QAAQ;MACRC,SAAS;MACTC,EAAE,EAAEC,YAAY;MAChB,aAAa,EAAEC;IACjB,CAAC,GAAG,IAAI,CAACb,KAAK;IACd,oBACE,oBAAC,aAAa;MACZ,EAAE,EAAEY,YAAa;MACjB,UAAU,EAAE;QACVE,WAAW,EAAE,YAAY;QACzBC,SAAS,EAAE,eAAe;QAC1BC,UAAU,EAAE,YAAY;QACxBC,QAAQ,EAAE;MACZ,CAAE;MACF,OAAO,EAAEhC,QAAQ,CAACC,WAAY;MAC9B,UAAU,EAAED,QAAQ,CAACM,cAAe;MACpC,SAAS,EAAE,IAAI,CAACU,aAAc;MAC9B,MAAM,EAAEhB,QAAQ,CAACS,UAAW;MAC5B,SAAS,EAAET,QAAQ,CAACQ,aAAc;MAClC,OAAO,EAAE;IAAI,GAEZyB,KAAK,iBACJ;MACE,SAAS,EAAEpC,UAAU,CAAC;QAAEqC,QAAQ,EAAED,KAAK,KAAK;MAAS,CAAC,EAAER,SAAS,CAAE;MACnE,eAAaG;IAAW,GAEvBJ,QAAQ,CAEZ,CACa;EAEpB;AACF;AAAC,gBAhGKxB,QAAQ,eACO;EACjByB,SAAS,EAAE3B,SAAS,CAACqC,MAAM;EAC3BT,EAAE,EAAE5B,SAAS,CAACsC,IAAI,CAACC,UAAU;EAC7Bb,QAAQ,EAAE1B,SAAS,CAACwC,IAAI,CAACD,UAAU;EACnCnB,eAAe,EAAEpB,SAAS,CAACsC,IAAI;EAC/B,aAAa,EAAEtC,SAAS,CAACqC;AAC3B,CAAC;AAAA,gBAPGnC,QAAQ,kBASU;EACpByB,SAAS,EAAE,EAAE;EACbP,eAAe,EAAE,KAAK;EACtB,aAAa,EAAEC;AACjB,CAAC;AAqFH,eAAenB,QAAQ"}
|