@activecollab/components 1.0.402 → 1.0.404

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 (61) hide show
  1. package/dist/cjs/components/EditableCurrency/EditableCurrency.js +76 -0
  2. package/dist/cjs/components/EditableCurrency/EditableCurrency.js.map +1 -0
  3. package/dist/cjs/components/EditableCurrency/index.js +17 -0
  4. package/dist/cjs/components/EditableCurrency/index.js.map +1 -0
  5. package/dist/cjs/components/Icons/collection/DescriptionSmall.js +48 -0
  6. package/dist/cjs/components/Icons/collection/DescriptionSmall.js.map +1 -0
  7. package/dist/cjs/components/Icons/collection/index.js +7 -0
  8. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  9. package/dist/cjs/components/Input/InputCurrency.js.map +1 -1
  10. package/dist/cjs/components/Input/InputNumber.js +27 -131
  11. package/dist/cjs/components/Input/InputNumber.js.map +1 -1
  12. package/dist/cjs/hooks/index.js +11 -0
  13. package/dist/cjs/hooks/index.js.map +1 -1
  14. package/dist/cjs/hooks/useInputNumber.js +147 -0
  15. package/dist/cjs/hooks/useInputNumber.js.map +1 -0
  16. package/dist/cjs/utils/currencyUtils.js +18 -15
  17. package/dist/cjs/utils/currencyUtils.js.map +1 -1
  18. package/dist/cjs/utils/currencyUtils.test.js +2 -2
  19. package/dist/cjs/utils/currencyUtils.test.js.map +1 -1
  20. package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts +4 -0
  21. package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts.map +1 -0
  22. package/dist/esm/components/EditableCurrency/EditableCurrency.js +63 -0
  23. package/dist/esm/components/EditableCurrency/EditableCurrency.js.map +1 -0
  24. package/dist/esm/components/EditableCurrency/index.d.ts +2 -0
  25. package/dist/esm/components/EditableCurrency/index.d.ts.map +1 -0
  26. package/dist/esm/components/EditableCurrency/index.js +2 -0
  27. package/dist/esm/components/EditableCurrency/index.js.map +1 -0
  28. package/dist/esm/components/Icons/collection/DescriptionSmall.d.ts +23 -0
  29. package/dist/esm/components/Icons/collection/DescriptionSmall.d.ts.map +1 -0
  30. package/dist/esm/components/Icons/collection/DescriptionSmall.js +41 -0
  31. package/dist/esm/components/Icons/collection/DescriptionSmall.js.map +1 -0
  32. package/dist/esm/components/Icons/collection/index.d.ts +1 -0
  33. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  34. package/dist/esm/components/Icons/collection/index.js +1 -0
  35. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  36. package/dist/esm/components/Input/InputCurrency.d.ts +1 -1
  37. package/dist/esm/components/Input/InputCurrency.d.ts.map +1 -1
  38. package/dist/esm/components/Input/InputCurrency.js.map +1 -1
  39. package/dist/esm/components/Input/InputNumber.d.ts +1 -10
  40. package/dist/esm/components/Input/InputNumber.d.ts.map +1 -1
  41. package/dist/esm/components/Input/InputNumber.js +28 -124
  42. package/dist/esm/components/Input/InputNumber.js.map +1 -1
  43. package/dist/esm/hooks/index.d.ts +1 -0
  44. package/dist/esm/hooks/index.d.ts.map +1 -1
  45. package/dist/esm/hooks/index.js +1 -0
  46. package/dist/esm/hooks/index.js.map +1 -1
  47. package/dist/esm/hooks/useInputNumber.d.ts +22 -0
  48. package/dist/esm/hooks/useInputNumber.d.ts.map +1 -0
  49. package/dist/esm/hooks/useInputNumber.js +131 -0
  50. package/dist/esm/hooks/useInputNumber.js.map +1 -0
  51. package/dist/esm/utils/currencyUtils.d.ts +8 -2
  52. package/dist/esm/utils/currencyUtils.d.ts.map +1 -1
  53. package/dist/esm/utils/currencyUtils.js +16 -14
  54. package/dist/esm/utils/currencyUtils.js.map +1 -1
  55. package/dist/esm/utils/currencyUtils.test.js +2 -2
  56. package/dist/esm/utils/currencyUtils.test.js.map +1 -1
  57. package/dist/index.js +206 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/index.min.js +1 -1
  60. package/dist/index.min.js.map +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EditableCurrency = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _hooks = require("../../hooks");
10
+ var _EditableContent = require("../EditableContent");
11
+ var _Tooltip = require("../Tooltip");
12
+ var _utils = require("../../utils");
13
+ var _excluded = ["decimalLength", "decimalSeparator", "disableAbbreviation", "disabled", "disableMacros", "onValueChange", "step", "thousandSeparator", "value", "className"];
14
+ 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); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+ var EditableCurrency = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
22
+ var _ref$decimalLength = _ref.decimalLength,
23
+ decimalLength = _ref$decimalLength === void 0 ? 2 : _ref$decimalLength,
24
+ _ref$decimalSeparator = _ref.decimalSeparator,
25
+ decimalSeparator = _ref$decimalSeparator === void 0 ? "." : _ref$decimalSeparator,
26
+ _ref$disableAbbreviat = _ref.disableAbbreviation,
27
+ disableAbbreviation = _ref$disableAbbreviat === void 0 ? false : _ref$disableAbbreviat,
28
+ disabled = _ref.disabled,
29
+ _ref$disableMacros = _ref.disableMacros,
30
+ disableMacros = _ref$disableMacros === void 0 ? false : _ref$disableMacros,
31
+ onValueChange = _ref.onValueChange,
32
+ _ref$step = _ref.step,
33
+ step = _ref$step === void 0 ? 1 : _ref$step,
34
+ _ref$thousandSeparato = _ref.thousandSeparator,
35
+ thousandSeparator = _ref$thousandSeparato === void 0 ? "," : _ref$thousandSeparato,
36
+ value = _ref.value,
37
+ className = _ref.className,
38
+ rest = _objectWithoutProperties(_ref, _excluded);
39
+ var inputRef = (0, _react.useRef)(null);
40
+ var handleRef = (0, _utils.useForkRef)(ref, inputRef);
41
+ var _useInputNumber = (0, _hooks.useInputNumber)({
42
+ decimalLength: decimalLength,
43
+ decimalSeparator: decimalSeparator,
44
+ disableAbbreviation: disableAbbreviation,
45
+ disableMacros: disableMacros,
46
+ onValueChange: onValueChange,
47
+ step: step,
48
+ thousandSeparator: thousandSeparator,
49
+ value: value
50
+ }, inputRef),
51
+ focused = _useInputNumber.focused,
52
+ rootValue = _useInputNumber.rootValue,
53
+ formattedValue = _useInputNumber.formattedValue,
54
+ handleBlur = _useInputNumber.handleBlur,
55
+ handleChange = _useInputNumber.handleChange,
56
+ handleFocus = _useInputNumber.handleFocus,
57
+ handleKeyDown = _useInputNumber.handleKeyDown;
58
+ return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
59
+ title: rootValue,
60
+ disable: focused
61
+ }, /*#__PURE__*/_react.default.createElement(_EditableContent.EditableContent, {
62
+ disabled: disabled,
63
+ ref: handleRef,
64
+ className: className,
65
+ inputProps: _objectSpread({
66
+ value: formattedValue,
67
+ onBlur: handleBlur,
68
+ onChange: handleChange,
69
+ onFocus: handleFocus,
70
+ onKeyDown: handleKeyDown
71
+ }, rest)
72
+ }));
73
+ });
74
+ exports.EditableCurrency = EditableCurrency;
75
+ EditableCurrency.displayName = "EditableCurrency";
76
+ //# sourceMappingURL=EditableCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditableCurrency.js","names":["EditableCurrency","forwardRef","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","onValueChange","step","thousandSeparator","value","className","rest","inputRef","useRef","handleRef","useForkRef","useInputNumber","focused","rootValue","formattedValue","handleBlur","handleChange","handleFocus","handleKeyDown","onBlur","onChange","onFocus","onKeyDown","displayName"],"sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\nimport { useInputNumber } from \"../../hooks\";\nimport { EditableContent } from \"../EditableContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { useForkRef } from \"../../utils\";\n\nimport type { InputNumberProps } from \"../../hooks\";\n\nexport const EditableCurrency = forwardRef<\n HTMLInputElement,\n Omit<InputNumberProps, \"size\">\n>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n onValueChange,\n step = 1,\n thousandSeparator = \",\",\n value,\n className,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n focused,\n rootValue,\n formattedValue,\n handleBlur,\n handleChange,\n handleFocus,\n handleKeyDown,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n onValueChange,\n step,\n thousandSeparator,\n value,\n },\n inputRef\n );\n\n return (\n <Tooltip title={rootValue as string} disable={focused}>\n <EditableContent\n disabled={disabled}\n ref={handleRef}\n className={className}\n inputProps={{\n value: formattedValue,\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n ...rest,\n }}\n />\n </Tooltip>\n );\n }\n);\n\nEditableCurrency.displayName = \"EditableCurrency\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIlC,IAAMA,gBAAgB,gBAAG,IAAAC,iBAAU,EAIxC,gBAcEC,GAAG,EACA;EAAA,8BAbDC,aAAa;IAAbA,aAAa,mCAAG,CAAC;IAAA,6BACjBC,gBAAgB;IAAhBA,gBAAgB,sCAAG,GAAG;IAAA,6BACtBC,mBAAmB;IAAnBA,mBAAmB,sCAAG,KAAK;IAC3BC,QAAQ,QAARA,QAAQ;IAAA,0BACRC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IACrBC,aAAa,QAAbA,aAAa;IAAA,iBACbC,IAAI;IAAJA,IAAI,0BAAG,CAAC;IAAA,6BACRC,iBAAiB;IAAjBA,iBAAiB,sCAAG,GAAG;IACvBC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIT,IAAMC,QAAQ,GAAG,IAAAC,aAAM,EAA0B,IAAI,CAAC;EACtD,IAAMC,SAAS,GAAG,IAAAC,iBAAU,EAACf,GAAG,EAAEY,QAAQ,CAAC;EAE3C,sBAQI,IAAAI,qBAAc,EAChB;MACEf,aAAa,EAAbA,aAAa;MACbC,gBAAgB,EAAhBA,gBAAgB;MAChBC,mBAAmB,EAAnBA,mBAAmB;MACnBE,aAAa,EAAbA,aAAa;MACbC,aAAa,EAAbA,aAAa;MACbC,IAAI,EAAJA,IAAI;MACJC,iBAAiB,EAAjBA,iBAAiB;MACjBC,KAAK,EAALA;IACF,CAAC,EACDG,QAAQ,CACT;IAnBCK,OAAO,mBAAPA,OAAO;IACPC,SAAS,mBAATA,SAAS;IACTC,cAAc,mBAAdA,cAAc;IACdC,UAAU,mBAAVA,UAAU;IACVC,YAAY,mBAAZA,YAAY;IACZC,WAAW,mBAAXA,WAAW;IACXC,aAAa,mBAAbA,aAAa;EAef,oBACE,6BAAC,gBAAO;IAAC,KAAK,EAAEL,SAAoB;IAAC,OAAO,EAAED;EAAQ,gBACpD,6BAAC,gCAAe;IACd,QAAQ,EAAEb,QAAS;IACnB,GAAG,EAAEU,SAAU;IACf,SAAS,EAAEJ,SAAU;IACrB,UAAU;MACRD,KAAK,EAAEU,cAAc;MACrBK,MAAM,EAAEJ,UAAU;MAClBK,QAAQ,EAAEJ,YAAY;MACtBK,OAAO,EAAEJ,WAAW;MACpBK,SAAS,EAAEJ;IAAa,GACrBZ,IAAI;EACP,EACF,CACM;AAEd,CAAC,CACF;AAAC;AAEFb,gBAAgB,CAAC8B,WAAW,GAAG,kBAAkB"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _EditableCurrency = require("./EditableCurrency");
7
+ Object.keys(_EditableCurrency).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _EditableCurrency[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _EditableCurrency[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/EditableCurrency/index.ts"],"sourcesContent":["export * from \"./EditableCurrency\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ 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); }
10
+ /**
11
+ * @component DescriptionSmallIcon
12
+ * @description
13
+ *
14
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
15
+ * The Icon component is
16
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
17
+ *
18
+ *
19
+ * @example
20
+ * return (
21
+ * <DescriptionSmallIcon className="mr-2" />
22
+ * )
23
+ *
24
+ * @see
25
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
26
+ * @see
27
+ * https://design.activecollab.com/docs/foundations/icons
28
+ */
29
+ var DescriptionSmallIcon = /*#__PURE__*/_react.default.forwardRef(function (props, svgRef) {
30
+ return /*#__PURE__*/_react.default.createElement("svg", _extends({
31
+ width: 18,
32
+ height: 18,
33
+ viewBox: "0 0 18 18",
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ "data-testid": "DescriptionSmallIcon",
36
+ fill: "var(--color-theme-600)",
37
+ focusable: false,
38
+ ref: svgRef
39
+ }, props), /*#__PURE__*/_react.default.createElement("path", {
40
+ fillRule: "evenodd",
41
+ clipRule: "evenodd",
42
+ d: "M15 15H3a1.5 1.5 0 01-1.5-1.5v-9A1.5 1.5 0 013 3h12a1.5 1.5 0 011.5 1.5v9A1.5 1.5 0 0115 15zM3 4.5v9h12v-9H3zm1.5 2.25h9v1.5h-9v-1.5zm0 3H12v1.5H4.5v-1.5z"
43
+ }));
44
+ });
45
+ DescriptionSmallIcon.displayName = "DescriptionSmallIcon";
46
+ var _default = DescriptionSmallIcon;
47
+ exports.default = _default;
48
+ //# sourceMappingURL=DescriptionSmall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DescriptionSmall.js","names":["DescriptionSmallIcon","React","forwardRef","props","svgRef","displayName"],"sources":["../../../../../src/components/Icons/collection/DescriptionSmall.tsx"],"sourcesContent":["import React from \"react\";\n\n/**\n * @component DescriptionSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DescriptionSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DescriptionSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={18}\n height={18}\n viewBox=\"0 0 18 18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DescriptionSmallIcon\"\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=\"M15 15H3a1.5 1.5 0 01-1.5-1.5v-9A1.5 1.5 0 013 3h12a1.5 1.5 0 011.5 1.5v9A1.5 1.5 0 0115 15zM3 4.5v9h12v-9H3zm1.5 2.25h9v1.5h-9v-1.5zm0 3H12v1.5H4.5v-1.5z\"\n />\n </svg>\n )\n);\nDescriptionSmallIcon.displayName = \"DescriptionSmallIcon\";\nexport default DescriptionSmallIcon;\n"],"mappings":";;;;;;AAAA;AAA0B;AAAA;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,oBAAoB,gBAAGC,cAAK,CAACC,UAAU,CAC3C,UAACC,KAAoC,EAAEC,MAAiC;EAAA,oBACtE;IACE,KAAK,EAAE,EAAG;IACV,MAAM,EAAE,EAAG;IACX,OAAO,EAAC,WAAW;IACnB,KAAK,EAAC,4BAA4B;IAClC,eAAY,sBAAsB;IAClC,IAAI,EAAC,wBAAwB;IAC7B,SAAS,EAAE,KAAM;IACjB,GAAG,EAAEA;EAAO,GACRD,KAAK,gBAET;IACE,QAAQ,EAAC,SAAS;IAClB,QAAQ,EAAC,SAAS;IAClB,CAAC,EAAC;EAA4J,EAC9J,CACE;AAAA,CACP,CACF;AACDH,oBAAoB,CAACK,WAAW,GAAG,sBAAsB;AAAC,eAC3CL,oBAAoB;AAAA"}
@@ -327,6 +327,12 @@ Object.defineProperty(exports, "DescriptionIcon", {
327
327
  return _Description.default;
328
328
  }
329
329
  });
330
+ Object.defineProperty(exports, "DescriptionSmallIcon", {
331
+ enumerable: true,
332
+ get: function get() {
333
+ return _DescriptionSmall.default;
334
+ }
335
+ });
330
336
  Object.defineProperty(exports, "DiscussionAddIcon", {
331
337
  enumerable: true,
332
338
  get: function get() {
@@ -1100,6 +1106,7 @@ var _CrownBlank = _interopRequireDefault(require("./CrownBlank"));
1100
1106
  var _CrownSelected = _interopRequireDefault(require("./CrownSelected"));
1101
1107
  var _DependencySmall = _interopRequireDefault(require("./DependencySmall"));
1102
1108
  var _Dependency = _interopRequireDefault(require("./Dependency"));
1109
+ var _DescriptionSmall = _interopRequireDefault(require("./DescriptionSmall"));
1103
1110
  var _Description = _interopRequireDefault(require("./Description"));
1104
1111
  var _DiscussionAdd = _interopRequireDefault(require("./DiscussionAdd"));
1105
1112
  var _Discussion = _interopRequireDefault(require("./Discussion"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Icons/collection/index.tsx"],"sourcesContent":["export { default as AccessLogIcon } from \"./AccessLog\";\nexport { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArchiveIcon } from \"./Archive\";\nexport { default as ArrowBackMobileIcon } from \"./ArrowBackMobile\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowDownLongIcon } from \"./ArrowDownLong\";\nexport { default as ArrowDownIcon } from \"./ArrowDown\";\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 ArrowUpIcon } from \"./ArrowUp\";\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 CheckboxCircleArrowIcon } from \"./CheckboxCircleArrow\";\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 ClockStopwatchIndicatorIcon } from \"./ClockStopwatchIndicator\";\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 CloseIcon } from \"./Close\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as CompanyIcon } from \"./Company\";\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 DescriptionIcon } from \"./Description\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DiscussionIcon } from \"./Discussion\";\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 DollarDocumentIcon } from \"./DollarDocument\";\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 GiftIcon } from \"./Gift\";\nexport { default as HashtagIcon } from \"./Hashtag\";\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 MessageSolidIcon } from \"./MessageSolid\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MoveIcon } from \"./Move\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotebookIcon } from \"./Notebook\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OpenSheetIcon } from \"./OpenSheet\";\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 PinIcon } from \"./Pin\";\nexport { default as PlayCircleOutlineIcon } from \"./PlayCircleOutline\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as PlaySmallIcon } from \"./PlaySmall\";\nexport { default as PriorityLowIcon } from \"./PriorityLow\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectSearchIcon } from \"./ProjectSearch\";\nexport { default as ProjectStarIcon } from \"./ProjectStar\";\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 RecurringSmallIcon } from \"./RecurringSmall\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as RocketIcon } from \"./Rocket\";\nexport { default as SearchLargeIcon } from \"./SearchLarge\";\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 ShieldIcon } from \"./Shield\";\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 StopwatchIcon } from \"./Stopwatch\";\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 TaskListIcon } from \"./TaskList\";\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"],"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;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;AAAqD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Icons/collection/index.tsx"],"sourcesContent":["export { default as AccessLogIcon } from \"./AccessLog\";\nexport { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArchiveIcon } from \"./Archive\";\nexport { default as ArrowBackMobileIcon } from \"./ArrowBackMobile\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowDownLongIcon } from \"./ArrowDownLong\";\nexport { default as ArrowDownIcon } from \"./ArrowDown\";\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 ArrowUpIcon } from \"./ArrowUp\";\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 CheckboxCircleArrowIcon } from \"./CheckboxCircleArrow\";\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 ClockStopwatchIndicatorIcon } from \"./ClockStopwatchIndicator\";\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 CloseIcon } from \"./Close\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as CompanyIcon } from \"./Company\";\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 DescriptionSmallIcon } from \"./DescriptionSmall\";\nexport { default as DescriptionIcon } from \"./Description\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DiscussionIcon } from \"./Discussion\";\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 DollarDocumentIcon } from \"./DollarDocument\";\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 GiftIcon } from \"./Gift\";\nexport { default as HashtagIcon } from \"./Hashtag\";\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 MessageSolidIcon } from \"./MessageSolid\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MoveIcon } from \"./Move\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotebookIcon } from \"./Notebook\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OpenSheetIcon } from \"./OpenSheet\";\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 PinIcon } from \"./Pin\";\nexport { default as PlayCircleOutlineIcon } from \"./PlayCircleOutline\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as PlaySmallIcon } from \"./PlaySmall\";\nexport { default as PriorityLowIcon } from \"./PriorityLow\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectSearchIcon } from \"./ProjectSearch\";\nexport { default as ProjectStarIcon } from \"./ProjectStar\";\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 RecurringSmallIcon } from \"./RecurringSmall\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as RocketIcon } from \"./Rocket\";\nexport { default as SearchLargeIcon } from \"./SearchLarge\";\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 ShieldIcon } from \"./Shield\";\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 StopwatchIcon } from \"./Stopwatch\";\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 TaskListIcon } from \"./TaskList\";\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"],"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;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;AAAqD"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputCurrency.js","names":["InputCurrency","forwardRef","ref","rest","displayName"],"sources":["../../../../src/components/Input/InputCurrency.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { InputNumber } from \"./InputNumber\";\nimport type { InputNumberProps } from \"./InputNumber\";\n\nexport type InputCurrencyProps = InputNumberProps;\n\nexport const InputCurrency = forwardRef<HTMLInputElement, InputCurrencyProps>(\n ({ ...rest }, ref) => {\n return <InputNumber ref={ref} {...rest} />;\n }\n);\n\nInputCurrency.displayName = \"InputCurrency\";\n"],"mappings":";;;;;;;AAAA;AACA;AAA4C;AAAA;AAAA;AAKrC,IAAMA,aAAa,gBAAG,IAAAC,iBAAU,EACrC,gBAAcC,GAAG,EAAK;EAAA,IAAhBC,IAAI;EACR,oBAAO,6BAAC,wBAAW;IAAC,GAAG,EAAED;EAAI,GAAKC,IAAI,EAAI;AAC5C,CAAC,CACF;AAAC;AAEFH,aAAa,CAACI,WAAW,GAAG,eAAe"}
1
+ {"version":3,"file":"InputCurrency.js","names":["InputCurrency","forwardRef","ref","rest","displayName"],"sources":["../../../../src/components/Input/InputCurrency.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { InputNumber } from \"./InputNumber\";\nimport type { InputNumberProps } from \"../../hooks\";\n\nexport type InputCurrencyProps = InputNumberProps;\n\nexport const InputCurrency = forwardRef<HTMLInputElement, InputCurrencyProps>(\n ({ ...rest }, ref) => {\n return <InputNumber ref={ref} {...rest} />;\n }\n);\n\nInputCurrency.displayName = \"InputCurrency\";\n"],"mappings":";;;;;;;AAAA;AACA;AAA4C;AAAA;AAAA;AAKrC,IAAMA,aAAa,gBAAG,IAAAC,iBAAU,EACrC,gBAAcC,GAAG,EAAK;EAAA,IAAhBC,IAAI;EACR,oBAAO,6BAAC,wBAAW;IAAC,GAAG,EAAED;EAAI,GAAKC,IAAI,EAAI;AAC5C,CAAC,CACF;AAAC;AAEFH,aAAa,CAACI,WAAW,GAAG,eAAe"}
@@ -6,154 +6,50 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.InputNumber = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _Input = require("./Input");
10
- var _currencyUtils = require("../../utils/currencyUtils");
9
+ var _hooks = require("../../hooks");
11
10
  var _utils = require("../../utils");
12
- var _excluded = ["disableMacros", "disableAbbreviation", "decimalLength", "thousandSeparator", "decimalSeparator", "value", "onBlur", "onKeyDown", "onFocus", "onValueChange", "disabled", "invalid", "step"];
11
+ var _Input = require("./Input");
12
+ var _excluded = ["decimalLength", "decimalSeparator", "disableAbbreviation", "disabled", "disableMacros", "invalid", "onValueChange", "step", "thousandSeparator", "value"];
13
13
  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); }
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
15
  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); }
16
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
16
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
17
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
24
- var multiplier = {
25
- k: 1000,
26
- m: 1000000,
27
- b: 1000000000,
28
- t: 1000000000000
29
- };
30
18
  var InputNumber = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
- var _ref$disableMacros = _ref.disableMacros,
32
- disableMacros = _ref$disableMacros === void 0 ? false : _ref$disableMacros,
33
- _ref$disableAbbreviat = _ref.disableAbbreviation,
34
- disableAbbreviation = _ref$disableAbbreviat === void 0 ? false : _ref$disableAbbreviat,
35
- _ref$decimalLength = _ref.decimalLength,
19
+ var _ref$decimalLength = _ref.decimalLength,
36
20
  decimalLength = _ref$decimalLength === void 0 ? 2 : _ref$decimalLength,
37
- _ref$thousandSeparato = _ref.thousandSeparator,
38
- thousandSeparator = _ref$thousandSeparato === void 0 ? "," : _ref$thousandSeparato,
39
21
  _ref$decimalSeparator = _ref.decimalSeparator,
40
22
  decimalSeparator = _ref$decimalSeparator === void 0 ? "." : _ref$decimalSeparator,
41
- value = _ref.value,
42
- onBlur = _ref.onBlur,
43
- onKeyDown = _ref.onKeyDown,
44
- onFocus = _ref.onFocus,
45
- onValueChange = _ref.onValueChange,
23
+ _ref$disableAbbreviat = _ref.disableAbbreviation,
24
+ disableAbbreviation = _ref$disableAbbreviat === void 0 ? false : _ref$disableAbbreviat,
46
25
  disabled = _ref.disabled,
26
+ _ref$disableMacros = _ref.disableMacros,
27
+ disableMacros = _ref$disableMacros === void 0 ? false : _ref$disableMacros,
47
28
  invalid = _ref.invalid,
29
+ onValueChange = _ref.onValueChange,
48
30
  _ref$step = _ref.step,
49
31
  step = _ref$step === void 0 ? 1 : _ref$step,
32
+ _ref$thousandSeparato = _ref.thousandSeparator,
33
+ thousandSeparator = _ref$thousandSeparato === void 0 ? "," : _ref$thousandSeparato,
34
+ value = _ref.value,
50
35
  rest = _objectWithoutProperties(_ref, _excluded);
51
- var _useState = (0, _react.useState)(value),
52
- _useState2 = _slicedToArray(_useState, 2),
53
- formattedValue = _useState2[0],
54
- setFormatted = _useState2[1];
55
- var _useState3 = (0, _react.useState)(value),
56
- _useState4 = _slicedToArray(_useState3, 2),
57
- rootValue = _useState4[0],
58
- setRootValue = _useState4[1];
59
36
  var inputRef = (0, _react.useRef)(null);
60
37
  var handleRef = (0, _utils.useForkRef)(ref, inputRef);
61
- var handleInputBlur = function handleInputBlur() {
62
- if (inputRef && inputRef.current) {
63
- inputRef.current.blur();
64
- }
65
- };
66
- var handleSelect = function handleSelect() {
67
- if (inputRef && inputRef.current) {
68
- inputRef.current.select();
69
- }
70
- };
71
- var handleChange = function handleChange(e) {
72
- var inputValue = e.target.value;
73
- var isValidInput = false;
74
- if (inputValue.startsWith("00")) {
75
- return;
76
- }
77
- var numericInput = disableMacros ? inputValue : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, function (_, num, unit) {
78
- return (parseFloat(num) * multiplier[unit.toLowerCase()]).toString();
79
- });
80
- var regexString = "^(\\d{0,9}(?:[".concat(thousandSeparator, "]?\\d{0,3})*(?:\\").concat(decimalSeparator, "\\d{0,").concat(decimalLength, "})?)?$");
81
- if (thousandSeparator === ",") {
82
- isValidInput = new RegExp(regexString).test(numericInput);
83
- }
84
- if (thousandSeparator === ".") {
85
- isValidInput = new RegExp(regexString).test(numericInput);
86
- }
87
- if (!isValidInput) {
88
- return;
89
- }
90
- setFormatted(numericInput);
91
- onValueChange && onValueChange(numericInput);
92
- };
93
- var handleKeyDown = function handleKeyDown(e) {
94
- var allowedChars = /[0-9km.,b]/i;
95
- var key = e.key;
96
- var _step = parseFloat(String(step));
97
- if (key === "Escape") {
98
- handleInputBlur();
99
- }
100
- if (key === "ArrowUp") {
101
- e.preventDefault();
102
- updateValue("increment", _step);
103
- }
104
- if (key === "ArrowDown") {
105
- e.preventDefault();
106
- updateValue("decrement", _step);
107
- }
108
- if ((e.metaKey || e.ctrlKey) && e.key === "a") {
109
- handleSelect();
110
- }
111
- if (!allowedChars.test(key)) {
112
- e.preventDefault();
113
- }
114
- if (decimalLength === 0 && e.key === decimalSeparator) {
115
- e.preventDefault();
116
- }
117
- onKeyDown && onKeyDown(e);
118
- };
119
- var handleBlur = function handleBlur(e) {
120
- if (disableAbbreviation) {
121
- setFormatted(formattedValue);
122
- } else {
123
- setFormatted((0, _currencyUtils.formatCurrency)(formattedValue, thousandSeparator));
124
- }
125
- setRootValue(formattedValue);
126
- onBlur && onBlur(e);
127
- };
128
- var handleFocus = function handleFocus(e) {
129
- setFormatted(rootValue);
130
- onFocus && onFocus(e);
131
- };
132
- var updateValue = function updateValue(type, step) {
133
- var value = String(formattedValue);
134
- var decimalPart = "";
135
- var increasedValue = 0;
136
- var nonDecimalPart = value.replaceAll(thousandSeparator, "");
137
- if (!value) {
138
- return;
139
- }
140
- if (value.includes(decimalSeparator)) {
141
- nonDecimalPart = value.slice(0, value.indexOf(decimalSeparator)).replaceAll(thousandSeparator, "");
142
- }
143
- if (value.includes(decimalSeparator)) {
144
- decimalPart = value.slice(value.indexOf(decimalSeparator));
145
- }
146
- if (type === "increment") {
147
- increasedValue = parseFloat(nonDecimalPart) + step;
148
- } else {
149
- increasedValue = parseFloat(nonDecimalPart) - step;
150
- }
151
- if (value.includes(decimalSeparator)) {
152
- increasedValue = parseFloat(increasedValue.toFixed(decimalLength));
153
- }
154
- var joinedValue = (0, _currencyUtils.numberWithSeparator)(increasedValue, thousandSeparator, value.includes(thousandSeparator));
155
- setFormatted(decimalPart ? joinedValue + decimalPart : joinedValue);
156
- };
38
+ var _useInputNumber = (0, _hooks.useInputNumber)({
39
+ decimalLength: decimalLength,
40
+ decimalSeparator: decimalSeparator,
41
+ disableAbbreviation: disableAbbreviation,
42
+ disableMacros: disableMacros,
43
+ onValueChange: onValueChange,
44
+ step: step,
45
+ thousandSeparator: thousandSeparator,
46
+ value: value
47
+ }, inputRef),
48
+ formattedValue = _useInputNumber.formattedValue,
49
+ handleBlur = _useInputNumber.handleBlur,
50
+ handleChange = _useInputNumber.handleChange,
51
+ handleFocus = _useInputNumber.handleFocus,
52
+ handleKeyDown = _useInputNumber.handleKeyDown;
157
53
  return /*#__PURE__*/_react.default.createElement(_Input.Input, _extends({
158
54
  ref: handleRef,
159
55
  placeholder: "5".concat(thousandSeparator, "000").concat(decimalSeparator, "00"),
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["multiplier","k","m","b","t","InputNumber","forwardRef","ref","disableMacros","disableAbbreviation","decimalLength","thousandSeparator","decimalSeparator","value","onBlur","onKeyDown","onFocus","onValueChange","disabled","invalid","step","rest","useState","formattedValue","setFormatted","rootValue","setRootValue","inputRef","useRef","handleRef","useForkRef","handleInputBlur","current","blur","handleSelect","select","handleChange","e","inputValue","target","isValidInput","startsWith","numericInput","replace","_","num","unit","parseFloat","toLowerCase","toString","regexString","RegExp","test","handleKeyDown","allowedChars","key","_step","String","preventDefault","updateValue","metaKey","ctrlKey","handleBlur","formatCurrency","handleFocus","type","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","toFixed","joinedValue","numberWithSeparator","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n FocusEventHandler,\n KeyboardEventHandler,\n useRef,\n useState,\n} from \"react\";\nimport { Input } from \"./Input\";\nimport { formatCurrency, numberWithSeparator } from \"../../utils/currencyUtils\";\nimport { useForkRef } from \"../../utils\";\n\nimport type { InputProps } from \"./Input\";\n\nconst multiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport type Separators = \".\" | \",\";\n\nexport interface InputNumberProps extends InputProps {\n decimalSeparator?: Separators;\n thousandSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n decimalLength?: number;\n onValueChange?: (value: string) => void;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n disableMacros = false,\n disableAbbreviation = false,\n decimalLength = 2,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n value,\n onBlur,\n onKeyDown,\n onFocus,\n onValueChange,\n disabled,\n invalid,\n step = 1,\n ...rest\n },\n ref\n ) => {\n const [formattedValue, setFormatted] = useState(value);\n const [rootValue, setRootValue] = useState(value);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const handleInputBlur = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.blur();\n }\n };\n\n const handleSelect = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.select();\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n const inputValue = e.target.value;\n let isValidInput = false;\n\n if (inputValue.startsWith(\"00\")) {\n return;\n }\n\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * multiplier[unit.toLowerCase()]\n ).toString();\n });\n\n const regexString = `^(\\\\d{0,9}(?:[${thousandSeparator}]?\\\\d{0,3})*(?:\\\\${decimalSeparator}\\\\d{0,${decimalLength}})?)?$`;\n\n if (thousandSeparator === \",\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (thousandSeparator === \".\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (!isValidInput) {\n return;\n }\n\n setFormatted(numericInput);\n\n onValueChange && onValueChange(numericInput);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n const allowedChars = /[0-9km.,b]/i;\n const key = e.key;\n const _step = parseFloat(String(step));\n\n if (key === \"Escape\") {\n handleInputBlur();\n }\n\n if (key === \"ArrowUp\") {\n e.preventDefault();\n\n updateValue(\"increment\", _step);\n }\n\n if (key === \"ArrowDown\") {\n e.preventDefault();\n\n updateValue(\"decrement\", _step);\n }\n\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n handleSelect();\n }\n\n if (!allowedChars.test(key)) {\n e.preventDefault();\n }\n\n if (decimalLength === 0 && e.key === decimalSeparator) {\n e.preventDefault();\n }\n\n onKeyDown && onKeyDown(e);\n };\n\n const handleBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n if (disableAbbreviation) {\n setFormatted(formattedValue);\n } else {\n setFormatted(\n formatCurrency(formattedValue as string, thousandSeparator)\n );\n }\n\n setRootValue(formattedValue);\n\n onBlur && onBlur(e);\n };\n\n const handleFocus: FocusEventHandler<HTMLInputElement> = (e) => {\n setFormatted(rootValue);\n\n onFocus && onFocus(e);\n };\n\n const updateValue = (type: \"increment\" | \"decrement\", step: number) => {\n const value = String(formattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n value.includes(thousandSeparator)\n );\n\n setFormatted(decimalPart ? joinedValue + decimalPart : joinedValue);\n };\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["InputNumber","forwardRef","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","onValueChange","step","thousandSeparator","value","rest","inputRef","useRef","handleRef","useForkRef","useInputNumber","formattedValue","handleBlur","handleChange","handleFocus","handleKeyDown","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\nimport { InputNumberProps, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\nimport { Input } from \"./Input\";\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n onValueChange,\n step = 1,\n thousandSeparator = \",\",\n value,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n formattedValue,\n handleBlur,\n handleChange,\n handleFocus,\n handleKeyDown,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n onValueChange,\n step,\n thousandSeparator,\n value,\n },\n inputRef\n );\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAEzB,IAAMA,WAAW,gBAAG,IAAAC,iBAAU,EACnC,gBAcEC,GAAG,EACA;EAAA,8BAbDC,aAAa;IAAbA,aAAa,mCAAG,CAAC;IAAA,6BACjBC,gBAAgB;IAAhBA,gBAAgB,sCAAG,GAAG;IAAA,6BACtBC,mBAAmB;IAAnBA,mBAAmB,sCAAG,KAAK;IAC3BC,QAAQ,QAARA,QAAQ;IAAA,0BACRC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IACrBC,OAAO,QAAPA,OAAO;IACPC,aAAa,QAAbA,aAAa;IAAA,iBACbC,IAAI;IAAJA,IAAI,0BAAG,CAAC;IAAA,6BACRC,iBAAiB;IAAjBA,iBAAiB,sCAAG,GAAG;IACvBC,KAAK,QAALA,KAAK;IACFC,IAAI;EAIT,IAAMC,QAAQ,GAAG,IAAAC,aAAM,EAA0B,IAAI,CAAC;EACtD,IAAMC,SAAS,GAAG,IAAAC,iBAAU,EAACf,GAAG,EAAEY,QAAQ,CAAC;EAE3C,sBAMI,IAAAI,qBAAc,EAChB;MACEf,aAAa,EAAbA,aAAa;MACbC,gBAAgB,EAAhBA,gBAAgB;MAChBC,mBAAmB,EAAnBA,mBAAmB;MACnBE,aAAa,EAAbA,aAAa;MACbE,aAAa,EAAbA,aAAa;MACbC,IAAI,EAAJA,IAAI;MACJC,iBAAiB,EAAjBA,iBAAiB;MACjBC,KAAK,EAALA;IACF,CAAC,EACDE,QAAQ,CACT;IAjBCK,cAAc,mBAAdA,cAAc;IACdC,UAAU,mBAAVA,UAAU;IACVC,YAAY,mBAAZA,YAAY;IACZC,WAAW,mBAAXA,WAAW;IACXC,aAAa,mBAAbA,aAAa;EAef,oBACE,6BAAC,YAAK;IACJ,GAAG,EAAEP,SAAU;IACf,WAAW,aAAML,iBAAiB,gBAAMP,gBAAgB,OAAK;IAC7D,KAAK,EAAEe,cAAe;IACtB,IAAI,EAAC,MAAM;IACX,QAAQ,EAAEb,QAAS;IACnB,OAAO,EAAEE,OAAQ;IACjB,QAAQ,EAAEa,YAAa;IACvB,OAAO,EAAEC,WAAY;IACrB,MAAM,EAAEF,UAAW;IACnB,SAAS,EAAEG,aAAc;IACzB,+BAAsBZ,iBAAiB,gBAAMP,gBAAgB,OAAK;IAClE,iBAAeE,QAAS;IACxB,gBAAcE;EAAQ,GAClBK,IAAI,EACR;AAEN,CAAC,CACF;AAAC;AAEFb,WAAW,CAACwB,WAAW,GAAG,aAAa"}
@@ -25,4 +25,15 @@ Object.keys(_useHeight).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _useInputNumber = require("./useInputNumber");
29
+ Object.keys(_useInputNumber).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _useInputNumber[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _useInputNumber[key];
36
+ }
37
+ });
38
+ });
28
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from \"./useInitScrollRef\";\nexport * from \"./useHeight\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from \"./useInitScrollRef\";\nexport * from \"./useHeight\";\nexport * from \"./useInputNumber\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}