@activecollab/components 1.0.192 → 1.0.194

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.
Files changed (58) hide show
  1. package/dist/cjs/components/Chip/Chip.js +12 -10
  2. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  3. package/dist/cjs/components/Chip/Styles.js +2 -5
  4. package/dist/cjs/components/Chip/Styles.js.map +1 -1
  5. package/dist/cjs/components/ComboBox/ComboBox.js +3 -2
  6. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  7. package/dist/cjs/components/Dialog/Dialog.js +5 -2
  8. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  9. package/dist/cjs/components/Icons/collection/EstimatePlus.js +34 -0
  10. package/dist/cjs/components/Icons/collection/EstimatePlus.js.map +1 -0
  11. package/dist/cjs/components/Icons/collection/index.js +8 -0
  12. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  13. package/dist/cjs/components/Modal/Modal.js +5 -2
  14. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  15. package/dist/cjs/components/Window/Window.js +5 -3
  16. package/dist/cjs/components/Window/Window.js.map +1 -1
  17. package/dist/cjs/components/Wizard/Wizard.js +4 -1
  18. package/dist/cjs/components/Wizard/Wizard.js.map +1 -1
  19. package/dist/esm/components/Chip/Chip.d.ts +3 -1
  20. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  21. package/dist/esm/components/Chip/Chip.js +12 -10
  22. package/dist/esm/components/Chip/Chip.js.map +1 -1
  23. package/dist/esm/components/Chip/Styles.d.ts +0 -1
  24. package/dist/esm/components/Chip/Styles.d.ts.map +1 -1
  25. package/dist/esm/components/Chip/Styles.js +2 -5
  26. package/dist/esm/components/Chip/Styles.js.map +1 -1
  27. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  28. package/dist/esm/components/ComboBox/ComboBox.js +3 -2
  29. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  30. package/dist/esm/components/Dialog/Dialog.d.ts +1 -0
  31. package/dist/esm/components/Dialog/Dialog.d.ts.map +1 -1
  32. package/dist/esm/components/Dialog/Dialog.js +5 -2
  33. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  34. package/dist/esm/components/Icons/collection/EstimatePlus.d.ts +4 -0
  35. package/dist/esm/components/Icons/collection/EstimatePlus.d.ts.map +1 -0
  36. package/dist/esm/components/Icons/collection/EstimatePlus.js +21 -0
  37. package/dist/esm/components/Icons/collection/EstimatePlus.js.map +1 -0
  38. package/dist/esm/components/Icons/collection/index.d.ts +1 -0
  39. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  40. package/dist/esm/components/Icons/collection/index.js +1 -0
  41. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  42. package/dist/esm/components/Modal/Modal.d.ts +1 -0
  43. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  44. package/dist/esm/components/Modal/Modal.js +5 -2
  45. package/dist/esm/components/Modal/Modal.js.map +1 -1
  46. package/dist/esm/components/Window/Window.d.ts +1 -0
  47. package/dist/esm/components/Window/Window.d.ts.map +1 -1
  48. package/dist/esm/components/Window/Window.js +5 -3
  49. package/dist/esm/components/Window/Window.js.map +1 -1
  50. package/dist/esm/components/Wizard/Wizard.d.ts +1 -0
  51. package/dist/esm/components/Wizard/Wizard.d.ts.map +1 -1
  52. package/dist/esm/components/Wizard/Wizard.js +4 -1
  53. package/dist/esm/components/Wizard/Wizard.js.map +1 -1
  54. package/dist/index.js +56 -25
  55. package/dist/index.js.map +1 -1
  56. package/dist/index.min.js +1 -1
  57. package/dist/index.min.js.map +1 -1
  58. package/package.json +1 -1
@@ -13,7 +13,7 @@ var _Styles = require("./Styles");
13
13
 
14
14
  var _Typography = require("../Typography/Typography");
15
15
 
16
- var _excluded = ["leftAdornment", "label", "onClose", "size", "color", "backgroundColor", "closeClassName", "isLabel"];
16
+ var _excluded = ["leftAdornment", "label", "onClose", "size", "color", "backgroundColor", "closeClassName", "variant", "typographyProps"];
17
17
 
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
19
 
@@ -34,13 +34,15 @@ var Chip = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
34
34
  color = _ref.color,
35
35
  backgroundColor = _ref.backgroundColor,
36
36
  closeClassName = _ref.closeClassName,
37
- isLabel = _ref.isLabel,
37
+ variant = _ref.variant,
38
+ typographyProps = _ref.typographyProps,
38
39
  rest = _objectWithoutProperties(_ref, _excluded);
39
40
 
40
41
  var showClose = typeof onClose === "function";
41
- var variant = (0, _react.useMemo)(function () {
42
- if (isLabel) {
43
- return "Caption 2";
42
+
43
+ var _variant = (0, _react.useMemo)(function () {
44
+ if (typeof variant !== "undefined") {
45
+ return variant;
44
46
  }
45
47
 
46
48
  switch (size) {
@@ -53,19 +55,19 @@ var Chip = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
53
55
  default:
54
56
  return "Caption 1";
55
57
  }
56
- }, [isLabel, size]);
58
+ }, [variant, size]);
59
+
57
60
  return /*#__PURE__*/_react.default.createElement(_Styles.ChipContainer, _extends({}, rest, {
58
61
  ref: ref,
59
62
  $size: size,
60
63
  $showClose: showClose,
61
64
  $color: color,
62
65
  $backgroundColor: backgroundColor,
63
- $isLabel: isLabel,
64
66
  "data-testid": "chip-container"
65
- }), leftAdornment, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
66
- variant: variant,
67
+ }), leftAdornment, /*#__PURE__*/_react.default.createElement(_Typography.Typography, _extends({
68
+ variant: _variant,
67
69
  "data-testid": "chip-typography"
68
- }, label), showClose ? /*#__PURE__*/_react.default.createElement(_Styles.ChipTrigger, {
70
+ }, typographyProps), label), showClose ? /*#__PURE__*/_react.default.createElement(_Styles.ChipTrigger, {
69
71
  $size: size,
70
72
  onClick: onClose,
71
73
  className: closeClassName
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["Chip","React","forwardRef","ref","leftAdornment","label","onClose","size","color","backgroundColor","closeClassName","isLabel","rest","showClose","variant","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;;;;;AAaO,IAAMA,IAAI,gBAAGC,eAAMC,UAAN,CAIlB,gBAYEC,GAZF,EAaK;AAAA,MAXDC,aAWC,QAXDA,aAWC;AAAA,MAVDC,KAUC,QAVDA,KAUC;AAAA,MATDC,OASC,QATDA,OASC;AAAA,uBARDC,IAQC;AAAA,MARDA,IAQC,0BARM,SAQN;AAAA,MAPDC,KAOC,QAPDA,KAOC;AAAA,MANDC,eAMC,QANDA,eAMC;AAAA,MALDC,cAKC,QALDA,cAKC;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,SAAS,GAAG,OAAOP,OAAP,KAAmB,UAArC;AACA,MAAMQ,OAAO,GAAG,oBAAQ,YAAM;AAC5B,QAAIH,OAAJ,EAAa;AACX,aAAO,WAAP;AACD;;AACD,YAAQJ,IAAR;AACE,WAAK,SAAL;AACE,eAAO,QAAP;;AACF,WAAK,KAAL;AACE,eAAO,QAAP;;AACF;AACE,eAAO,WAAP;AANJ;AAQD,GAZe,EAYb,CAACI,OAAD,EAAUJ,IAAV,CAZa,CAAhB;AAaA,sBACE,6BAAC,qBAAD,eACMK,IADN;AAEE,IAAA,GAAG,EAAET,GAFP;AAGE,IAAA,KAAK,EAAEI,IAHT;AAIE,IAAA,UAAU,EAAEM,SAJd;AAKE,IAAA,MAAM,EAAEL,KALV;AAME,IAAA,gBAAgB,EAAEC,eANpB;AAOE,IAAA,QAAQ,EAAEE,OAPZ;AAQE,mBAAa;AARf,MAUGP,aAVH,eAWE,6BAAC,sBAAD;AAAY,IAAA,OAAO,EAAEU,OAArB;AAA8B,mBAAa;AAA3C,KACGT,KADH,CAXF,EAcGQ,SAAS,gBACR,6BAAC,mBAAD;AACE,IAAA,KAAK,EAAEN,IADT;AAEE,IAAA,OAAO,EAAED,OAFX;AAGE,IAAA,SAAS,EAAEI;AAHb,kBAKE,6BAAC,qBAAD;AAAe,IAAA,IAAI,EAAEF,KAAK,GAAGA,KAAH,GAAW;AAArC,IALF,CADQ,GAQN,IAtBN,CADF;AA0BD,CA1DiB,CAAb;;;AA6DPR,IAAI,CAACe,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n isLabel?: boolean;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n isLabel,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const variant = useMemo(() => {\n if (isLabel) {\n return \"Caption 2\";\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [isLabel, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n $isLabel={isLabel}\n data-testid={\"chip-container\"}\n >\n {leftAdornment}\n <Typography variant={variant} data-testid={\"chip-typography\"}>\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n"],"file":"Chip.js"}
1
+ {"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["Chip","React","forwardRef","ref","leftAdornment","label","onClose","size","color","backgroundColor","closeClassName","variant","typographyProps","rest","showClose","_variant","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;;;;;AAkBO,IAAMA,IAAI,gBAAGC,eAAMC,UAAN,CAIlB,gBAaEC,GAbF,EAcK;AAAA,MAZDC,aAYC,QAZDA,aAYC;AAAA,MAXDC,KAWC,QAXDA,KAWC;AAAA,MAVDC,OAUC,QAVDA,OAUC;AAAA,uBATDC,IASC;AAAA,MATDA,IASC,0BATM,SASN;AAAA,MARDC,KAQC,QARDA,KAQC;AAAA,MAPDC,eAOC,QAPDA,eAOC;AAAA,MANDC,cAMC,QANDA,cAMC;AAAA,MALDC,OAKC,QALDA,OAKC;AAAA,MAJDC,eAIC,QAJDA,eAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,SAAS,GAAG,OAAOR,OAAP,KAAmB,UAArC;;AACA,MAAMS,QAAQ,GAAG,oBAAQ,YAAM;AAC7B,QAAI,OAAOJ,OAAP,KAAmB,WAAvB,EAAoC;AAClC,aAAOA,OAAP;AACD;;AACD,YAAQJ,IAAR;AACE,WAAK,SAAL;AACE,eAAO,QAAP;;AACF,WAAK,KAAL;AACE,eAAO,QAAP;;AACF;AACE,eAAO,WAAP;AANJ;AAQD,GAZgB,EAYd,CAACI,OAAD,EAAUJ,IAAV,CAZc,CAAjB;;AAaA,sBACE,6BAAC,qBAAD,eACMM,IADN;AAEE,IAAA,GAAG,EAAEV,GAFP;AAGE,IAAA,KAAK,EAAEI,IAHT;AAIE,IAAA,UAAU,EAAEO,SAJd;AAKE,IAAA,MAAM,EAAEN,KALV;AAME,IAAA,gBAAgB,EAAEC,eANpB;AAOE,mBAAa;AAPf,MASGL,aATH,eAUE,6BAAC,sBAAD;AACE,IAAA,OAAO,EAAEW,QADX;AAEE,mBAAa;AAFf,KAGMH,eAHN,GAKGP,KALH,CAVF,EAiBGS,SAAS,gBACR,6BAAC,mBAAD;AACE,IAAA,KAAK,EAAEP,IADT;AAEE,IAAA,OAAO,EAAED,OAFX;AAGE,IAAA,SAAS,EAAEI;AAHb,kBAKE,6BAAC,qBAAD;AAAe,IAAA,IAAI,EAAEF,KAAK,GAAGA,KAAH,GAAW;AAArC,IALF,CADQ,GAQN,IAzBN,CADF;AA6BD,CA9DiB,CAAb;;;AAiEPR,IAAI,CAACgB,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport {\n Typography,\n Variant,\n ITypographyProps,\n} from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n variant?: Variant;\n typographyProps?: ITypographyProps;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n variant,\n typographyProps,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const _variant = useMemo(() => {\n if (typeof variant !== \"undefined\") {\n return variant;\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [variant, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n data-testid={\"chip-container\"}\n >\n {leftAdornment}\n <Typography\n variant={_variant}\n data-testid={\"chip-typography\"}\n {...typographyProps}\n >\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n"],"file":"Chip.js"}
@@ -26,7 +26,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
26
26
  var ChipContainer = _styledComponents.default.div.withConfig({
27
27
  displayName: "Styles__ChipContainer",
28
28
  componentId: "sc-7s0bd1-0"
29
- })(["min-width:44px;max-width:220px;", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "{", " ", "}", " ", " ", " ", " ", " ", " ", ""], {
29
+ })(["max-width:220px;", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "{", " ", "}", " ", " ", " ", " ", " ", ""], {
30
30
  "height": "1.5rem"
31
31
  }, {
32
32
  "borderRadius": "0.25rem"
@@ -60,10 +60,7 @@ var ChipContainer = _styledComponents.default.div.withConfig({
60
60
  var $color = _ref.$color;
61
61
  return $color && (0, _styledComponents.css)(["", "{color:", ";}"], _Styles.StyledTypography, $color);
62
62
  }, function (_ref2) {
63
- var $isLabel = _ref2.$isLabel;
64
- return $isLabel && (0, _styledComponents.css)(["", "{color:#303037;}"], _Styles.StyledTypography);
65
- }, function (_ref3) {
66
- var $backgroundColor = _ref3.$backgroundColor;
63
+ var $backgroundColor = _ref2.$backgroundColor;
67
64
  return $backgroundColor && (0, _styledComponents.css)(["background-color:", ";"], $backgroundColor);
68
65
  }, function (props) {
69
66
  return props.$showClose ? null : (0, _styledComponents.css)(["", ""], {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Chip/Styles.ts"],"names":["ChipContainer","styled","div","FontStyle","BoxSizingStyle","StyledTypography","$color","css","$isLabel","$backgroundColor","props","$showClose","$size","displayName","ChipLabel","span","ChipTrigger","Trigger","ChipCloseIcon","CloseSmallIcon"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,aAAa,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,+JASpB;AAAA;AAAA,CAToB,EAUpB;AAAA;AAAA,CAVoB,EAWpB;AAAA;AAAA,CAXoB,EAYpB;AAAA;AAAA,CAZoB,EAapB;AAAA;AAAA,CAboB,EAcpB;AAAA;AAAA,CAdoB,EAgBtBC,oBAhBsB,EAiBtBC,8BAjBsB,EAoBpB;AAAA;AAAA,CApBoB,EAqBpB;AAAA;AAAA,CArBoB,EAsBpB;AAAA;AAAA,CAtBoB,EAuBpB;AAAA;AAAA,CAvBoB,EAwBpB;AAAA;AAAA,CAxBoB,EA2BpB;AAAA;AAAA,CA3BoB,EA6BtBC,wBA7BsB,EA8BlB;AAAA;AAAA,CA9BkB,EA+BlB;AAAA;AAAA;AAAA;AAAA,CA/BkB,EAkCtB;AAAA,MAAGC,MAAH,QAAGA,MAAH;AAAA,SACAA,MAAM,QACNC,qBADM,yBAEFF,wBAFE,EAGOC,MAHP,CADN;AAAA,CAlCsB,EAyCtB;AAAA,MAAGE,QAAH,SAAGA,QAAH;AAAA,SACAA,QAAQ,QACRD,qBADQ,4BAEJF,wBAFI,CADR;AAAA,CAzCsB,EAiDtB;AAAA,MAAGI,gBAAH,SAAGA,gBAAH;AAAA,SACAA,gBAAgB,QAChBF,qBADgB,8BAEME,gBAFN,CADhB;AAAA,CAjDsB,EAuDtB,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,GACI,IADJ,OAEIJ,qBAFJ,YAGU;AAAA;AAAA,GAHV,CADA;AAAA,CAvDsB,EA8DtB,UAACG,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,SAAhB,QACAL,qBADA,mBADA;AAAA,CA9DsB,EAoEtB,UAACG,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,OAAhB,QACAL,qBADA,mBADA;AAAA,CApEsB,EA0EtB,UAACG,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,KAAhB,QACAL,qBADA,mBADA;AAAA,CA1EsB,CAAnB;;;AAiFPP,aAAa,CAACa,WAAd,GAA4B,eAA5B;;AAEO,IAAMC,SAAS,GAAGb,0BAAOc,IAAV;AAAA;AAAA;AAAA,kBAChB;AAAA;AAAA,CADgB,EAEhB;AAAA;AAAA;AAAA;AAAA,CAFgB,CAAf;;;AAKPD,SAAS,CAACD,WAAV,GAAwB,WAAxB;AAEO,IAAMG,WAAW,GAAG,+BAAOC,gBAAP,CAAH;AAAA;AAAA;AAAA,wDAClB;AAAA;AAAA,CADkB,EAElB;AAAA;AAAA,CAFkB,EAGlB;AAAA;AAAA,CAHkB,EAIlB;AAAA;AAAA,CAJkB,EAQhB;AAAA;AAAA,CARgB,EAWpB,UAACP,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,SAAhB,QACAL,qBADA,8BADA;AAAA,CAXoB,EAkBpB,UAACG,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,OAAhB,QACAL,qBADA,8BADA;AAAA,CAlBoB,EAyBpB,UAACG,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,KAAhB,QACAL,qBADA,8BADA;AAAA,CAzBoB,CAAjB;;AAiCPS,WAAW,CAACH,WAAZ,GAA0B,aAA1B;AAEO,IAAMK,aAAa,GAAG,+BAAOC,qBAAP,CAAH;AAAA;AAAA;AAAA,aACpB;AAAA;AAAA,CADoB,CAAnB;;AAIPD,aAAa,CAACL,WAAd,GAA4B,eAA5B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Trigger } from \"../Trigger\";\nimport { FontStyle } from \"../FontStyle\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\nexport const ChipContainer = styled.div<{\n $showClose?: boolean;\n $size?: string;\n $color?: string;\n $backgroundColor?: string;\n $isLabel?: boolean;\n}>`\n min-width: 44px;\n max-width: 220px;\n ${tw`tw-h-6`}\n ${tw`tw-rounded`}\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-pl-1.5`}\n ${tw`tw-overflow-hidden`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n // font\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n\n // background\n ${tw`tw-bg-theme-400`}\n\n ${StyledTypography} {\n ${tw`tw-flex-1`}\n ${tw`tw-truncate`}\n }\n\n ${({ $color }) =>\n $color &&\n css`\n ${StyledTypography} {\n color: ${$color};\n }\n `}\n ${({ $isLabel }) =>\n $isLabel &&\n css`\n ${StyledTypography} {\n color: #303037;\n }\n `}\n\n ${({ $backgroundColor }) =>\n $backgroundColor &&\n css`\n background-color: ${$backgroundColor};\n `}\n\n ${(props) =>\n props.$showClose\n ? null\n : css`\n ${tw`tw-pr-1.5`}\n `}\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n ${tw`tw-w-full`}\n ${tw`tw-truncate`}\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<{ $size?: string }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-justify-center`}\n ${tw`tw-ml-0.5`}\n\n\n &:hover {\n ${tw`tw-bg-theme-transparent-400`}\n }\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n ${tw`tw-text-theme-700`}\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Chip/Styles.ts"],"names":["ChipContainer","styled","div","FontStyle","BoxSizingStyle","StyledTypography","$color","css","$backgroundColor","props","$showClose","$size","displayName","ChipLabel","span","ChipTrigger","Trigger","ChipCloseIcon","CloseSmallIcon"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,aAAa,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,2IAOpB;AAAA;AAAA,CAPoB,EAQpB;AAAA;AAAA,CARoB,EASpB;AAAA;AAAA,CAToB,EAUpB;AAAA;AAAA,CAVoB,EAWpB;AAAA;AAAA,CAXoB,EAYpB;AAAA;AAAA,CAZoB,EActBC,oBAdsB,EAetBC,8BAfsB,EAkBpB;AAAA;AAAA,CAlBoB,EAmBpB;AAAA;AAAA,CAnBoB,EAoBpB;AAAA;AAAA,CApBoB,EAqBpB;AAAA;AAAA,CArBoB,EAsBpB;AAAA;AAAA,CAtBoB,EAyBpB;AAAA;AAAA,CAzBoB,EA2BtBC,wBA3BsB,EA4BlB;AAAA;AAAA,CA5BkB,EA6BlB;AAAA;AAAA;AAAA;AAAA,CA7BkB,EAgCtB;AAAA,MAAGC,MAAH,QAAGA,MAAH;AAAA,SACAA,MAAM,QACNC,qBADM,yBAEFF,wBAFE,EAGOC,MAHP,CADN;AAAA,CAhCsB,EAwCtB;AAAA,MAAGE,gBAAH,SAAGA,gBAAH;AAAA,SACAA,gBAAgB,QAChBD,qBADgB,8BAEMC,gBAFN,CADhB;AAAA,CAxCsB,EA8CtB,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,GACI,IADJ,OAEIH,qBAFJ,YAGU;AAAA;AAAA,GAHV,CADA;AAAA,CA9CsB,EAqDtB,UAACE,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,SAAhB,QACAJ,qBADA,mBADA;AAAA,CArDsB,EA2DtB,UAACE,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,OAAhB,QACAJ,qBADA,mBADA;AAAA,CA3DsB,EAiEtB,UAACE,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,KAAhB,QACAJ,qBADA,mBADA;AAAA,CAjEsB,CAAnB;;;AAwEPP,aAAa,CAACY,WAAd,GAA4B,eAA5B;;AAEO,IAAMC,SAAS,GAAGZ,0BAAOa,IAAV;AAAA;AAAA;AAAA,kBAChB;AAAA;AAAA,CADgB,EAEhB;AAAA;AAAA;AAAA;AAAA,CAFgB,CAAf;;;AAKPD,SAAS,CAACD,WAAV,GAAwB,WAAxB;AAEO,IAAMG,WAAW,GAAG,+BAAOC,gBAAP,CAAH;AAAA;AAAA;AAAA,wDAClB;AAAA;AAAA,CADkB,EAElB;AAAA;AAAA,CAFkB,EAGlB;AAAA;AAAA,CAHkB,EAIlB;AAAA;AAAA,CAJkB,EAQhB;AAAA;AAAA,CARgB,EAWpB,UAACP,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,SAAhB,QACAJ,qBADA,8BADA;AAAA,CAXoB,EAkBpB,UAACE,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,OAAhB,QACAJ,qBADA,8BADA;AAAA,CAlBoB,EAyBpB,UAACE,KAAD;AAAA,SACAA,KAAK,CAACE,KAAN,KAAgB,KAAhB,QACAJ,qBADA,8BADA;AAAA,CAzBoB,CAAjB;;AAiCPQ,WAAW,CAACH,WAAZ,GAA0B,aAA1B;AAEO,IAAMK,aAAa,GAAG,+BAAOC,qBAAP,CAAH;AAAA;AAAA;AAAA,aACpB;AAAA;AAAA,CADoB,CAAnB;;AAIPD,aAAa,CAACL,WAAd,GAA4B,eAA5B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Trigger } from \"../Trigger\";\nimport { FontStyle } from \"../FontStyle\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\nexport const ChipContainer = styled.div<{\n $showClose?: boolean;\n $size?: string;\n $color?: string;\n $backgroundColor?: string;\n}>`\n max-width: 220px;\n ${tw`tw-h-6`}\n ${tw`tw-rounded`}\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-pl-1.5`}\n ${tw`tw-overflow-hidden`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n // font\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n\n // background\n ${tw`tw-bg-theme-400`}\n\n ${StyledTypography} {\n ${tw`tw-flex-1`}\n ${tw`tw-truncate`}\n }\n\n ${({ $color }) =>\n $color &&\n css`\n ${StyledTypography} {\n color: ${$color};\n }\n `}\n\n ${({ $backgroundColor }) =>\n $backgroundColor &&\n css`\n background-color: ${$backgroundColor};\n `}\n\n ${(props) =>\n props.$showClose\n ? null\n : css`\n ${tw`tw-pr-1.5`}\n `}\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n ${tw`tw-w-full`}\n ${tw`tw-truncate`}\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<{ $size?: string }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-justify-center`}\n ${tw`tw-ml-0.5`}\n\n\n &:hover {\n ${tw`tw-bg-theme-transparent-400`}\n }\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n ${tw`tw-text-theme-700`}\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n"],"file":"Styles.js"}
@@ -304,9 +304,10 @@ var ComboBox = function ComboBox(_ref) {
304
304
  label: option.name,
305
305
  key: index,
306
306
  backgroundColor: option.color,
307
- isLabel: Boolean(option.color),
307
+ color: "#303037",
308
308
  onClose: showOnClose ? onClose : undefined,
309
- size: size
309
+ size: size,
310
+ variant: "Caption 2"
310
311
  });
311
312
  }, [disabled, onChange, renderChip, selected, size]);
312
313
  var autoSize = (0, _react.useMemo)(function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","onClose","Array","isArray","includes","newSelected","filter","item","showOnClose","Boolean","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, IAvatar } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\n\nexport interface IComboBoxProps\n extends Omit<IAutocompleteProps, \"handleChange\" | \"inputEl\"> {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n onChange?.(selectedValue);\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n setOpen(false);\n },\n [type, onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<IAvatar> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className={\"c-combo-box-chip\"}\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n isLabel={Boolean(option.color)}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className={\"c-combo-box-input\"}\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid={\"deselect-all\"}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
1
+ {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","onClose","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, IAvatar } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\n\nexport interface IComboBoxProps\n extends Omit<IAutocompleteProps, \"handleChange\" | \"inputEl\"> {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n onChange?.(selectedValue);\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n setOpen(false);\n },\n [type, onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<IAvatar> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className={\"c-combo-box-chip\"}\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={\"#303037\"}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant={\"Caption 2\"}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className={\"c-combo-box-input\"}\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid={\"deselect-all\"}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
@@ -30,12 +30,15 @@ var Dialog = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
30
30
  onClose = _ref.onClose,
31
31
  className = _ref.className,
32
32
  _ref$enableBackground = _ref.enableBackgroundClick,
33
- enableBackgroundClick = _ref$enableBackground === void 0 ? false : _ref$enableBackground;
33
+ enableBackgroundClick = _ref$enableBackground === void 0 ? false : _ref$enableBackground,
34
+ _ref$disableCloseOnEs = _ref.disableCloseOnEsc,
35
+ disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs;
34
36
  return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
35
37
  ref: ref,
36
38
  open: open,
37
39
  onClose: onClose,
38
- disableBackgroundClick: !enableBackgroundClick
40
+ disableBackgroundClick: !enableBackgroundClick,
41
+ disableCloseOnEsc: disableCloseOnEsc
39
42
  }, /*#__PURE__*/_react.default.createElement(_SlideFromTop.SlideFromTop, {
40
43
  in: open
41
44
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledDialog, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Dialog/Dialog.tsx"],"names":["Dialog","ref","children","open","onClose","className","enableBackgroundClick","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAUO,IAAMA,MAAM,gBAAG,uBACpB,gBAQEC,GARF,EASK;AAAA,MAPDC,QAOC,QAPDA,QAOC;AAAA,uBANDC,IAMC;AAAA,MANDA,IAMC,0BANM,KAMN;AAAA,MALDC,OAKC,QALDA,OAKC;AAAA,MAJDC,SAIC,QAJDA,SAIC;AAAA,mCAHDC,qBAGC;AAAA,MAHDA,qBAGC,sCAHuB,KAGvB;AACH,sBACE,6BAAC,YAAD;AACE,IAAA,GAAG,EAAEL,GADP;AAEE,IAAA,IAAI,EAAEE,IAFR;AAGE,IAAA,OAAO,EAAEC,OAHX;AAIE,IAAA,sBAAsB,EAAE,CAACE;AAJ3B,kBAME,6BAAC,0BAAD;AAAc,IAAA,EAAE,EAAEH;AAAlB,kBACE,6BAAC,oBAAD;AAAc,IAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBE,SAAvB;AAAzB,KACGH,QADH,CADF,CANF,CADF;AAcD,CAzBmB,CAAf;;AA4BPF,MAAM,CAACO,WAAP,GAAqB,QAArB","sourcesContent":["import React, { forwardRef, ReactNode } from \"react\";\nimport classnames from \"classnames\";\nimport { Modal } from \"../Modal\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\nimport { StyledDialog } from \"./Styles\";\n\nexport interface IDialog {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n children?: ReactNode;\n enableBackgroundClick?: boolean;\n}\n\nexport const Dialog = forwardRef<HTMLDivElement, IDialog>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n },\n ref\n ) => {\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n >\n <SlideFromTop in={open}>\n <StyledDialog className={classnames(\"c-dialog\", className)}>\n {children}\n </StyledDialog>\n </SlideFromTop>\n </Modal>\n );\n }\n);\n\nDialog.displayName = \"Dialog\";\n"],"file":"Dialog.js"}
1
+ {"version":3,"sources":["../../../../src/components/Dialog/Dialog.tsx"],"names":["Dialog","ref","children","open","onClose","className","enableBackgroundClick","disableCloseOnEsc","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAWO,IAAMA,MAAM,gBAAG,uBACpB,gBASEC,GATF,EAUK;AAAA,MARDC,QAQC,QARDA,QAQC;AAAA,uBAPDC,IAOC;AAAA,MAPDA,IAOC,0BAPM,KAON;AAAA,MANDC,OAMC,QANDA,OAMC;AAAA,MALDC,SAKC,QALDA,SAKC;AAAA,mCAJDC,qBAIC;AAAA,MAJDA,qBAIC,sCAJuB,KAIvB;AAAA,mCAHDC,iBAGC;AAAA,MAHDA,iBAGC,sCAHmB,KAGnB;AACH,sBACE,6BAAC,YAAD;AACE,IAAA,GAAG,EAAEN,GADP;AAEE,IAAA,IAAI,EAAEE,IAFR;AAGE,IAAA,OAAO,EAAEC,OAHX;AAIE,IAAA,sBAAsB,EAAE,CAACE,qBAJ3B;AAKE,IAAA,iBAAiB,EAAEC;AALrB,kBAOE,6BAAC,0BAAD;AAAc,IAAA,EAAE,EAAEJ;AAAlB,kBACE,6BAAC,oBAAD;AAAc,IAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBE,SAAvB;AAAzB,KACGH,QADH,CADF,CAPF,CADF;AAeD,CA3BmB,CAAf;;AA8BPF,MAAM,CAACQ,WAAP,GAAqB,QAArB","sourcesContent":["import React, { forwardRef, ReactNode } from \"react\";\nimport classnames from \"classnames\";\nimport { Modal } from \"../Modal\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\nimport { StyledDialog } from \"./Styles\";\n\nexport interface IDialog {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n children?: ReactNode;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nexport const Dialog = forwardRef<HTMLDivElement, IDialog>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n },\n ref\n ) => {\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n <SlideFromTop in={open}>\n <StyledDialog className={classnames(\"c-dialog\", className)}>\n {children}\n </StyledDialog>\n </SlideFromTop>\n </Modal>\n );\n }\n);\n\nDialog.displayName = \"Dialog\";\n"],"file":"Dialog.js"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+
14
+ var EstimatePlusIcon = /*#__PURE__*/_react.default.forwardRef(function (props, svgRef) {
15
+ return /*#__PURE__*/_react.default.createElement("svg", _extends({
16
+ width: 24,
17
+ height: 24,
18
+ viewBox: "0 0 24 24",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ "data-testid": "EstimatePlusIcon",
21
+ fill: "var(--color-theme-600)",
22
+ focusable: false,
23
+ ref: svgRef
24
+ }, props), /*#__PURE__*/_react.default.createElement("path", {
25
+ fillRule: "evenodd",
26
+ clipRule: "evenodd",
27
+ d: "M12 2c5.523 0 10 4.477 10 10 0 .338-.017.672-.05 1.001L20 13v-1a8 8 0 10-8 8h1l.001 1.95c-.33.033-.663.05-1.001.05-5.523 0-10-4.477-10-10S6.477 2 12 2zm7 12v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-7-8a6 6 0 016 6h-2a4 4 0 10-4 4v2a6 6 0 010-12zm0 4a2 2 0 110 4 2 2 0 010-4z"
28
+ }));
29
+ });
30
+
31
+ EstimatePlusIcon.displayName = "EstimatePlusIcon";
32
+ var _default = EstimatePlusIcon;
33
+ exports.default = _default;
34
+ //# sourceMappingURL=EstimatePlus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Icons/collection/EstimatePlus.tsx"],"names":["EstimatePlusIcon","React","forwardRef","props","svgRef","displayName"],"mappings":";;;;;;;AAAA;;;;;;AACA,IAAMA,gBAAgB,gBAAGC,eAAMC,UAAN,CACvB,UAACC,KAAD,EAAuCC,MAAvC;AAAA,sBACE;AACE,IAAA,KAAK,EAAE,EADT;AAEE,IAAA,MAAM,EAAE,EAFV;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,KAAK,EAAC,4BAJR;AAKE,mBAAY,kBALd;AAME,IAAA,IAAI,EAAC,wBANP;AAOE,IAAA,SAAS,EAAE,KAPb;AAQE,IAAA,GAAG,EAAEA;AARP,KASMD,KATN,gBAWE;AACE,IAAA,QAAQ,EAAC,SADX;AAEE,IAAA,QAAQ,EAAC,SAFX;AAGE,IAAA,CAAC,EAAC;AAHJ,IAXF,CADF;AAAA,CADuB,CAAzB;;AAqBAH,gBAAgB,CAACK,WAAjB,GAA+B,kBAA/B;eACeL,gB","sourcesContent":["import React from \"react\";\nconst EstimatePlusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EstimatePlusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 2c5.523 0 10 4.477 10 10 0 .338-.017.672-.05 1.001L20 13v-1a8 8 0 10-8 8h1l.001 1.95c-.33.033-.663.05-1.001.05-5.523 0-10-4.477-10-10S6.477 2 12 2zm7 12v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-7-8a6 6 0 016 6h-2a4 4 0 10-4 4v2a6 6 0 010-12zm0 4a2 2 0 110 4 2 2 0 010-4z\"\n />\n </svg>\n )\n);\nEstimatePlusIcon.displayName = \"EstimatePlusIcon\";\nexport default EstimatePlusIcon;\n"],"file":"EstimatePlus.js"}
@@ -369,6 +369,12 @@ Object.defineProperty(exports, "EmojiIcon", {
369
369
  return _Emoji.default;
370
370
  }
371
371
  });
372
+ Object.defineProperty(exports, "EstimatePlusIcon", {
373
+ enumerable: true,
374
+ get: function get() {
375
+ return _EstimatePlus.default;
376
+ }
377
+ });
372
378
  Object.defineProperty(exports, "EstimatesIcon", {
373
379
  enumerable: true,
374
380
  get: function get() {
@@ -1002,6 +1008,8 @@ var _Edit = _interopRequireDefault(require("./Edit"));
1002
1008
 
1003
1009
  var _Emoji = _interopRequireDefault(require("./Emoji"));
1004
1010
 
1011
+ var _EstimatePlus = _interopRequireDefault(require("./EstimatePlus"));
1012
+
1005
1013
  var _Estimates = _interopRequireDefault(require("./Estimates"));
1006
1014
 
1007
1015
  var _ExpandAll = _interopRequireDefault(require("./ExpandAll"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Icons/collection/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArrowBackMobileIcon } from \"./ArrowBackMobile\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowDownLongIcon } from \"./ArrowDownLong\";\nexport { default as ArrowExpandeMultipleIcon } from \"./ArrowExpandeMultiple\";\nexport { default as ArrowLeftBoxIcon } from \"./ArrowLeftBox\";\nexport { default as ArrowLeftIcon } from \"./ArrowLeft\";\nexport { default as ArrowRefreshIcon } from \"./ArrowRefresh\";\nexport { default as ArrowRightIcon } from \"./ArrowRight\";\nexport { default as ArrowUpLongIcon } from \"./ArrowUpLong\";\nexport { default as AssignIcon } from \"./Assign\";\nexport { default as AttachmentIcon } from \"./Attachment\";\nexport { default as BellOffSmallIcon } from \"./BellOffSmall\";\nexport { default as BellOffIcon } from \"./BellOff\";\nexport { default as BillingIcon } from \"./Billing\";\nexport { default as BudgetAlertIcon } from \"./BudgetAlert\";\nexport { default as CalendarAddXIcon } from \"./CalendarAddX\";\nexport { default as CalendarIcon } from \"./Calendar\";\nexport { default as CancelCrossIcon } from \"./CancelCross\";\nexport { default as CaretLeftIcon } from \"./CaretLeft\";\nexport { default as CaretRightIcon } from \"./CaretRight\";\nexport { default as ChatIcon } from \"./Chat\";\nexport { default as CheckIcon } from \"./Check\";\nexport { default as CheckboxBlankTogglerIcon } from \"./CheckboxBlankToggler\";\nexport { default as CheckboxIcon } from \"./Checkbox\";\nexport { default as ChecklistSmallIcon } from \"./ChecklistSmall\";\nexport { default as ChecklistIcon } from \"./Checklist\";\nexport { default as CircleMultipleIcon } from \"./CircleMultiple\";\nexport { default as ClockAddIcon } from \"./ClockAdd\";\nexport { default as ClockSmallIcon } from \"./ClockSmall\";\nexport { default as ClockStopwatchSmallIcon } from \"./ClockStopwatchSmall\";\nexport { default as ClockStopwatchIcon } from \"./ClockStopwatch\";\nexport { default as ClockIcon } from \"./Clock\";\nexport { default as CloseSmallIcon } from \"./CloseSmall\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as ComputerIcon } from \"./Computer\";\nexport { default as CopyIcon } from \"./Copy\";\nexport { default as CrownBlankIcon } from \"./CrownBlank\";\nexport { default as CrownSelectedIcon } from \"./CrownSelected\";\nexport { default as DependencySmallIcon } from \"./DependencySmall\";\nexport { default as DependencyIcon } from \"./Dependency\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DollarCheckmarkSmallIcon } from \"./DollarCheckmarkSmall\";\nexport { default as DollarCheckmarkIcon } from \"./DollarCheckmark\";\nexport { default as DollarClockSmallIcon } from \"./DollarClockSmall\";\nexport { default as DollarClockIcon } from \"./DollarClock\";\nexport { default as DollarOffSmallIcon } from \"./DollarOffSmall\";\nexport { default as DollarOffIcon } from \"./DollarOff\";\nexport { default as DollarSmallIcon } from \"./DollarSmall\";\nexport { default as DollarIcon } from \"./Dollar\";\nexport { default as DownloadIcon } from \"./Download\";\nexport { default as DriveIcon } from \"./Drive\";\nexport { default as DropboxIcon } from \"./Dropbox\";\nexport { default as DuplicateIcon } from \"./Duplicate\";\nexport { default as EditMultipleIcon } from \"./EditMultiple\";\nexport { default as EditIcon } from \"./Edit\";\nexport { default as EmojiIcon } from \"./Emoji\";\nexport { default as EstimatesIcon } from \"./Estimates\";\nexport { default as ExpandAllIcon } from \"./ExpandAll\";\nexport { default as ExpenseAddIcon } from \"./ExpenseAdd\";\nexport { default as EyeOffSmallIcon } from \"./EyeOffSmall\";\nexport { default as EyeOffIcon } from \"./EyeOff\";\nexport { default as EyeSmallIcon } from \"./EyeSmall\";\nexport { default as EyeIcon } from \"./Eye\";\nexport { default as FilterIcon } from \"./Filter\";\nexport { default as FolderMoveIcon } from \"./FolderMove\";\nexport { default as FolderOutlineIcon } from \"./FolderOutline\";\nexport { default as HelpIcon } from \"./Help\";\nexport { default as ImageIcon } from \"./Image\";\nexport { default as InfoSmallIcon } from \"./InfoSmall\";\nexport { default as InfoIcon } from \"./Info\";\nexport { default as InsertLinkIcon } from \"./InsertLink\";\nexport { default as IntegrationsIcon } from \"./Integrations\";\nexport { default as InvoicesIcon } from \"./Invoices\";\nexport { default as LabelsIcon } from \"./Labels\";\nexport { default as LockSmallIcon } from \"./LockSmall\";\nexport { default as LockIcon } from \"./Lock\";\nexport { default as MarkerIcon } from \"./Marker\";\nexport { default as MessageAddIcon } from \"./MessageAdd\";\nexport { default as MessageEmptyIcon } from \"./MessageEmpty\";\nexport { default as MessageSmallIcon } from \"./MessageSmall\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OrderFirstIcon } from \"./OrderFirst\";\nexport { default as PaidSmallIcon } from \"./PaidSmall\";\nexport { default as PauseCircleOutlineIcon } from \"./PauseCircleOutline\";\nexport { default as PauseIcon } from \"./PauseIcon\";\nexport { default as PauseSmallIcon } from \"./PauseSmall\";\nexport { default as PencilSmallIcon } from \"./PencilSmall\";\nexport { default as PencilIcon } from \"./Pencil\";\nexport { default as PendingPaymentSmallIcon } from \"./PendingPaymentSmall\";\nexport { default as PeopleIcon } from \"./People\";\nexport { default as PersonCircleOffIcon } from \"./PersonCircleOff\";\nexport { default as PersonCircleIcon } from \"./PersonCircle\";\nexport { default as PersonPlusIcon } from \"./PersonPlus\";\nexport { default as PersonIcon } from \"./Person\";\nexport { default as PlayCircleOutlineIcon } from \"./PlayCircleOutline\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as PlaySmallIcon } from \"./PlaySmall\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectTemplateAddIcon } from \"./ProjectTemplateAdd\";\nexport { default as ProjectTemplateConvertIcon } from \"./ProjectTemplateConvert\";\nexport { default as ProjectTemplateIcon } from \"./ProjectTemplate\";\nexport { default as ProjectsIcon } from \"./Projects\";\nexport { default as RadioBlankIcon } from \"./RadioBlank\";\nexport { default as RadioButtonIcon } from \"./RadioButton\";\nexport { default as RearangeIcon } from \"./Rearange\";\nexport { default as RearrangeSmallIcon } from \"./RearrangeSmall\";\nexport { default as RecurringCheckmarkSmallIcon } from \"./RecurringCheckmarkSmall\";\nexport { default as RecurringCheckmarkIcon } from \"./RecurringCheckmark\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as SearchIcon } from \"./Search\";\nexport { default as SendBlankIcon } from \"./SendBlank\";\nexport { default as SendFilledIcon } from \"./SendFilled\";\nexport { default as SettingsIcon } from \"./Settings\";\nexport { default as SortGeneralIcon } from \"./SortGeneral\";\nexport { default as SortIcon } from \"./SortIcon\";\nexport { default as StarOutlineIcon } from \"./StarOutline\";\nexport { default as StarIcon } from \"./Star\";\nexport { default as SystemSettingsIcon } from \"./SystemSettings\";\nexport { default as TaskAddIcon } from \"./TaskAdd\";\nexport { default as TaskListAddIcon } from \"./TaskListAdd\";\nexport { default as TaskListCompleteIcon } from \"./TaskListComplete\";\nexport { default as ThumbUpOutlineIcon } from \"./ThumbUpOutline\";\nexport { default as TrashIcon } from \"./Trash\";\nexport { default as TreeDotsIcon } from \"./TreeDots\";\nexport { default as UploadIcon } from \"./Upload\";\nexport { default as ViewGridIcon } from \"./ViewGrid\";\nexport { default as ViewListIcon } from \"./ViewList\";\nexport { default as ViewTimelineIcon } from \"./ViewTimeline\";\nexport { default as VolumeHighIcon } from \"./VolumeHigh\";\nexport { default as WarningTriangleSmallIcon } from \"./WarningTriangleSmall\";\nexport { default as WarningTriangleIcon } from \"./WarningTriangle\";\nexport { default as WarningIcon } from \"./Warning\";\nexport { default as WorkloadIcon } from \"./Workload\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Icons/collection/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArrowBackMobileIcon } from \"./ArrowBackMobile\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowDownLongIcon } from \"./ArrowDownLong\";\nexport { default as ArrowExpandeMultipleIcon } from \"./ArrowExpandeMultiple\";\nexport { default as ArrowLeftBoxIcon } from \"./ArrowLeftBox\";\nexport { default as ArrowLeftIcon } from \"./ArrowLeft\";\nexport { default as ArrowRefreshIcon } from \"./ArrowRefresh\";\nexport { default as ArrowRightIcon } from \"./ArrowRight\";\nexport { default as ArrowUpLongIcon } from \"./ArrowUpLong\";\nexport { default as AssignIcon } from \"./Assign\";\nexport { default as AttachmentIcon } from \"./Attachment\";\nexport { default as BellOffSmallIcon } from \"./BellOffSmall\";\nexport { default as BellOffIcon } from \"./BellOff\";\nexport { default as BillingIcon } from \"./Billing\";\nexport { default as BudgetAlertIcon } from \"./BudgetAlert\";\nexport { default as CalendarAddXIcon } from \"./CalendarAddX\";\nexport { default as CalendarIcon } from \"./Calendar\";\nexport { default as CancelCrossIcon } from \"./CancelCross\";\nexport { default as CaretLeftIcon } from \"./CaretLeft\";\nexport { default as CaretRightIcon } from \"./CaretRight\";\nexport { default as ChatIcon } from \"./Chat\";\nexport { default as CheckIcon } from \"./Check\";\nexport { default as CheckboxBlankTogglerIcon } from \"./CheckboxBlankToggler\";\nexport { default as CheckboxIcon } from \"./Checkbox\";\nexport { default as ChecklistSmallIcon } from \"./ChecklistSmall\";\nexport { default as ChecklistIcon } from \"./Checklist\";\nexport { default as CircleMultipleIcon } from \"./CircleMultiple\";\nexport { default as ClockAddIcon } from \"./ClockAdd\";\nexport { default as ClockSmallIcon } from \"./ClockSmall\";\nexport { default as ClockStopwatchSmallIcon } from \"./ClockStopwatchSmall\";\nexport { default as ClockStopwatchIcon } from \"./ClockStopwatch\";\nexport { default as ClockIcon } from \"./Clock\";\nexport { default as CloseSmallIcon } from \"./CloseSmall\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as ComputerIcon } from \"./Computer\";\nexport { default as CopyIcon } from \"./Copy\";\nexport { default as CrownBlankIcon } from \"./CrownBlank\";\nexport { default as CrownSelectedIcon } from \"./CrownSelected\";\nexport { default as DependencySmallIcon } from \"./DependencySmall\";\nexport { default as DependencyIcon } from \"./Dependency\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DollarCheckmarkSmallIcon } from \"./DollarCheckmarkSmall\";\nexport { default as DollarCheckmarkIcon } from \"./DollarCheckmark\";\nexport { default as DollarClockSmallIcon } from \"./DollarClockSmall\";\nexport { default as DollarClockIcon } from \"./DollarClock\";\nexport { default as DollarOffSmallIcon } from \"./DollarOffSmall\";\nexport { default as DollarOffIcon } from \"./DollarOff\";\nexport { default as DollarSmallIcon } from \"./DollarSmall\";\nexport { default as DollarIcon } from \"./Dollar\";\nexport { default as DownloadIcon } from \"./Download\";\nexport { default as DriveIcon } from \"./Drive\";\nexport { default as DropboxIcon } from \"./Dropbox\";\nexport { default as DuplicateIcon } from \"./Duplicate\";\nexport { default as EditMultipleIcon } from \"./EditMultiple\";\nexport { default as EditIcon } from \"./Edit\";\nexport { default as EmojiIcon } from \"./Emoji\";\nexport { default as EstimatePlusIcon } from \"./EstimatePlus\";\nexport { default as EstimatesIcon } from \"./Estimates\";\nexport { default as ExpandAllIcon } from \"./ExpandAll\";\nexport { default as ExpenseAddIcon } from \"./ExpenseAdd\";\nexport { default as EyeOffSmallIcon } from \"./EyeOffSmall\";\nexport { default as EyeOffIcon } from \"./EyeOff\";\nexport { default as EyeSmallIcon } from \"./EyeSmall\";\nexport { default as EyeIcon } from \"./Eye\";\nexport { default as FilterIcon } from \"./Filter\";\nexport { default as FolderMoveIcon } from \"./FolderMove\";\nexport { default as FolderOutlineIcon } from \"./FolderOutline\";\nexport { default as HelpIcon } from \"./Help\";\nexport { default as ImageIcon } from \"./Image\";\nexport { default as InfoSmallIcon } from \"./InfoSmall\";\nexport { default as InfoIcon } from \"./Info\";\nexport { default as InsertLinkIcon } from \"./InsertLink\";\nexport { default as IntegrationsIcon } from \"./Integrations\";\nexport { default as InvoicesIcon } from \"./Invoices\";\nexport { default as LabelsIcon } from \"./Labels\";\nexport { default as LockSmallIcon } from \"./LockSmall\";\nexport { default as LockIcon } from \"./Lock\";\nexport { default as MarkerIcon } from \"./Marker\";\nexport { default as MessageAddIcon } from \"./MessageAdd\";\nexport { default as MessageEmptyIcon } from \"./MessageEmpty\";\nexport { default as MessageSmallIcon } from \"./MessageSmall\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OrderFirstIcon } from \"./OrderFirst\";\nexport { default as PaidSmallIcon } from \"./PaidSmall\";\nexport { default as PauseCircleOutlineIcon } from \"./PauseCircleOutline\";\nexport { default as PauseIcon } from \"./PauseIcon\";\nexport { default as PauseSmallIcon } from \"./PauseSmall\";\nexport { default as PencilSmallIcon } from \"./PencilSmall\";\nexport { default as PencilIcon } from \"./Pencil\";\nexport { default as PendingPaymentSmallIcon } from \"./PendingPaymentSmall\";\nexport { default as PeopleIcon } from \"./People\";\nexport { default as PersonCircleOffIcon } from \"./PersonCircleOff\";\nexport { default as PersonCircleIcon } from \"./PersonCircle\";\nexport { default as PersonPlusIcon } from \"./PersonPlus\";\nexport { default as PersonIcon } from \"./Person\";\nexport { default as PlayCircleOutlineIcon } from \"./PlayCircleOutline\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as PlaySmallIcon } from \"./PlaySmall\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectTemplateAddIcon } from \"./ProjectTemplateAdd\";\nexport { default as ProjectTemplateConvertIcon } from \"./ProjectTemplateConvert\";\nexport { default as ProjectTemplateIcon } from \"./ProjectTemplate\";\nexport { default as ProjectsIcon } from \"./Projects\";\nexport { default as RadioBlankIcon } from \"./RadioBlank\";\nexport { default as RadioButtonIcon } from \"./RadioButton\";\nexport { default as RearangeIcon } from \"./Rearange\";\nexport { default as RearrangeSmallIcon } from \"./RearrangeSmall\";\nexport { default as RecurringCheckmarkSmallIcon } from \"./RecurringCheckmarkSmall\";\nexport { default as RecurringCheckmarkIcon } from \"./RecurringCheckmark\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as SearchIcon } from \"./Search\";\nexport { default as SendBlankIcon } from \"./SendBlank\";\nexport { default as SendFilledIcon } from \"./SendFilled\";\nexport { default as SettingsIcon } from \"./Settings\";\nexport { default as SortGeneralIcon } from \"./SortGeneral\";\nexport { default as SortIcon } from \"./SortIcon\";\nexport { default as StarOutlineIcon } from \"./StarOutline\";\nexport { default as StarIcon } from \"./Star\";\nexport { default as SystemSettingsIcon } from \"./SystemSettings\";\nexport { default as TaskAddIcon } from \"./TaskAdd\";\nexport { default as TaskListAddIcon } from \"./TaskListAdd\";\nexport { default as TaskListCompleteIcon } from \"./TaskListComplete\";\nexport { default as ThumbUpOutlineIcon } from \"./ThumbUpOutline\";\nexport { default as TrashIcon } from \"./Trash\";\nexport { default as TreeDotsIcon } from \"./TreeDots\";\nexport { default as UploadIcon } from \"./Upload\";\nexport { default as ViewGridIcon } from \"./ViewGrid\";\nexport { default as ViewListIcon } from \"./ViewList\";\nexport { default as ViewTimelineIcon } from \"./ViewTimeline\";\nexport { default as VolumeHighIcon } from \"./VolumeHigh\";\nexport { default as WarningTriangleSmallIcon } from \"./WarningTriangleSmall\";\nexport { default as WarningTriangleIcon } from \"./WarningTriangle\";\nexport { default as WarningIcon } from \"./Warning\";\nexport { default as WorkloadIcon } from \"./Workload\";\n"],"file":"index.js"}
@@ -17,7 +17,7 @@ var _createChainedFunction = _interopRequireDefault(require("../../utils/createC
17
17
 
18
18
  var _Overlay = require("../Overlay");
19
19
 
20
- var _excluded = ["children", "disableFocusLock", "disableScrollLock", "disableBackgroundClick", "disableBackgroundColor", "open", "onClose"];
20
+ var _excluded = ["children", "disableFocusLock", "disableScrollLock", "disableBackgroundClick", "disableBackgroundColor", "disableCloseOnEsc", "open", "onClose"];
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
@@ -57,6 +57,8 @@ var Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
57
57
  disableBackgroundClick = _ref$disableBackgroun === void 0 ? false : _ref$disableBackgroun,
58
58
  _ref$disableBackgroun2 = _ref.disableBackgroundColor,
59
59
  disableBackgroundColor = _ref$disableBackgroun2 === void 0 ? false : _ref$disableBackgroun2,
60
+ _ref$disableCloseOnEs = _ref.disableCloseOnEsc,
61
+ disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs,
60
62
  _ref$open = _ref.open,
61
63
  defaultOpen = _ref$open === void 0 ? false : _ref$open,
62
64
  onClose = _ref.onClose,
@@ -122,7 +124,8 @@ var Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
122
124
  ref: handleRef,
123
125
  onClose: handleClose,
124
126
  disableFocusLock: disableFocusLock,
125
- disableScrollLock: disableScrollLock
127
+ disableScrollLock: disableScrollLock,
128
+ disableCloseOnEsc: disableCloseOnEsc
126
129
  }), open ? /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
127
130
  onClick: handleBackgroundClick,
128
131
  disableBackgroundColor: disableBackgroundColor
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"names":["getHasTransition","children","props","Object","prototype","hasOwnProperty","call","Modal","ref","disableFocusLock","disableScrollLock","disableBackgroundClick","disableBackgroundColor","open","defaultOpen","onClose","rest","setOpen","exited","setExited","innerRef","handleRef","hasTransition","handleClose","handleBackgroundClick","event","preventDefault","handleEnter","handleExited","childProps","onEnter","onExited","in","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n MouseEvent,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\nexport interface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"file":"Modal.js"}
1
+ {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"names":["getHasTransition","children","props","Object","prototype","hasOwnProperty","call","Modal","ref","disableFocusLock","disableScrollLock","disableBackgroundClick","disableBackgroundColor","disableCloseOnEsc","open","defaultOpen","onClose","rest","setOpen","exited","setExited","innerRef","handleRef","hasTransition","handleClose","handleBackgroundClick","event","preventDefault","handleEnter","handleExited","childProps","onEnter","onExited","in","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n MouseEvent,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\nexport interface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n disableCloseOnEsc = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"file":"Modal.js"}
@@ -23,7 +23,7 @@ var _Style = require("./Style");
23
23
 
24
24
  var _utils = require("../../utils");
25
25
 
26
- var _excluded = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock", "onClick"];
26
+ var _excluded = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock", "disableCloseOnEsc", "onClick"];
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
@@ -56,6 +56,8 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
56
56
  disableFocusLock = _ref$disableFocusLock === void 0 ? false : _ref$disableFocusLock,
57
57
  _ref$disableScrollLoc = _ref.disableScrollLock,
58
58
  disableScrollLock = _ref$disableScrollLoc === void 0 ? false : _ref$disableScrollLoc,
59
+ _ref$disableCloseOnEs = _ref.disableCloseOnEsc,
60
+ disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs,
59
61
  onClick = _ref.onClick,
60
62
  rest = _objectWithoutProperties(_ref, _excluded);
61
63
 
@@ -67,7 +69,7 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
67
69
  zIndex = _useLayerContext$zInd === void 0 ? _utils.layers.skyscraper : _useLayerContext$zInd;
68
70
 
69
71
  var handleKeyDown = (0, _react.useCallback)(function (event) {
70
- if (!event.defaultPrevented && (event.key === "Esc" || event.key === "Escape")) {
72
+ if (!event.defaultPrevented && (event.key === "Esc" || event.key === "Escape") && !disableCloseOnEsc) {
71
73
  event.preventDefault();
72
74
 
73
75
  if (onClose) {
@@ -78,7 +80,7 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
78
80
  if (typeof onKeyDown === "function") {
79
81
  onKeyDown(event);
80
82
  }
81
- }, [onClose, onKeyDown]);
83
+ }, [disableCloseOnEsc, onClose, onKeyDown]);
82
84
  (0, _react.useEffect)(function () {
83
85
  return function () {
84
86
  typeof onClose === "function" && onClose();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Window/Window.tsx"],"names":["returnFocus","preventScroll","Window","ref","children","onClose","className","style","onKeyDown","disableFocusLock","disableScrollLock","onClick","rest","innerRef","handleRef","zIndex","layers","skyscraper","handleKeyDown","event","defaultPrevented","key","preventDefault","handleClick","stopPropagation","displayName"],"mappings":";;;;;;;;;AAAA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,WAAW,GAAG;AAAEC,EAAAA,aAAa,EAAE;AAAjB,CAApB;AAEO,IAAMC,MAAM,gBAAG,uBAIpB,gBAYEC,GAZF,EAaK;AAAA,MAXDC,QAWC,QAXDA,QAWC;AAAA,MAVDC,OAUC,QAVDA,OAUC;AAAA,MATDC,SASC,QATDA,SASC;AAAA,MARDC,KAQC,QARDA,KAQC;AAAA,MAPDC,SAOC,QAPDA,SAOC;AAAA,mCANDC,gBAMC;AAAA,MANDA,gBAMC,sCANkB,KAMlB;AAAA,mCALDC,iBAKC;AAAA,MALDA,iBAKC,sCALmB,KAKnB;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,QAAQ,GAAG,mBAAuB,IAAvB,CAAjB;AACA,MAAMC,SAAS,GAAG,yBAAWD,QAAX,EAAqBV,GAArB,CAAlB;;AACA,yBAAuC,+BAAvC;AAAA,+CAAQY,MAAR;AAAA,MAAQA,MAAR,sCAAiBC,cAAOC,UAAxB;;AAEA,MAAMC,aAAa,GAAG,wBACpB,UAACC,KAAD,EAA0C;AACxC,QACE,CAACA,KAAK,CAACC,gBAAP,KACCD,KAAK,CAACE,GAAN,KAAc,KAAd,IAAuBF,KAAK,CAACE,GAAN,KAAc,QADtC,CADF,EAGE;AACAF,MAAAA,KAAK,CAACG,cAAN;;AACA,UAAIjB,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF;;AACD,QAAI,OAAOG,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,MAAAA,SAAS,CAACW,KAAD,CAAT;AACD;AACF,GAdmB,EAepB,CAACd,OAAD,EAAUG,SAAV,CAfoB,CAAtB;AAkBA,wBAAU,YAAM;AACd,WAAO,YAAY;AACjB,aAAOH,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,EAAxC;AACD,KAFD,CADc,CAId;AACA;AACD,GAND,EAMG,EANH;AAQA,MAAMkB,WAAW,GAAG,wBAClB,UAACJ,KAAD,EAAW;AACTA,IAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEK,eAAP;AACA,WAAOb,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,CAACQ,KAAD,CAAxC;AACD,GAJiB,EAKlB,CAACR,OAAD,CALkB,CAApB;AAQA,sBACE,6BAAC,eAAD,qBACE,6BAAC,uBAAD;AAAW,IAAA,WAAW,EAAEX,WAAxB;AAAqC,IAAA,QAAQ,EAAES;AAA/C,kBACE,6BAAC,+BAAD;AACE,IAAA,YAAY,MADd;AAEE,IAAA,GAAG,EAAEK,SAFP;AAGE,IAAA,OAAO,EAAE,CAACJ,iBAHZ;AAIE,IAAA,WAAW;AAJb,kBAME,6BAAC,mBAAD,eACME,IADN;AAEE,IAAA,KAAK;AAAIG,MAAAA,MAAM,EAANA;AAAJ,OAAeR,KAAf,CAFP;AAGE,IAAA,SAAS,EAAEW,aAHb;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBZ,SAAvB,CALb;AAME,IAAA,OAAO,EAAEiB;AANX,MAQGnB,QARH,CANF,CADF,CADF,CADF;AAuBD,CA/EmB,CAAf;;AAkFPF,MAAM,CAACuB,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n KeyboardEvent,\n} from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\")\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [onClose, onKeyDown]\n );\n\n useEffect(() => {\n return (): void => {\n typeof onClose === \"function\" && onClose();\n };\n // Dependency is empty because we only want to call onClose when component is unmounted\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"file":"Window.js"}
1
+ {"version":3,"sources":["../../../../src/components/Window/Window.tsx"],"names":["returnFocus","preventScroll","Window","ref","children","onClose","className","style","onKeyDown","disableFocusLock","disableScrollLock","disableCloseOnEsc","onClick","rest","innerRef","handleRef","zIndex","layers","skyscraper","handleKeyDown","event","defaultPrevented","key","preventDefault","handleClick","stopPropagation","displayName"],"mappings":";;;;;;;;;AAAA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,WAAW,GAAG;AAAEC,EAAAA,aAAa,EAAE;AAAjB,CAApB;AAEO,IAAMC,MAAM,gBAAG,uBAIpB,gBAaEC,GAbF,EAcK;AAAA,MAZDC,QAYC,QAZDA,QAYC;AAAA,MAXDC,OAWC,QAXDA,OAWC;AAAA,MAVDC,SAUC,QAVDA,SAUC;AAAA,MATDC,KASC,QATDA,KASC;AAAA,MARDC,SAQC,QARDA,SAQC;AAAA,mCAPDC,gBAOC;AAAA,MAPDA,gBAOC,sCAPkB,KAOlB;AAAA,mCANDC,iBAMC;AAAA,MANDA,iBAMC,sCANmB,KAMnB;AAAA,mCALDC,iBAKC;AAAA,MALDA,iBAKC,sCALmB,KAKnB;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,QAAQ,GAAG,mBAAuB,IAAvB,CAAjB;AACA,MAAMC,SAAS,GAAG,yBAAWD,QAAX,EAAqBX,GAArB,CAAlB;;AACA,yBAAuC,+BAAvC;AAAA,+CAAQa,MAAR;AAAA,MAAQA,MAAR,sCAAiBC,cAAOC,UAAxB;;AAEA,MAAMC,aAAa,GAAG,wBACpB,UAACC,KAAD,EAA0C;AACxC,QACE,CAACA,KAAK,CAACC,gBAAP,KACCD,KAAK,CAACE,GAAN,KAAc,KAAd,IAAuBF,KAAK,CAACE,GAAN,KAAc,QADtC,KAEA,CAACX,iBAHH,EAIE;AACAS,MAAAA,KAAK,CAACG,cAAN;;AACA,UAAIlB,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF;;AACD,QAAI,OAAOG,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,MAAAA,SAAS,CAACY,KAAD,CAAT;AACD;AACF,GAfmB,EAgBpB,CAACT,iBAAD,EAAoBN,OAApB,EAA6BG,SAA7B,CAhBoB,CAAtB;AAmBA,wBAAU,YAAM;AACd,WAAO,YAAY;AACjB,aAAOH,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,EAAxC;AACD,KAFD,CADc,CAId;AACA;AACD,GAND,EAMG,EANH;AAQA,MAAMmB,WAAW,GAAG,wBAClB,UAACJ,KAAD,EAAW;AACTA,IAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEK,eAAP;AACA,WAAOb,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,CAACQ,KAAD,CAAxC;AACD,GAJiB,EAKlB,CAACR,OAAD,CALkB,CAApB;AAQA,sBACE,6BAAC,eAAD,qBACE,6BAAC,uBAAD;AAAW,IAAA,WAAW,EAAEZ,WAAxB;AAAqC,IAAA,QAAQ,EAAES;AAA/C,kBACE,6BAAC,+BAAD;AACE,IAAA,YAAY,MADd;AAEE,IAAA,GAAG,EAAEM,SAFP;AAGE,IAAA,OAAO,EAAE,CAACL,iBAHZ;AAIE,IAAA,WAAW;AAJb,kBAME,6BAAC,mBAAD,eACMG,IADN;AAEE,IAAA,KAAK;AAAIG,MAAAA,MAAM,EAANA;AAAJ,OAAeT,KAAf,CAFP;AAGE,IAAA,SAAS,EAAEY,aAHb;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBb,SAAvB,CALb;AAME,IAAA,OAAO,EAAEkB;AANX,MAQGpB,QARH,CANF,CADF,CADF,CADF;AAuBD,CAjFmB,CAAf;;AAoFPF,MAAM,CAACwB,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n KeyboardEvent,\n} from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n useEffect(() => {\n return (): void => {\n typeof onClose === \"function\" && onClose();\n };\n // Dependency is empty because we only want to call onClose when component is unmounted\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"file":"Window.js"}