@deephaven/components 0.37.4-relative-base.7 → 0.38.1-beta.0

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.
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ export type DebouncedModalProps = {
3
+ /** Whether to block interaction immediately */
4
+ blockInteraction?: boolean;
5
+ /** Children to render after the alloted debounce time */
6
+ children: React.ReactElement;
7
+ /** Time to debounce */
8
+ debounceMs: number;
9
+ /**
10
+ * Will render the `children` `debounceMs` after `isOpen` is set to `true.
11
+ * Will stop rendering immediately after `isOpen` is set to `false`.
12
+ */
13
+ isOpen?: boolean;
14
+ };
15
+ /**
16
+ * Display a modal after a debounce time. Blocks the screen from interaction immediately,
17
+ * but then waits the set debounce time before rendering the modal.
18
+ */
19
+ declare function DebouncedModal({ blockInteraction, children, debounceMs, isOpen, }: DebouncedModalProps): JSX.Element;
20
+ export default DebouncedModal;
21
+ //# sourceMappingURL=DebouncedModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebouncedModal.d.ts","sourceRoot":"","sources":["../../src/modal/DebouncedModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,mBAAmB,GAAG;IAChC,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,yDAAyD;IACzD,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAE7B,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,iBAAS,cAAc,CAAC,EACtB,gBAAuB,EACvB,QAAQ,EACR,UAAU,EACV,MAAc,GACf,EAAE,mBAAmB,eAerB;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { useDebouncedValue } from '@deephaven/react-hooks';
3
+ /**
4
+ * Display a modal after a debounce time. Blocks the screen from interaction immediately,
5
+ * but then waits the set debounce time before rendering the modal.
6
+ */
7
+ function DebouncedModal(_ref) {
8
+ var {
9
+ blockInteraction = true,
10
+ children,
11
+ debounceMs,
12
+ isOpen = false
13
+ } = _ref;
14
+ var debouncedIsOpen = useDebouncedValue(isOpen, debounceMs);
15
+ return /*#__PURE__*/React.createElement(React.Fragment, null, blockInteraction && isOpen && /*#__PURE__*/React.createElement("div", {
16
+ className: "modal-backdrop",
17
+ style: {
18
+ backgroundColor: 'transparent'
19
+ },
20
+ "data-testid": "debounced-modal-backdrop"
21
+ }), /*#__PURE__*/React.cloneElement(children, {
22
+ isOpen: isOpen && debouncedIsOpen
23
+ }));
24
+ }
25
+ export default DebouncedModal;
26
+ //# sourceMappingURL=DebouncedModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebouncedModal.js","names":["React","useDebouncedValue","DebouncedModal","blockInteraction","children","debounceMs","isOpen","debouncedIsOpen","backgroundColor","cloneElement"],"sources":["../../src/modal/DebouncedModal.tsx"],"sourcesContent":["import React from 'react';\nimport { useDebouncedValue } from '@deephaven/react-hooks';\n\nexport type DebouncedModalProps = {\n /** Whether to block interaction immediately */\n blockInteraction?: boolean;\n\n /** Children to render after the alloted debounce time */\n children: React.ReactElement;\n\n /** Time to debounce */\n debounceMs: number;\n\n /**\n * Will render the `children` `debounceMs` after `isOpen` is set to `true.\n * Will stop rendering immediately after `isOpen` is set to `false`.\n */\n isOpen?: boolean;\n};\n\n/**\n * Display a modal after a debounce time. Blocks the screen from interaction immediately,\n * but then waits the set debounce time before rendering the modal.\n */\nfunction DebouncedModal({\n blockInteraction = true,\n children,\n debounceMs,\n isOpen = false,\n}: DebouncedModalProps) {\n const debouncedIsOpen = useDebouncedValue(isOpen, debounceMs);\n\n return (\n <>\n {blockInteraction && isOpen && (\n <div\n className=\"modal-backdrop\"\n style={{ backgroundColor: 'transparent' }}\n data-testid=\"debounced-modal-backdrop\"\n />\n )}\n {React.cloneElement(children, { isOpen: isOpen && debouncedIsOpen })}\n </>\n );\n}\n\nexport default DebouncedModal;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,QAAQ,wBAAwB;AAmB1D;AACA;AACA;AACA;AACA,SAASC,cAAc,OAKC;EAAA,IALA;IACtBC,gBAAgB,GAAG,IAAI;IACvBC,QAAQ;IACRC,UAAU;IACVC,MAAM,GAAG;EACU,CAAC;EACpB,IAAMC,eAAe,GAAGN,iBAAiB,CAACK,MAAM,EAAED,UAAU,CAAC;EAE7D,oBACE,0CACGF,gBAAgB,IAAIG,MAAM,iBACzB;IACE,SAAS,EAAC,gBAAgB;IAC1B,KAAK,EAAE;MAAEE,eAAe,EAAE;IAAc,CAAE;IAC1C,eAAY;EAA0B,EAEzC,eACAR,KAAK,CAACS,YAAY,CAACL,QAAQ,EAAE;IAAEE,MAAM,EAAEA,MAAM,IAAIC;EAAgB,CAAC,CAAC,CACnE;AAEP;AAEA,eAAeL,cAAc"}
@@ -2,12 +2,21 @@ import React from 'react';
2
2
  import { IconProp } from '@fortawesome/fontawesome-svg-core';
3
3
  import './InfoModal.scss';
4
4
  type InfoModalProps = {
5
+ /** Class name to give the info modal */
5
6
  className?: string;
7
+ /** Icon to display in the modal */
6
8
  icon?: IconProp;
9
+ /** Title to display in the modal */
7
10
  title: React.ReactNode;
11
+ /** Subtitle/detail to display in the modal */
8
12
  subtitle?: React.ReactNode;
9
- isOpen: boolean;
13
+ /** Whether the modal is open/visible or not. */
14
+ isOpen?: boolean;
10
15
  };
16
+ /**
17
+ * A modal that displays a message with an icon. Can be used for informational messages, warnings, or errors.
18
+ * Does not have any buttons and cannot be dismissed.
19
+ */
11
20
  declare function InfoModal({ className, icon, isOpen, subtitle, title, }: InfoModalProps): JSX.Element;
12
21
  export default InfoModal;
13
22
  //# sourceMappingURL=InfoModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InfoModal.d.ts","sourceRoot":"","sources":["../../src/modal/InfoModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,kBAAkB,CAAC;AAE1B,KAAK,cAAc,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAkB9B;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"InfoModal.d.ts","sourceRoot":"","sources":["../../src/modal/InfoModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,kBAAkB,CAAC;AAE1B,KAAK,cAAc,GAAG;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mCAAmC;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,oCAAoC;IACpC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,IAAI,EACJ,MAAc,EACd,QAAQ,EACR,KAAK,GACN,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAkB9B;AAED,eAAe,SAAS,CAAC"}
@@ -3,11 +3,15 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
3
  import Modal from "./Modal.js";
4
4
  import ModalBody from "./ModalBody.js";
5
5
  import "./InfoModal.css";
6
+ /**
7
+ * A modal that displays a message with an icon. Can be used for informational messages, warnings, or errors.
8
+ * Does not have any buttons and cannot be dismissed.
9
+ */
6
10
  function InfoModal(_ref) {
7
11
  var {
8
12
  className,
9
13
  icon,
10
- isOpen,
14
+ isOpen = false,
11
15
  subtitle,
12
16
  title
13
17
  } = _ref;
@@ -1 +1 @@
1
- {"version":3,"file":"InfoModal.js","names":["React","FontAwesomeIcon","Modal","ModalBody","InfoModal","className","icon","isOpen","subtitle","title"],"sources":["../../src/modal/InfoModal.tsx"],"sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport Modal from './Modal';\nimport ModalBody from './ModalBody';\nimport './InfoModal.scss';\n\ntype InfoModalProps = {\n className?: string;\n icon?: IconProp;\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n isOpen: boolean;\n};\n\nfunction InfoModal({\n className,\n icon,\n isOpen,\n subtitle,\n title,\n}: InfoModalProps): JSX.Element {\n return (\n <Modal isOpen={isOpen} className={className}>\n <ModalBody>\n <div className=\"info-modal\">\n {icon != null && (\n <div className=\"message-icon\">\n <FontAwesomeIcon icon={icon} />\n </div>\n )}\n <div className=\"message-header\">{title}</div>\n {subtitle != null && (\n <div className=\"message-content\">{subtitle}</div>\n )}\n </div>\n </ModalBody>\n </Modal>\n );\n}\n\nexport default InfoModal;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAAC,OAE1DC,KAAK;AAAA,OACLC,SAAS;AAAA;AAWhB,SAASC,SAAS,OAMc;EAAA,IANb;IACjBC,SAAS;IACTC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC;EACc,CAAC;EACf,oBACE,oBAAC,KAAK;IAAC,MAAM,EAAEF,MAAO;IAAC,SAAS,EAAEF;EAAU,gBAC1C,oBAAC,SAAS,qBACR;IAAK,SAAS,EAAC;EAAY,GACxBC,IAAI,IAAI,IAAI,iBACX;IAAK,SAAS,EAAC;EAAc,gBAC3B,oBAAC,eAAe;IAAC,IAAI,EAAEA;EAAK,EAAG,CAElC,eACD;IAAK,SAAS,EAAC;EAAgB,GAAEG,KAAK,CAAO,EAC5CD,QAAQ,IAAI,IAAI,iBACf;IAAK,SAAS,EAAC;EAAiB,GAAEA,QAAQ,CAC3C,CACG,CACI,CACN;AAEZ;AAEA,eAAeJ,SAAS"}
1
+ {"version":3,"file":"InfoModal.js","names":["React","FontAwesomeIcon","Modal","ModalBody","InfoModal","className","icon","isOpen","subtitle","title"],"sources":["../../src/modal/InfoModal.tsx"],"sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport Modal from './Modal';\nimport ModalBody from './ModalBody';\nimport './InfoModal.scss';\n\ntype InfoModalProps = {\n /** Class name to give the info modal */\n className?: string;\n\n /** Icon to display in the modal */\n icon?: IconProp;\n\n /** Title to display in the modal */\n title: React.ReactNode;\n\n /** Subtitle/detail to display in the modal */\n subtitle?: React.ReactNode;\n\n /** Whether the modal is open/visible or not. */\n isOpen?: boolean;\n};\n\n/**\n * A modal that displays a message with an icon. Can be used for informational messages, warnings, or errors.\n * Does not have any buttons and cannot be dismissed.\n */\nfunction InfoModal({\n className,\n icon,\n isOpen = false,\n subtitle,\n title,\n}: InfoModalProps): JSX.Element {\n return (\n <Modal isOpen={isOpen} className={className}>\n <ModalBody>\n <div className=\"info-modal\">\n {icon != null && (\n <div className=\"message-icon\">\n <FontAwesomeIcon icon={icon} />\n </div>\n )}\n <div className=\"message-header\">{title}</div>\n {subtitle != null && (\n <div className=\"message-content\">{subtitle}</div>\n )}\n </div>\n </ModalBody>\n </Modal>\n );\n}\n\nexport default InfoModal;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAAC,OAE1DC,KAAK;AAAA,OACLC,SAAS;AAAA;AAoBhB;AACA;AACA;AACA;AACA,SAASC,SAAS,OAMc;EAAA,IANb;IACjBC,SAAS;IACTC,IAAI;IACJC,MAAM,GAAG,KAAK;IACdC,QAAQ;IACRC;EACc,CAAC;EACf,oBACE,oBAAC,KAAK;IAAC,MAAM,EAAEF,MAAO;IAAC,SAAS,EAAEF;EAAU,gBAC1C,oBAAC,SAAS,qBACR;IAAK,SAAS,EAAC;EAAY,GACxBC,IAAI,IAAI,IAAI,iBACX;IAAK,SAAS,EAAC;EAAc,gBAC3B,oBAAC,eAAe;IAAC,IAAI,EAAEA;EAAK,EAAG,CAElC,eACD;IAAK,SAAS,EAAC;EAAgB,GAAEG,KAAK,CAAO,EAC5CD,QAAQ,IAAI,IAAI,iBACf;IAAK,SAAS,EAAC;EAAiB,GAAEA,QAAQ,CAC3C,CACG,CACI,CACN;AAEZ;AAEA,eAAeJ,SAAS"}
@@ -1,3 +1,4 @@
1
+ export { default as DebouncedModal } from './DebouncedModal';
1
2
  export { default as InfoModal } from './InfoModal';
2
3
  export { default as Modal } from './Modal';
3
4
  export { default as ModalBody } from './ModalBody';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { default as DebouncedModal } from "./DebouncedModal.js";
1
2
  export { default as InfoModal } from "./InfoModal.js";
2
3
  export { default as Modal } from "./Modal.js";
3
4
  export { default as ModalBody } from "./ModalBody.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","InfoModal","Modal","ModalBody","ModalHeader","ModalFooter"],"sources":["../../src/modal/index.ts"],"sourcesContent":["export { default as InfoModal } from './InfoModal';\nexport { default as Modal } from './Modal';\nexport { default as ModalBody } from './ModalBody';\nexport { default as ModalHeader } from './ModalHeader';\nexport { default as ModalFooter } from './ModalFooter';\n"],"mappings":"SAASA,OAAO,IAAIC,SAAS;AAAA,SACpBD,OAAO,IAAIE,KAAK;AAAA,SAChBF,OAAO,IAAIG,SAAS;AAAA,SACpBH,OAAO,IAAII,WAAW;AAAA,SACtBJ,OAAO,IAAIK,WAAW"}
1
+ {"version":3,"file":"index.js","names":["default","DebouncedModal","InfoModal","Modal","ModalBody","ModalHeader","ModalFooter"],"sources":["../../src/modal/index.ts"],"sourcesContent":["export { default as DebouncedModal } from './DebouncedModal';\nexport { default as InfoModal } from './InfoModal';\nexport { default as Modal } from './Modal';\nexport { default as ModalBody } from './ModalBody';\nexport { default as ModalHeader } from './ModalHeader';\nexport { default as ModalFooter } from './ModalFooter';\n"],"mappings":"SAASA,OAAO,IAAIC,cAAc;AAAA,SACzBD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,KAAK;AAAA,SAChBH,OAAO,IAAII,SAAS;AAAA,SACpBJ,OAAO,IAAIK,WAAW;AAAA,SACtBL,OAAO,IAAIM,WAAW"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/components",
3
- "version": "0.37.4-relative-base.7+20f2a47f",
3
+ "version": "0.38.1-beta.0+e334848a",
4
4
  "description": "Deephaven React component library",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -23,10 +23,10 @@
23
23
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist ./scss/BaseStyleSheet.scss:./css/BaseStyleSheet.css"
24
24
  },
25
25
  "dependencies": {
26
- "@deephaven/icons": "^0.37.4-relative-base.7+20f2a47f",
27
- "@deephaven/log": "^0.37.4-relative-base.7+20f2a47f",
28
- "@deephaven/react-hooks": "^0.37.4-relative-base.7+20f2a47f",
29
- "@deephaven/utils": "^0.37.4-relative-base.7+20f2a47f",
26
+ "@deephaven/icons": "^0.38.1-beta.0+e334848a",
27
+ "@deephaven/log": "^0.38.1-beta.0+e334848a",
28
+ "@deephaven/react-hooks": "^0.38.1-beta.0+e334848a",
29
+ "@deephaven/utils": "^0.38.1-beta.0+e334848a",
30
30
  "@fortawesome/fontawesome-svg-core": "^6.2.1",
31
31
  "@fortawesome/react-fontawesome": "^0.2.0",
32
32
  "@react-spectrum/theme-default": "^3.5.1",
@@ -50,8 +50,8 @@
50
50
  "react-dom": "^17.x"
51
51
  },
52
52
  "devDependencies": {
53
- "@deephaven/mocks": "^0.37.4-relative-base.7+20f2a47f",
54
- "@deephaven/tsconfig": "^0.37.4-relative-base.7+20f2a47f"
53
+ "@deephaven/mocks": "^0.38.1-beta.0+e334848a",
54
+ "@deephaven/tsconfig": "^0.38.1-beta.0+e334848a"
55
55
  },
56
56
  "files": [
57
57
  "dist",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "20f2a47fb8e6fed1478d38dc39ae55747ad446ea"
67
+ "gitHead": "e334848a2fd464c9c4b7a0d898ee6a9dc3dff9ac"
68
68
  }