@laerdal/life-react-components 1.6.0-dev.9 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/Card/CardBottomSection.cjs +3 -3
  2. package/dist/Card/CardBottomSection.cjs.map +1 -1
  3. package/dist/Card/CardBottomSection.js +3 -3
  4. package/dist/Card/CardBottomSection.js.map +1 -1
  5. package/dist/Card/CardMiddleSection.cjs +5 -11
  6. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  7. package/dist/Card/CardMiddleSection.js +5 -10
  8. package/dist/Card/CardMiddleSection.js.map +1 -1
  9. package/dist/Card/CardTopSection.cjs +2 -2
  10. package/dist/Card/CardTopSection.cjs.map +1 -1
  11. package/dist/Card/CardTopSection.js +2 -2
  12. package/dist/Card/CardTopSection.js.map +1 -1
  13. package/dist/Chips/ActionChip.cjs +21 -28
  14. package/dist/Chips/ActionChip.cjs.map +1 -1
  15. package/dist/Chips/ActionChip.js +23 -30
  16. package/dist/Chips/ActionChip.js.map +1 -1
  17. package/dist/Chips/ChipInput.cjs.map +1 -1
  18. package/dist/Chips/ChipInput.js.map +1 -1
  19. package/dist/Chips/ChipStyles.cjs +13 -15
  20. package/dist/Chips/ChipStyles.cjs.map +1 -1
  21. package/dist/Chips/ChipStyles.d.ts +2 -6
  22. package/dist/Chips/ChipStyles.js +6 -12
  23. package/dist/Chips/ChipStyles.js.map +1 -1
  24. package/dist/Chips/ChipTypes.d.ts +7 -9
  25. package/dist/Chips/ChoiceChips.cjs +13 -7
  26. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  27. package/dist/Chips/ChoiceChips.js +13 -8
  28. package/dist/Chips/ChoiceChips.js.map +1 -1
  29. package/dist/Chips/FilterChip.cjs +21 -28
  30. package/dist/Chips/FilterChip.cjs.map +1 -1
  31. package/dist/Chips/FilterChip.js +24 -31
  32. package/dist/Chips/FilterChip.js.map +1 -1
  33. package/dist/Chips/InputChip.cjs +44 -44
  34. package/dist/Chips/InputChip.cjs.map +1 -1
  35. package/dist/Chips/InputChip.js +46 -45
  36. package/dist/Chips/InputChip.js.map +1 -1
  37. package/dist/Dropdown/ChipDropdownInput.cjs +1 -1
  38. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -1
  39. package/dist/Dropdown/ChipDropdownInput.js +1 -1
  40. package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
  41. package/dist/Dropdown/DropdownContent.cjs +2 -2
  42. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  43. package/dist/Dropdown/DropdownContent.js +3 -3
  44. package/dist/Dropdown/DropdownContent.js.map +1 -1
  45. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +3 -1
  46. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -1
  47. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js +2 -1
  48. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  49. package/dist/InputFields/DatepickerField.cjs +3 -1
  50. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  51. package/dist/InputFields/DatepickerField.js +2 -1
  52. package/dist/InputFields/DatepickerField.js.map +1 -1
  53. package/dist/Modals/ModalContent.cjs +1 -1
  54. package/dist/Modals/ModalContent.cjs.map +1 -1
  55. package/dist/Modals/ModalContent.js +2 -2
  56. package/dist/Modals/ModalContent.js.map +1 -1
  57. package/dist/Modals/ModalDialog.cjs +37 -61
  58. package/dist/Modals/ModalDialog.cjs.map +1 -1
  59. package/dist/Modals/ModalDialog.d.ts +3 -6
  60. package/dist/Modals/ModalDialog.js +40 -63
  61. package/dist/Modals/ModalDialog.js.map +1 -1
  62. package/dist/Modals/ModalStyles.cjs +14 -6
  63. package/dist/Modals/ModalStyles.cjs.map +1 -1
  64. package/dist/Modals/ModalStyles.d.ts +1 -0
  65. package/dist/Modals/ModalStyles.js +13 -6
  66. package/dist/Modals/ModalStyles.js.map +1 -1
  67. package/dist/Switcher/MobileSwitcherMenu.cjs +3 -1
  68. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  69. package/dist/Switcher/MobileSwitcherMenu.js +2 -1
  70. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  71. package/dist/Tag/Tag.cjs +5 -2
  72. package/dist/Tag/Tag.cjs.map +1 -1
  73. package/dist/Tag/Tag.js +5 -2
  74. package/dist/Tag/Tag.js.map +1 -1
  75. package/dist/common/HoverWithin.cjs +63 -0
  76. package/dist/common/HoverWithin.cjs.map +1 -0
  77. package/dist/common/HoverWithin.d.ts +2 -0
  78. package/dist/common/HoverWithin.js +51 -0
  79. package/dist/common/HoverWithin.js.map +1 -0
  80. package/dist/common/index.cjs +8 -0
  81. package/dist/common/index.cjs.map +1 -1
  82. package/dist/common/index.d.ts +1 -0
  83. package/dist/common/index.js +1 -0
  84. package/dist/common/index.js.map +1 -1
  85. package/dist/styles/index.cjs +7 -1
  86. package/dist/styles/index.cjs.map +1 -1
  87. package/dist/styles/index.d.ts +2 -1
  88. package/dist/styles/index.js +5 -1
  89. package/dist/styles/index.js.map +1 -1
  90. package/dist/types.cjs +1 -9
  91. package/dist/types.cjs.map +1 -1
  92. package/dist/types.d.ts +0 -4
  93. package/dist/types.js +0 -7
  94. package/dist/types.js.map +1 -1
  95. package/package.json +1 -1
@@ -8,17 +8,17 @@ import * as React from 'react';
8
8
  * Import custom styles.
9
9
  */
10
10
 
11
- import { FilterChipContainer } from './ChipStyles';
11
+ import { ChipContainer, ChipContent, ChipContentContainer } from './ChipStyles';
12
12
  /**
13
13
  * Import custom types.
14
14
  */
15
15
 
16
+ import { defaultOnMouseDownHandler } from '../common';
16
17
  import { jsx as _jsx } from "react/jsx-runtime";
17
18
  import { Fragment as _Fragment } from "react/jsx-runtime";
18
19
 
19
20
  var ChoiceChips = function ChoiceChips(_ref) {
20
21
  var selected = _ref.selected,
21
- variant = _ref.variant,
22
22
  disabled = _ref.disabled,
23
23
  onClick = _ref.onClick,
24
24
  values = _ref.values;
@@ -51,7 +51,7 @@ var ChoiceChips = function ChoiceChips(_ref) {
51
51
  };
52
52
 
53
53
  var handleKeyDown = function handleKeyDown(e, value) {
54
- if (e.keyCode === 13) {
54
+ if (e.key === 'Enter') {
55
55
  onSelectChip(value);
56
56
  }
57
57
  };
@@ -62,16 +62,21 @@ var ChoiceChips = function ChoiceChips(_ref) {
62
62
 
63
63
  return /*#__PURE__*/_jsx(_Fragment, {
64
64
  children: values.map(function (value) {
65
- return /*#__PURE__*/_jsx(FilterChipContainer, {
65
+ return /*#__PURE__*/_jsx(ChipContainer, {
66
66
  tabIndex: disabled ? -1 : 0,
67
- className: "".concat(value.size, " ").concat(disabled ? 'disabled' : selectedChip === value.value ? 'selected' : variant),
67
+ className: "".concat(value.size, " ").concat(disabled ? 'disabled' : '', " ").concat(selectedChip === value.value ? 'normal' : 'outline'),
68
+ onMouseDown: defaultOnMouseDownHandler,
68
69
  onClick: function onClick() {
69
- return onSelectChip(value);
70
+ return !disabled && onSelectChip(value);
70
71
  },
71
72
  onKeyDown: function onKeyDown(e) {
72
- return handleKeyDown(e, value);
73
+ return !disabled && handleKeyDown(e, value);
73
74
  },
74
- children: value.label
75
+ children: /*#__PURE__*/_jsx(ChipContentContainer, {
76
+ children: /*#__PURE__*/_jsx(ChipContent, {
77
+ children: value.label
78
+ })
79
+ })
75
80
  }, value.value);
76
81
  })
77
82
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["React","FilterChipContainer","ChoiceChips","selected","variant","disabled","onClick","values","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","keyCode","map","size","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,cAApC;AAEA;AACA;AACA;;;;;AAGA,IAAMC,WAAqD,GAAG,SAAxDA,WAAwD,OAAuE;AAAA,MAApEC,QAAoE,QAApEA,QAAoE;AAAA,MAA1DC,OAA0D,QAA1DA,OAA0D;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,OAAuC,QAAvCA,OAAuC;AAAA,MAA9BC,MAA8B,QAA9BA,MAA8B;;AACnI;AACF;AACA;AACE,wBAAwCP,KAAK,CAACQ,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEV,EAAAA,KAAK,CAACW,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACP,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMS,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAP,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGN,MAAM,CAACU,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,KAAC,mBAAD;AAEE,QAAA,QAAQ,EAAER,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKQ,KAAK,CAACK,IAAX,cAAmBb,QAAQ,GAAG,UAAH,GAAgBI,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,UAA/B,GAA4CT,OAAvF,CAHX;AAIE,QAAA,OAAO,EAAE;AAAA,iBAAMQ,YAAY,CAACC,KAAD,CAAlB;AAAA,SAJX;AAKE,QAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,iBAAID,aAAa,CAACC,CAAD,EAAIF,KAAJ,CAAjB;AAAA,SALd;AAAA,kBAMGA,KAAK,CAACM;AANT,SACON,KAAK,CAACA,KADb,CADU;AAAA,KAAX;AADH,IADF;AAcD,CAhDD;;AAkDA,eAAeX,WAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { FilterChipContainer } from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport { ChipValue, ChoiceChipProps } from './ChipTypes';\n\nconst ChoiceChips: React.FunctionComponent<ChoiceChipProps> = ({ selected, variant, disabled, onClick, values }: ChoiceChipProps) => {\n /**\n * Globally used variables within the component.\n */\n const [selectedChip, setSelectedChip] = React.useState<string>('');\n\n /**\n * Set the selected value for the chip.\n */\n React.useEffect(() => {\n setSelectedChip(selected);\n }, [selected]);\n\n /**\n * Sets selected chip and fires an event to parent component.\n * @param value - Chip which was selected.\n */\n const onSelectChip = (value: ChipValue) => {\n // Update selected chip\n setSelectedChip(value.value);\n\n // Fire the event\n onClick(value);\n };\n\n const handleKeyDown = (e: any, value: ChipValue) => {\n if (e.keyCode === 13) {\n onSelectChip(value);\n }\n };\n\n /**\n * Return Choice Chip component.\n */\n return (\n <>\n {values.map((value: ChipValue) => (\n <FilterChipContainer\n key={value.value}\n tabIndex={disabled ? -1 : 0}\n className={`${value.size} ${disabled ? 'disabled' : selectedChip === value.value ? 'selected' : variant}`}\n onClick={() => onSelectChip(value)}\n onKeyDown={e => handleKeyDown(e, value)}>\n {value.label}\n </FilterChipContainer>\n ))}\n </>\n );\n};\n\nexport default ChoiceChips;\n"],"file":"ChoiceChips.js"}
1
+ {"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["React","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","ChoiceChips","selected","disabled","onClick","values","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","key","map","size","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAAQC,aAAR,EAAuBC,WAAvB,EAAoCC,oBAApC,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,QAAwC,WAAxC;;;;AAEA,IAAMC,WAAqD,GAAG,SAAxDA,WAAwD,OAKwB;AAAA,MAJrBC,QAIqB,QAJrBA,QAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,OAEqB,QAFrBA,OAEqB;AAAA,MADrBC,MACqB,QADrBA,MACqB;;AACpF;AACF;AACA;AACE,wBAAwCT,KAAK,CAACU,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEZ,EAAAA,KAAK,CAACa,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACN,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMQ,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAP,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGN,MAAM,CAACU,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,KAAC,aAAD;AAEE,QAAA,QAAQ,EAAER,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKQ,KAAK,CAACK,IAAX,cAAmBb,QAAQ,GAAG,UAAH,GAAgB,EAA3C,cAAiDI,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,QAA/B,GAA0C,SAA3F,CAHX;AAIE,QAAA,WAAW,EAAEX,yBAJf;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,CAACG,QAAD,IAAaO,YAAY,CAACC,KAAD,CAA/B;AAAA,SALX;AAME,QAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,iBAAI,CAACV,QAAD,IAAaS,aAAa,CAACC,CAAD,EAAIF,KAAJ,CAA9B;AAAA,SANd;AAAA,+BAOE,KAAC,oBAAD;AAAA,iCACE,KAAC,WAAD;AAAA,sBACGA,KAAK,CAACM;AADT;AADF;AAPF,SACON,KAAK,CAACA,KADb,CADU;AAAA,KAAX;AADH,IADF;AAmBD,CA1DD;;AA4DA,eAAeV,WAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipValue, ChoiceChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst ChoiceChips: React.FunctionComponent<ChoiceChipProps> = ({\n selected,\n disabled,\n onClick,\n values\n }: ChoiceChipProps) => {\n /**\n * Globally used variables within the component.\n */\n const [selectedChip, setSelectedChip] = React.useState<string>('');\n\n /**\n * Set the selected value for the chip.\n */\n React.useEffect(() => {\n setSelectedChip(selected);\n }, [selected]);\n\n /**\n * Sets selected chip and fires an event to parent component.\n * @param value - Chip which was selected.\n */\n const onSelectChip = (value: ChipValue) => {\n // Update selected chip\n setSelectedChip(value.value);\n\n // Fire the event\n onClick(value);\n };\n\n const handleKeyDown = (e: any, value: ChipValue) => {\n if (e.key === 'Enter') {\n onSelectChip(value);\n }\n };\n\n /**\n * Return Choice Chip component.\n */\n return (\n <>\n {values.map((value: ChipValue) => (\n <ChipContainer\n key={value.value}\n tabIndex={disabled ? -1 : 0}\n className={`${value.size} ${disabled ? 'disabled' : ''} ${selectedChip === value.value ? 'normal' : 'outline'}`}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onSelectChip(value)}\n onKeyDown={e => !disabled && handleKeyDown(e, value)}>\n <ChipContentContainer>\n <ChipContent>\n {value.label}\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n ))}\n </>\n );\n};\n\nexport default ChoiceChips;\n"],"file":"ChoiceChips.js"}
@@ -9,12 +9,12 @@ exports.default = void 0;
9
9
 
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
 
12
- var _types = require("../types");
13
-
14
12
  var _index = require("../icons/index");
15
13
 
16
14
  var _ChipStyles = require("./ChipStyles");
17
15
 
16
+ var _common = require("../common");
17
+
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
 
20
20
  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); }
@@ -35,43 +35,36 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
35
35
  var FilterChip = function FilterChip(_ref) {
36
36
  var selected = _ref.selected,
37
37
  text = _ref.text,
38
- variant = _ref.variant,
39
38
  size = _ref.size,
40
39
  disabled = _ref.disabled,
41
40
  _onClick = _ref.onClick;
42
41
 
43
- /**
44
- * Retrieves icon size based on the chip size.
45
- * @returns A string indicating the icon size.
46
- */
47
- var getIconSize = function getIconSize() {
48
- var iconSize; // Calculate correct icon size
49
-
50
- if (size === _types.Size.Small) {
51
- iconSize = '16px';
52
- } else if (size === _types.Size.Medium) {
53
- iconSize = '20px';
54
- } else {
55
- iconSize = '24px';
56
- }
57
-
58
- return iconSize;
59
- };
60
42
  /**
61
43
  * Return Filter Chip component.
62
44
  */
63
-
64
-
65
45
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
66
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.FilterChipContainer, {
67
- className: "".concat(size, " ").concat(disabled ? 'disabled' : selected ? 'selected icon-chip' : variant),
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContainer, {
47
+ className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? 'normal' : 'outline'),
48
+ tabIndex: disabled ? -1 : 0,
49
+ onKeyDown: function onKeyDown(e) {
50
+ return e.key === 'Enter' && _onClick();
51
+ },
52
+ onMouseDown: _common.defaultOnMouseDownHandler,
68
53
  onClick: function onClick() {
69
54
  return _onClick();
70
55
  },
71
- children: [selected && _index.SystemIcons.CheckComplete({
72
- size: getIconSize(),
73
- className: 'icon'
74
- }), text]
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContentContainer, {
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.ChipContent, {
58
+ children: [selected && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
59
+ className: 'chip-icon icon-left',
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.SystemIcons.CheckComplete, {
61
+ className: 'icon'
62
+ })
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
64
+ children: text
65
+ })]
66
+ })
67
+ })
75
68
  })
76
69
  });
77
70
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["FilterChip","selected","text","variant","size","disabled","onClick","getIconSize","iconSize","Size","Small","Medium","icons","CheckComplete","className"],"mappings":";;;;;;;;;AAGC;;AACD;;AAKC;;AAKA;;;;;;;;AAdD;AACA;AACA;;AAIC;AACD;AACA;;AAGC;AACD;AACA;AAQC,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAA2E;AAAA,MAAxEC,QAAwE,QAAxEA,QAAwE;AAAA,MAA9DC,IAA8D,QAA9DA,IAA8D;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,IAA+C,QAA/CA,IAA+C;AAAA,MAAzCC,QAAyC,QAAzCA,QAAyC;AAAA,MAA/BC,QAA+B,QAA/BA,OAA+B;;AACtI;AACH;AACA;AACA;AACG,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAc;AAChC,QAAIC,QAAJ,CADgC,CAGhC;;AACA,QAAIJ,IAAI,KAAKK,YAAKC,KAAlB,EAAyB;AACvBF,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKK,YAAKE,MAAlB,EAA0B;AAC/BH,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFM,MAEA;AACLA,MAAAA,QAAQ,GAAG,MAAX;AACD;;AAED,WAAOA,QAAP;AACD,GAbD;AAeA;AACH;AACA;;;AACG,sBACE;AAAA,2BACE,sBAAC,+BAAD;AAAqB,MAAA,SAAS,YAAKJ,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgBJ,QAAQ,GAAG,oBAAH,GAA0BE,OAAvE,CAA9B;AAAgH,MAAA,OAAO,EAAE;AAAA,eAAMG,QAAO,EAAb;AAAA,OAAzH;AAAA,iBAEGL,QAAQ,IAAIW,mBAAMC,aAAN,CAAoB;AAAET,QAAAA,IAAI,EAAEG,WAAW,EAAnB;AAAuBO,QAAAA,SAAS,EAAE;AAAlC,OAApB,CAFf,EAKGZ,IALH;AAAA;AADF,IADF;AAWD,CAlCD;;eAoCeF,U","sourcesContent":["/**\n * Import React libraries.\n */\n import * as React from 'react';\nimport { Size } from '../types';\n\n /**\n * Import custom components.\n */\n import {SystemIcons as icons} from '../icons/index';\n \n /**\n * Import custom styles.\n */\n import { FilterChipContainer } from './ChipStyles';\n \n /**\n * Import custom types.\n */\n import { FilterChipProps } from './ChipTypes';\n \n const FilterChip: React.FunctionComponent<FilterChipProps> = ({ selected, text, variant, size, disabled, onClick }: FilterChipProps) => {\n /**\n * Retrieves icon size based on the chip size.\n * @returns A string indicating the icon size.\n */\n const getIconSize = (): string => {\n let iconSize: string;\n \n // Calculate correct icon size\n if (size === Size.Small) {\n iconSize = '16px';\n } else if (size === Size.Medium) {\n iconSize = '20px';\n } else {\n iconSize = '24px';\n }\n \n return iconSize;\n }\n \n /**\n * Return Filter Chip component.\n */\n return (\n <>\n <FilterChipContainer className={`${size} ${disabled ? 'disabled' : selected ? 'selected icon-chip' : variant}`} onClick={() => onClick()}>\n { /* Let's render icon if the chip is selected */ }\n {selected && icons.CheckComplete({ size: getIconSize(), className: 'icon' })}\n \n { /* Let's render text */ }\n {text}\n </FilterChipContainer>\n </>\n );\n };\n \n export default FilterChip;\n "],"file":"FilterChip.cjs"}
1
+ {"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["FilterChip","selected","text","size","disabled","onClick","e","key","defaultOnMouseDownHandler"],"mappings":";;;;;;;;;AAGA;;AAMA;;AAKA;;AAMA;;;;;;;;AApBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AASA,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAMwB;AAAA,MALrBC,QAKqB,QALrBA,QAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,MAHrBC,IAGqB,QAHrBA,IAGqB;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADrBC,QACqB,QADrBA,OACqB;;AAGnF;AACF;AACA;AACE,sBACE;AAAA,2BACE,qBAAC,yBAAD;AAAe,MAAA,SAAS,YAAKF,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,cAA2CH,QAAQ,GAAG,QAAH,GAAc,SAAjE,CAAxB;AACe,MAAA,QAAQ,EAAEG,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CADzC;AAEe,MAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBF,QAAO,EAAhC;AAAA,OAF3B;AAGe,MAAA,WAAW,EAAEG,iCAH5B;AAIe,MAAA,OAAO,EAAE;AAAA,eAAMH,QAAO,EAAb;AAAA,OAJxB;AAAA,6BAKE,qBAAC,gCAAD;AAAA,+BACE,sBAAC,uBAAD;AAAA,qBACGJ,QAAQ,iBAAI;AAAK,YAAA,SAAS,EAAE,qBAAhB;AAAA,mCAAuC,qBAAC,kBAAD,CAAa,aAAb;AAA2B,cAAA,SAAS,EAAE;AAAtC;AAAvC,YADf,eAEE;AAAA,sBAAMC;AAAN,YAFF;AAAA;AADF;AALF;AADF,IADF;AAgBD,CA5BD;;eA8BeF,U","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size,\n disabled,\n onClick\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <>\n <ChipContainer className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'normal' : 'outline'}`}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={e => e.key === 'Enter' && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => onClick()}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckComplete className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n};\n\nexport default FilterChip;\n"],"file":"FilterChip.cjs"}
@@ -2,65 +2,58 @@
2
2
  * Import React libraries.
3
3
  */
4
4
  import * as React from 'react';
5
- import { Size } from '../types';
5
+
6
6
  /**
7
7
  * Import custom components.
8
8
  */
9
-
10
- import { SystemIcons as icons } from '../icons/index';
9
+ import { SystemIcons } from '../icons/index';
11
10
  /**
12
11
  * Import custom styles.
13
12
  */
14
13
 
15
- import { FilterChipContainer } from './ChipStyles';
14
+ import { ChipContent, ChipContentContainer, ChipContainer } from './ChipStyles';
16
15
  /**
17
16
  * Import custom types.
18
17
  */
19
18
 
19
+ import { defaultOnMouseDownHandler } from '../common';
20
+ import { jsx as _jsx } from "react/jsx-runtime";
20
21
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
22
  import { Fragment as _Fragment } from "react/jsx-runtime";
22
- import { jsx as _jsx } from "react/jsx-runtime";
23
23
 
24
24
  var FilterChip = function FilterChip(_ref) {
25
25
  var selected = _ref.selected,
26
26
  text = _ref.text,
27
- variant = _ref.variant,
28
27
  size = _ref.size,
29
28
  disabled = _ref.disabled,
30
29
  _onClick = _ref.onClick;
31
30
 
32
- /**
33
- * Retrieves icon size based on the chip size.
34
- * @returns A string indicating the icon size.
35
- */
36
- var getIconSize = function getIconSize() {
37
- var iconSize; // Calculate correct icon size
38
-
39
- if (size === Size.Small) {
40
- iconSize = '16px';
41
- } else if (size === Size.Medium) {
42
- iconSize = '20px';
43
- } else {
44
- iconSize = '24px';
45
- }
46
-
47
- return iconSize;
48
- };
49
31
  /**
50
32
  * Return Filter Chip component.
51
33
  */
52
-
53
-
54
34
  return /*#__PURE__*/_jsx(_Fragment, {
55
- children: /*#__PURE__*/_jsxs(FilterChipContainer, {
56
- className: "".concat(size, " ").concat(disabled ? 'disabled' : selected ? 'selected icon-chip' : variant),
35
+ children: /*#__PURE__*/_jsx(ChipContainer, {
36
+ className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? 'normal' : 'outline'),
37
+ tabIndex: disabled ? -1 : 0,
38
+ onKeyDown: function onKeyDown(e) {
39
+ return e.key === 'Enter' && _onClick();
40
+ },
41
+ onMouseDown: defaultOnMouseDownHandler,
57
42
  onClick: function onClick() {
58
43
  return _onClick();
59
44
  },
60
- children: [selected && icons.CheckComplete({
61
- size: getIconSize(),
62
- className: 'icon'
63
- }), text]
45
+ children: /*#__PURE__*/_jsx(ChipContentContainer, {
46
+ children: /*#__PURE__*/_jsxs(ChipContent, {
47
+ children: [selected && /*#__PURE__*/_jsx("div", {
48
+ className: 'chip-icon icon-left',
49
+ children: /*#__PURE__*/_jsx(SystemIcons.CheckComplete, {
50
+ className: 'icon'
51
+ })
52
+ }), /*#__PURE__*/_jsx("div", {
53
+ children: text
54
+ })]
55
+ })
56
+ })
64
57
  })
65
58
  });
66
59
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["React","Size","SystemIcons","icons","FilterChipContainer","FilterChip","selected","text","variant","size","disabled","onClick","getIconSize","iconSize","Small","Medium","CheckComplete","className"],"mappings":"AAAA;AACA;AACA;AACC,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACD,SAASC,IAAT,QAAqB,UAArB;AAEC;AACD;AACA;;AACC,SAAQC,WAAW,IAAIC,KAAvB,QAAmC,gBAAnC;AAEA;AACD;AACA;;AACC,SAASC,mBAAT,QAAoC,cAApC;AAEA;AACD;AACA;;;;;;AAGC,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAA2E;AAAA,MAAxEC,QAAwE,QAAxEA,QAAwE;AAAA,MAA9DC,IAA8D,QAA9DA,IAA8D;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,IAA+C,QAA/CA,IAA+C;AAAA,MAAzCC,QAAyC,QAAzCA,QAAyC;AAAA,MAA/BC,QAA+B,QAA/BA,OAA+B;;AACtI;AACH;AACA;AACA;AACG,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAc;AAChC,QAAIC,QAAJ,CADgC,CAGhC;;AACA,QAAIJ,IAAI,KAAKR,IAAI,CAACa,KAAlB,EAAyB;AACvBD,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKR,IAAI,CAACc,MAAlB,EAA0B;AAC/BF,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFM,MAEA;AACLA,MAAAA,QAAQ,GAAG,MAAX;AACD;;AAED,WAAOA,QAAP;AACD,GAbD;AAeA;AACH;AACA;;;AACG,sBACE;AAAA,2BACE,MAAC,mBAAD;AAAqB,MAAA,SAAS,YAAKJ,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgBJ,QAAQ,GAAG,oBAAH,GAA0BE,OAAvE,CAA9B;AAAgH,MAAA,OAAO,EAAE;AAAA,eAAMG,QAAO,EAAb;AAAA,OAAzH;AAAA,iBAEGL,QAAQ,IAAIH,KAAK,CAACa,aAAN,CAAoB;AAAEP,QAAAA,IAAI,EAAEG,WAAW,EAAnB;AAAuBK,QAAAA,SAAS,EAAE;AAAlC,OAApB,CAFf,EAKGV,IALH;AAAA;AADF,IADF;AAWD,CAlCD;;AAoCA,eAAeF,UAAf","sourcesContent":["/**\n * Import React libraries.\n */\n import * as React from 'react';\nimport { Size } from '../types';\n\n /**\n * Import custom components.\n */\n import {SystemIcons as icons} from '../icons/index';\n \n /**\n * Import custom styles.\n */\n import { FilterChipContainer } from './ChipStyles';\n \n /**\n * Import custom types.\n */\n import { FilterChipProps } from './ChipTypes';\n \n const FilterChip: React.FunctionComponent<FilterChipProps> = ({ selected, text, variant, size, disabled, onClick }: FilterChipProps) => {\n /**\n * Retrieves icon size based on the chip size.\n * @returns A string indicating the icon size.\n */\n const getIconSize = (): string => {\n let iconSize: string;\n \n // Calculate correct icon size\n if (size === Size.Small) {\n iconSize = '16px';\n } else if (size === Size.Medium) {\n iconSize = '20px';\n } else {\n iconSize = '24px';\n }\n \n return iconSize;\n }\n \n /**\n * Return Filter Chip component.\n */\n return (\n <>\n <FilterChipContainer className={`${size} ${disabled ? 'disabled' : selected ? 'selected icon-chip' : variant}`} onClick={() => onClick()}>\n { /* Let's render icon if the chip is selected */ }\n {selected && icons.CheckComplete({ size: getIconSize(), className: 'icon' })}\n \n { /* Let's render text */ }\n {text}\n </FilterChipContainer>\n </>\n );\n };\n \n export default FilterChip;\n "],"file":"FilterChip.js"}
1
+ {"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["React","SystemIcons","ChipContent","ChipContentContainer","ChipContainer","defaultOnMouseDownHandler","FilterChip","selected","text","size","disabled","onClick","e","key"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;;AAGA;AACA;AACA;AACA,SAAQC,WAAR,QAA0B,gBAA1B;AAEA;AACA;AACA;;AACA,SAAQC,WAAR,EAAqBC,oBAArB,EAA2CC,aAA3C,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,QAAwC,WAAxC;;;;;AAEA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAMwB;AAAA,MALrBC,QAKqB,QALrBA,QAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,MAHrBC,IAGqB,QAHrBA,IAGqB;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADrBC,QACqB,QADrBA,OACqB;;AAGnF;AACF;AACA;AACE,sBACE;AAAA,2BACE,KAAC,aAAD;AAAe,MAAA,SAAS,YAAKF,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,cAA2CH,QAAQ,GAAG,QAAH,GAAc,SAAjE,CAAxB;AACe,MAAA,QAAQ,EAAEG,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CADzC;AAEe,MAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBF,QAAO,EAAhC;AAAA,OAF3B;AAGe,MAAA,WAAW,EAAEN,yBAH5B;AAIe,MAAA,OAAO,EAAE;AAAA,eAAMM,QAAO,EAAb;AAAA,OAJxB;AAAA,6BAKE,KAAC,oBAAD;AAAA,+BACE,MAAC,WAAD;AAAA,qBACGJ,QAAQ,iBAAI;AAAK,YAAA,SAAS,EAAE,qBAAhB;AAAA,mCAAuC,KAAC,WAAD,CAAa,aAAb;AAA2B,cAAA,SAAS,EAAE;AAAtC;AAAvC,YADf,eAEE;AAAA,sBAAMC;AAAN,YAFF;AAAA;AADF;AALF;AADF,IADF;AAgBD,CA5BD;;AA8BA,eAAeF,UAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size,\n disabled,\n onClick\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <>\n <ChipContainer className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'normal' : 'outline'}`}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={e => e.key === 'Enter' && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => onClick()}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckComplete className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n};\n\nexport default FilterChip;\n"],"file":"FilterChip.js"}
@@ -11,12 +11,10 @@ var React = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _index = require("../icons/index");
13
13
 
14
- var _index2 = require("../Button/index");
15
-
16
- var _types = require("../types");
17
-
18
14
  var _ChipStyles = require("./ChipStyles");
19
15
 
16
+ var _common = require("../common");
17
+
20
18
  var _jsxRuntime = require("react/jsx-runtime");
21
19
 
22
20
  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); }
@@ -41,36 +39,18 @@ var InputChip = function InputChip(_ref) {
41
39
  size = _ref.size,
42
40
  disabled = _ref.disabled,
43
41
  _onClick = _ref.onClick,
42
+ disableRemove = _ref.disableRemove,
44
43
  onRemove = _ref.onRemove;
45
-
46
- /**
47
- * Retrieves icon size based on the chip size.
48
- * @returns A string indicating the icon size.
49
- */
50
- var getIconSize = function getIconSize() {
51
- var iconSize; // Calculate correct icon size
52
-
53
- if (size === _types.Size.Small) {
54
- iconSize = '16px';
55
- } else if (size === _types.Size.Medium) {
56
- iconSize = '20px';
57
- } else {
58
- iconSize = '24px';
59
- }
60
-
61
- return iconSize;
62
- };
44
+ var containerRef = React.useRef(null);
45
+ var removeRef = React.useRef(null);
46
+ (0, _common.useActionWithin)(containerRef, [removeRef]);
63
47
  /**
64
48
  * Calls onRemove action when remove button is clicked.
65
49
  * @param event - Event handler from the button click.
66
50
  */
67
51
 
68
-
69
52
  var onRemoveClick = function onRemoveClick(event) {
70
- if (event) {
71
- event.stopPropagation();
72
- }
73
-
53
+ !!event && event.stopPropagation();
74
54
  onRemove();
75
55
  };
76
56
  /**
@@ -79,27 +59,47 @@ var InputChip = function InputChip(_ref) {
79
59
 
80
60
 
81
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
82
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.ChipContainer, {
83
- className: "".concat(size, " button-chip ").concat(disabled ? 'disabled' : variant, " ").concat(icon && 'icon-chip'),
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContainer, {
63
+ ref: containerRef,
64
+ className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(variant),
65
+ tabIndex: disabled ? -1 : 0,
66
+ onMouseDown: _common.defaultOnMouseDownHandler,
67
+ onKeyDown: function onKeyDown(e) {
68
+ return e.key === 'Enter' && _onClick();
69
+ },
84
70
  onClick: function onClick() {
85
71
  return _onClick();
86
72
  },
87
- children: [variant !== 'error' && icon && _index.SystemIcons[icon]({
88
- size: getIconSize(),
89
- className: 'icon'
90
- }), text, /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.IconButton, {
91
- variant: "secondary",
92
- shape: "circular",
93
- useTransparentBackground: true,
94
- action: function action(event) {
95
- return onRemoveClick(event);
96
- },
97
- disabled: disabled,
98
- children: _index.SystemIcons.Close({
99
- size: getIconSize(),
100
- className: 'remove'
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContentContainer, {
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.ChipContent, {
75
+ className: 'with-action-right',
76
+ children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
77
+ className: 'chip-icon icon-left',
78
+ children: _index.SystemIcons[icon]({
79
+ className: 'icon'
80
+ })
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
82
+ children: text
83
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
84
+ ref: removeRef,
85
+ className: "action-right ".concat(disableRemove ? 'disabled' : ''),
86
+ tabIndex: disableRemove || disabled ? -1 : 0,
87
+ onMouseDown: _common.defaultOnMouseDownHandler,
88
+ onClick: function onClick(e) {
89
+ return !disableRemove && onRemoveClick(e);
90
+ },
91
+ onKeyDown: function onKeyDown(e) {
92
+ return e.key === 'Enter' && onRemoveClick(e);
93
+ },
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
95
+ className: 'chip-icon',
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.SystemIcons.Close, {
97
+ className: 'remove'
98
+ })
99
+ })
100
+ })]
101
101
  })
102
- })]
102
+ })
103
103
  })
104
104
  });
105
105
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["InputChip","icon","text","variant","size","disabled","onClick","onRemove","getIconSize","iconSize","Size","Small","Medium","onRemoveClick","event","stopPropagation","icons","className","Close"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;;;;;;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAQA,IAAMA,SAAkD,GAAG,SAArDA,SAAqD,OAAgF;AAAA,MAA7EC,IAA6E,QAA7EA,IAA6E;AAAA,MAAvEC,IAAuE,QAAvEA,IAAuE;AAAA,MAAjEC,OAAiE,QAAjEA,OAAiE;AAAA,MAAxDC,IAAwD,QAAxDA,IAAwD;AAAA,MAAlDC,QAAkD,QAAlDA,QAAkD;AAAA,MAAxCC,QAAwC,QAAxCA,OAAwC;AAAA,MAA/BC,QAA+B,QAA/BA,QAA+B;;AACzI;AACF;AACA;AACA;AACE,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAc;AAChC,QAAIC,QAAJ,CADgC,CAGhC;;AACA,QAAIL,IAAI,KAAKM,YAAKC,KAAlB,EAAyB;AACvBF,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFD,MAEO,IAAIL,IAAI,KAAKM,YAAKE,MAAlB,EAA0B;AAC/BH,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFM,MAEA;AACLA,MAAAA,QAAQ,GAAG,MAAX;AACD;;AAED,WAAOA,QAAP;AACD,GAbD;AAeA;AACF;AACA;AACA;;;AACE,MAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA4D;AAChF,QAAIA,KAAJ,EAAW;AACTA,MAAAA,KAAK,CAACC,eAAN;AACD;;AAEDR,IAAAA,QAAQ;AACT,GAND;AAQA;AACF;AACA;;;AACE,sBACE;AAAA,2BACE,sBAAC,yBAAD;AAAe,MAAA,SAAS,YAAKH,IAAL,0BAAyBC,QAAQ,GAAG,UAAH,GAAgBF,OAAjD,cAA4DF,IAAI,IAAI,WAApE,CAAxB;AAA2G,MAAA,OAAO,EAAE;AAAA,eAAMK,QAAO,EAAb;AAAA,OAApH;AAAA,iBAEGH,OAAO,KAAK,OAAZ,IAAuBF,IAAvB,IAA+Be,mBAAMf,IAAN,EAAY;AAAEG,QAAAA,IAAI,EAAEI,WAAW,EAAnB;AAAuBS,QAAAA,SAAS,EAAE;AAAlC,OAAZ,CAFlC,EAKGf,IALH,eAQE,qBAAC,kBAAD;AACE,QAAA,OAAO,EAAC,WADV;AAEE,QAAA,KAAK,EAAC,UAFR;AAGE,QAAA,wBAAwB,MAH1B;AAIE,QAAA,MAAM,EAAE,gBAACY,KAAD;AAAA,iBAA4DD,aAAa,CAACC,KAAD,CAAzE;AAAA,SAJV;AAKE,QAAA,QAAQ,EAAET,QALZ;AAAA,kBAMGW,mBAAME,KAAN,CAAY;AAAEd,UAAAA,IAAI,EAAEI,WAAW,EAAnB;AAAuBS,UAAAA,SAAS,EAAE;AAAlC,SAAZ;AANH,QARF;AAAA;AADF,IADF;AAqBD,CAxDD;;eA0DejB,S","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport { SystemIcons as icons } from '../icons/index';\nimport { IconButton } from '../Button/index';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport { ChipContainer } from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport { InputChipProps } from './ChipTypes';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = ({ icon, text, variant, size, disabled, onClick, onRemove }: InputChipProps) => {\n /**\n * Retrieves icon size based on the chip size.\n * @returns A string indicating the icon size.\n */\n const getIconSize = (): string => {\n let iconSize: string;\n\n // Calculate correct icon size\n if (size === Size.Small) {\n iconSize = '16px';\n } else if (size === Size.Medium) {\n iconSize = '20px';\n } else {\n iconSize = '24px';\n }\n\n return iconSize;\n };\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event: React.MouseEvent<HTMLButtonElement> | undefined) => {\n if (event) {\n event.stopPropagation();\n }\n\n onRemove();\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <>\n <ChipContainer className={`${size} button-chip ${disabled ? 'disabled' : variant} ${icon && 'icon-chip'}`} onClick={() => onClick()}>\n {/* Let's render icon if it is passed */}\n {variant !== 'error' && icon && icons[icon]({ size: getIconSize(), className: 'icon' })}\n\n {/* Let's render text */}\n {text}\n\n {/* Let's render clear icon */}\n <IconButton\n variant=\"secondary\"\n shape=\"circular\"\n useTransparentBackground\n action={(event: React.MouseEvent<HTMLButtonElement> | undefined) => onRemoveClick(event)}\n disabled={disabled}>\n {icons.Close({ size: getIconSize(), className: 'remove' })}\n </IconButton>\n </ChipContainer>\n </>\n );\n};\n\nexport default InputChip;\n"],"file":"InputChip.cjs"}
1
+ {"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["InputChip","icon","text","variant","size","disabled","onClick","disableRemove","onRemove","containerRef","React","useRef","removeRef","onRemoveClick","event","stopPropagation","defaultOnMouseDownHandler","e","key","icons","className"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAOA;;AAMA;;;;;;;;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AASA,IAAMA,SAAkD,GAAG,SAArDA,SAAqD,OASuB;AAAA,MARpBC,IAQoB,QARpBA,IAQoB;AAAA,MAPpBC,IAOoB,QAPpBA,IAOoB;AAAA,MANpBC,OAMoB,QANpBA,OAMoB;AAAA,MALpBC,IAKoB,QALpBA,IAKoB;AAAA,MAJpBC,QAIoB,QAJpBA,QAIoB;AAAA,MAHpBC,QAGoB,QAHpBA,OAGoB;AAAA,MAFpBC,aAEoB,QAFpBA,aAEoB;AAAA,MADpBC,QACoB,QADpBA,QACoB;AAEhF,MAAMC,YAAY,GAAGC,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAArB;AACA,MAAMC,SAAS,GAAGF,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAAlB;AAEA,+BAAgBF,YAAhB,EAA8B,CAACG,SAAD,CAA9B;AAEA;AACF;AACA;AACA;;AACE,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAoE;AACxF,KAAC,CAACA,KAAF,IAAWA,KAAK,CAACC,eAAN,EAAX;AACAP,IAAAA,QAAQ;AACT,GAHD;AAKA;AACF;AACA;;;AACE,sBACE;AAAA,2BACE,qBAAC,yBAAD;AAAe,MAAA,GAAG,EAAEC,YAApB;AACe,MAAA,SAAS,YAAKL,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,eAA4CF,OAA5C,CADxB;AAEe,MAAA,QAAQ,EAAEE,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAFzC;AAGe,MAAA,WAAW,EAAEW,iCAH5B;AAIe,MAAA,SAAS,EAAE,mBAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBZ,QAAO,EAAhC;AAAA,OAJ3B;AAKe,MAAA,OAAO,EAAE;AAAA,eAAMA,QAAO,EAAb;AAAA,OALxB;AAAA,6BAME,qBAAC,gCAAD;AAAA,+BACE,sBAAC,uBAAD;AAAa,UAAA,SAAS,EAAE,mBAAxB;AAAA,qBACGL,IAAI,iBAAI;AAAK,YAAA,SAAS,EAAE,qBAAhB;AAAA,sBAAwCkB,mBAAMlB,IAAN,EAAY;AAACmB,cAAAA,SAAS,EAAE;AAAZ,aAAZ;AAAxC,YADX,eAGE;AAAA,sBAAMlB;AAAN,YAHF,eAKE;AAAK,YAAA,GAAG,EAAEU,SAAV;AACK,YAAA,SAAS,yBAAkBL,aAAa,GAAG,UAAH,GAAgB,EAA/C,CADd;AAEK,YAAA,QAAQ,EAAEA,aAAa,IAAIF,QAAjB,GAA4B,CAAC,CAA7B,GAAiC,CAFhD;AAGK,YAAA,WAAW,EAAEW,iCAHlB;AAIK,YAAA,OAAO,EAAE,iBAAAC,CAAC;AAAA,qBAAI,CAACV,aAAD,IAAkBM,aAAa,CAACI,CAAD,CAAnC;AAAA,aAJf;AAKK,YAAA,SAAS,EAAE,mBAAAA,CAAC;AAAA,qBAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBL,aAAa,CAACI,CAAD,CAAtC;AAAA,aALjB;AAAA,mCAME;AAAK,cAAA,SAAS,EAAE,WAAhB;AAAA,qCACE,qBAAC,kBAAD,CAAa,KAAb;AAAmB,gBAAA,SAAS,EAAE;AAA9B;AADF;AANF,YALF;AAAA;AADF;AANF;AADF,IADF;AA6BD,CAzDD;;eA2DejB,S","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\nimport {IconButton} from '../Button/index';\nimport {Size} from '../types';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = ({\n icon,\n text,\n variant,\n size,\n disabled,\n onClick,\n disableRemove,\n onRemove\n }: InputChipProps) => {\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent) => {\n !!event && event.stopPropagation();\n onRemove();\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <>\n <ChipContainer ref={containerRef}\n className={`${size} ${disabled ? 'disabled' : ''} ${variant}`}\n tabIndex={disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => e.key === 'Enter' && onClick()}\n onClick={() => onClick()}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && onRemoveClick(e)}\n onKeyDown={e => e.key === 'Enter' && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n};\n\nexport default InputChip;\n"],"file":"InputChip.cjs"}
@@ -6,18 +6,17 @@ import * as React from 'react';
6
6
  * Import custom components.
7
7
  */
8
8
 
9
- import { SystemIcons as icons } from '../icons/index';
10
- import { IconButton } from '../Button/index';
11
- import { Size } from '../types';
9
+ import { SystemIcons, SystemIcons as icons } from '../icons/index';
10
+
12
11
  /**
13
12
  * Import custom styles.
14
13
  */
15
-
16
- import { ChipContainer } from './ChipStyles';
14
+ import { ChipContainer, ChipContent, ChipContentContainer } from './ChipStyles';
17
15
  /**
18
16
  * Import custom types.
19
17
  */
20
18
 
19
+ import { defaultOnMouseDownHandler, useActionWithin } from '../common';
21
20
  import { jsx as _jsx } from "react/jsx-runtime";
22
21
  import { jsxs as _jsxs } from "react/jsx-runtime";
23
22
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -29,36 +28,18 @@ var InputChip = function InputChip(_ref) {
29
28
  size = _ref.size,
30
29
  disabled = _ref.disabled,
31
30
  _onClick = _ref.onClick,
31
+ disableRemove = _ref.disableRemove,
32
32
  onRemove = _ref.onRemove;
33
-
34
- /**
35
- * Retrieves icon size based on the chip size.
36
- * @returns A string indicating the icon size.
37
- */
38
- var getIconSize = function getIconSize() {
39
- var iconSize; // Calculate correct icon size
40
-
41
- if (size === Size.Small) {
42
- iconSize = '16px';
43
- } else if (size === Size.Medium) {
44
- iconSize = '20px';
45
- } else {
46
- iconSize = '24px';
47
- }
48
-
49
- return iconSize;
50
- };
33
+ var containerRef = React.useRef(null);
34
+ var removeRef = React.useRef(null);
35
+ useActionWithin(containerRef, [removeRef]);
51
36
  /**
52
37
  * Calls onRemove action when remove button is clicked.
53
38
  * @param event - Event handler from the button click.
54
39
  */
55
40
 
56
-
57
41
  var onRemoveClick = function onRemoveClick(event) {
58
- if (event) {
59
- event.stopPropagation();
60
- }
61
-
42
+ !!event && event.stopPropagation();
62
43
  onRemove();
63
44
  };
64
45
  /**
@@ -67,27 +48,47 @@ var InputChip = function InputChip(_ref) {
67
48
 
68
49
 
69
50
  return /*#__PURE__*/_jsx(_Fragment, {
70
- children: /*#__PURE__*/_jsxs(ChipContainer, {
71
- className: "".concat(size, " button-chip ").concat(disabled ? 'disabled' : variant, " ").concat(icon && 'icon-chip'),
51
+ children: /*#__PURE__*/_jsx(ChipContainer, {
52
+ ref: containerRef,
53
+ className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(variant),
54
+ tabIndex: disabled ? -1 : 0,
55
+ onMouseDown: defaultOnMouseDownHandler,
56
+ onKeyDown: function onKeyDown(e) {
57
+ return e.key === 'Enter' && _onClick();
58
+ },
72
59
  onClick: function onClick() {
73
60
  return _onClick();
74
61
  },
75
- children: [variant !== 'error' && icon && icons[icon]({
76
- size: getIconSize(),
77
- className: 'icon'
78
- }), text, /*#__PURE__*/_jsx(IconButton, {
79
- variant: "secondary",
80
- shape: "circular",
81
- useTransparentBackground: true,
82
- action: function action(event) {
83
- return onRemoveClick(event);
84
- },
85
- disabled: disabled,
86
- children: icons.Close({
87
- size: getIconSize(),
88
- className: 'remove'
62
+ children: /*#__PURE__*/_jsx(ChipContentContainer, {
63
+ children: /*#__PURE__*/_jsxs(ChipContent, {
64
+ className: 'with-action-right',
65
+ children: [icon && /*#__PURE__*/_jsx("div", {
66
+ className: 'chip-icon icon-left',
67
+ children: icons[icon]({
68
+ className: 'icon'
69
+ })
70
+ }), /*#__PURE__*/_jsx("div", {
71
+ children: text
72
+ }), /*#__PURE__*/_jsx("div", {
73
+ ref: removeRef,
74
+ className: "action-right ".concat(disableRemove ? 'disabled' : ''),
75
+ tabIndex: disableRemove || disabled ? -1 : 0,
76
+ onMouseDown: defaultOnMouseDownHandler,
77
+ onClick: function onClick(e) {
78
+ return !disableRemove && onRemoveClick(e);
79
+ },
80
+ onKeyDown: function onKeyDown(e) {
81
+ return e.key === 'Enter' && onRemoveClick(e);
82
+ },
83
+ children: /*#__PURE__*/_jsx("div", {
84
+ className: 'chip-icon',
85
+ children: /*#__PURE__*/_jsx(SystemIcons.Close, {
86
+ className: 'remove'
87
+ })
88
+ })
89
+ })]
89
90
  })
90
- })]
91
+ })
91
92
  })
92
93
  });
93
94
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["React","SystemIcons","icons","IconButton","Size","ChipContainer","InputChip","icon","text","variant","size","disabled","onClick","onRemove","getIconSize","iconSize","Small","Medium","onRemoveClick","event","stopPropagation","className","Close"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAASC,WAAW,IAAIC,KAAxB,QAAqC,gBAArC;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,IAAT,QAAqB,UAArB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,cAA9B;AAEA;AACA;AACA;;;;;;AAGA,IAAMC,SAAkD,GAAG,SAArDA,SAAqD,OAAgF;AAAA,MAA7EC,IAA6E,QAA7EA,IAA6E;AAAA,MAAvEC,IAAuE,QAAvEA,IAAuE;AAAA,MAAjEC,OAAiE,QAAjEA,OAAiE;AAAA,MAAxDC,IAAwD,QAAxDA,IAAwD;AAAA,MAAlDC,QAAkD,QAAlDA,QAAkD;AAAA,MAAxCC,QAAwC,QAAxCA,OAAwC;AAAA,MAA/BC,QAA+B,QAA/BA,QAA+B;;AACzI;AACF;AACA;AACA;AACE,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAc;AAChC,QAAIC,QAAJ,CADgC,CAGhC;;AACA,QAAIL,IAAI,KAAKN,IAAI,CAACY,KAAlB,EAAyB;AACvBD,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFD,MAEO,IAAIL,IAAI,KAAKN,IAAI,CAACa,MAAlB,EAA0B;AAC/BF,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFM,MAEA;AACLA,MAAAA,QAAQ,GAAG,MAAX;AACD;;AAED,WAAOA,QAAP;AACD,GAbD;AAeA;AACF;AACA;AACA;;;AACE,MAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA4D;AAChF,QAAIA,KAAJ,EAAW;AACTA,MAAAA,KAAK,CAACC,eAAN;AACD;;AAEDP,IAAAA,QAAQ;AACT,GAND;AAQA;AACF;AACA;;;AACE,sBACE;AAAA,2BACE,MAAC,aAAD;AAAe,MAAA,SAAS,YAAKH,IAAL,0BAAyBC,QAAQ,GAAG,UAAH,GAAgBF,OAAjD,cAA4DF,IAAI,IAAI,WAApE,CAAxB;AAA2G,MAAA,OAAO,EAAE;AAAA,eAAMK,QAAO,EAAb;AAAA,OAApH;AAAA,iBAEGH,OAAO,KAAK,OAAZ,IAAuBF,IAAvB,IAA+BL,KAAK,CAACK,IAAD,CAAL,CAAY;AAAEG,QAAAA,IAAI,EAAEI,WAAW,EAAnB;AAAuBO,QAAAA,SAAS,EAAE;AAAlC,OAAZ,CAFlC,EAKGb,IALH,eAQE,KAAC,UAAD;AACE,QAAA,OAAO,EAAC,WADV;AAEE,QAAA,KAAK,EAAC,UAFR;AAGE,QAAA,wBAAwB,MAH1B;AAIE,QAAA,MAAM,EAAE,gBAACW,KAAD;AAAA,iBAA4DD,aAAa,CAACC,KAAD,CAAzE;AAAA,SAJV;AAKE,QAAA,QAAQ,EAAER,QALZ;AAAA,kBAMGT,KAAK,CAACoB,KAAN,CAAY;AAAEZ,UAAAA,IAAI,EAAEI,WAAW,EAAnB;AAAuBO,UAAAA,SAAS,EAAE;AAAlC,SAAZ;AANH,QARF;AAAA;AADF,IADF;AAqBD,CAxDD;;AA0DA,eAAef,SAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport { SystemIcons as icons } from '../icons/index';\nimport { IconButton } from '../Button/index';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport { ChipContainer } from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport { InputChipProps } from './ChipTypes';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = ({ icon, text, variant, size, disabled, onClick, onRemove }: InputChipProps) => {\n /**\n * Retrieves icon size based on the chip size.\n * @returns A string indicating the icon size.\n */\n const getIconSize = (): string => {\n let iconSize: string;\n\n // Calculate correct icon size\n if (size === Size.Small) {\n iconSize = '16px';\n } else if (size === Size.Medium) {\n iconSize = '20px';\n } else {\n iconSize = '24px';\n }\n\n return iconSize;\n };\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event: React.MouseEvent<HTMLButtonElement> | undefined) => {\n if (event) {\n event.stopPropagation();\n }\n\n onRemove();\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <>\n <ChipContainer className={`${size} button-chip ${disabled ? 'disabled' : variant} ${icon && 'icon-chip'}`} onClick={() => onClick()}>\n {/* Let's render icon if it is passed */}\n {variant !== 'error' && icon && icons[icon]({ size: getIconSize(), className: 'icon' })}\n\n {/* Let's render text */}\n {text}\n\n {/* Let's render clear icon */}\n <IconButton\n variant=\"secondary\"\n shape=\"circular\"\n useTransparentBackground\n action={(event: React.MouseEvent<HTMLButtonElement> | undefined) => onRemoveClick(event)}\n disabled={disabled}>\n {icons.Close({ size: getIconSize(), className: 'remove' })}\n </IconButton>\n </ChipContainer>\n </>\n );\n};\n\nexport default InputChip;\n"],"file":"InputChip.js"}
1
+ {"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["React","SystemIcons","icons","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","useActionWithin","InputChip","icon","text","variant","size","disabled","onClick","disableRemove","onRemove","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","e","key","className"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAAQC,WAAR,EAAqBA,WAAW,IAAIC,KAApC,QAAgD,gBAAhD;;AAIA;AACA;AACA;AACA,SAAQC,aAAR,EAAuBC,WAAvB,EAAoCC,oBAApC,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,EAAmCC,eAAnC,QAAyD,WAAzD;;;;;AAEA,IAAMC,SAAkD,GAAG,SAArDA,SAAqD,OASuB;AAAA,MARpBC,IAQoB,QARpBA,IAQoB;AAAA,MAPpBC,IAOoB,QAPpBA,IAOoB;AAAA,MANpBC,OAMoB,QANpBA,OAMoB;AAAA,MALpBC,IAKoB,QALpBA,IAKoB;AAAA,MAJpBC,QAIoB,QAJpBA,QAIoB;AAAA,MAHpBC,QAGoB,QAHpBA,OAGoB;AAAA,MAFpBC,aAEoB,QAFpBA,aAEoB;AAAA,MADpBC,QACoB,QADpBA,QACoB;AAEhF,MAAMC,YAAY,GAAGjB,KAAK,CAACkB,MAAN,CAA6B,IAA7B,CAArB;AACA,MAAMC,SAAS,GAAGnB,KAAK,CAACkB,MAAN,CAA6B,IAA7B,CAAlB;AAEAX,EAAAA,eAAe,CAACU,YAAD,EAAe,CAACE,SAAD,CAAf,CAAf;AAEA;AACF;AACA;AACA;;AACE,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAoE;AACxF,KAAC,CAACA,KAAF,IAAWA,KAAK,CAACC,eAAN,EAAX;AACAN,IAAAA,QAAQ;AACT,GAHD;AAKA;AACF;AACA;;;AACE,sBACE;AAAA,2BACE,KAAC,aAAD;AAAe,MAAA,GAAG,EAAEC,YAApB;AACe,MAAA,SAAS,YAAKL,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,eAA4CF,OAA5C,CADxB;AAEe,MAAA,QAAQ,EAAEE,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAFzC;AAGe,MAAA,WAAW,EAAEP,yBAH5B;AAIe,MAAA,SAAS,EAAE,mBAAAiB,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBV,QAAO,EAAhC;AAAA,OAJ3B;AAKe,MAAA,OAAO,EAAE;AAAA,eAAMA,QAAO,EAAb;AAAA,OALxB;AAAA,6BAME,KAAC,oBAAD;AAAA,+BACE,MAAC,WAAD;AAAa,UAAA,SAAS,EAAE,mBAAxB;AAAA,qBACGL,IAAI,iBAAI;AAAK,YAAA,SAAS,EAAE,qBAAhB;AAAA,sBAAwCP,KAAK,CAACO,IAAD,CAAL,CAAY;AAACgB,cAAAA,SAAS,EAAE;AAAZ,aAAZ;AAAxC,YADX,eAGE;AAAA,sBAAMf;AAAN,YAHF,eAKE;AAAK,YAAA,GAAG,EAAES,SAAV;AACK,YAAA,SAAS,yBAAkBJ,aAAa,GAAG,UAAH,GAAgB,EAA/C,CADd;AAEK,YAAA,QAAQ,EAAEA,aAAa,IAAIF,QAAjB,GAA4B,CAAC,CAA7B,GAAiC,CAFhD;AAGK,YAAA,WAAW,EAAEP,yBAHlB;AAIK,YAAA,OAAO,EAAE,iBAAAiB,CAAC;AAAA,qBAAI,CAACR,aAAD,IAAkBK,aAAa,CAACG,CAAD,CAAnC;AAAA,aAJf;AAKK,YAAA,SAAS,EAAE,mBAAAA,CAAC;AAAA,qBAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBJ,aAAa,CAACG,CAAD,CAAtC;AAAA,aALjB;AAAA,mCAME;AAAK,cAAA,SAAS,EAAE,WAAhB;AAAA,qCACE,KAAC,WAAD,CAAa,KAAb;AAAmB,gBAAA,SAAS,EAAE;AAA9B;AADF;AANF,YALF;AAAA;AADF;AANF;AADF,IADF;AA6BD,CAzDD;;AA2DA,eAAef,SAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\nimport {IconButton} from '../Button/index';\nimport {Size} from '../types';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = ({\n icon,\n text,\n variant,\n size,\n disabled,\n onClick,\n disableRemove,\n onRemove\n }: InputChipProps) => {\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent) => {\n !!event && event.stopPropagation();\n onRemove();\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <>\n <ChipContainer ref={containerRef}\n className={`${size} ${disabled ? 'disabled' : ''} ${variant}`}\n tabIndex={disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => e.key === 'Enter' && onClick()}\n onClick={() => onClick()}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && onRemoveClick(e)}\n onKeyDown={e => e.key === 'Enter' && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n};\n\nexport default InputChip;\n"],"file":"InputChip.js"}