@chayns-components/core 5.0.0-beta.155 → 5.0.0-beta.158

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ import { FC } from 'react';
2
+ export type AmountControlProps = {
3
+ /**
4
+ * The amount that should be displayed.
5
+ */
6
+ amount?: number;
7
+ /**
8
+ * The maximum allowed amount.
9
+ */
10
+ maxAmount?: number;
11
+ /**
12
+ * The minimum allowed amount.
13
+ */
14
+ minAmount?: number;
15
+ /**
16
+ * A Function that is executed when the amount is changed
17
+ */
18
+ onChange?: (amount: number) => void;
19
+ };
20
+ declare const AmountControl: FC<AmountControlProps>;
21
+ export default AmountControl;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
9
+ var _AmountControl = require("./AmountControl.styles");
10
+ var _amountControl = require("./utils/amountControl");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ 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; }
14
+ const AmountControl = _ref => {
15
+ let {
16
+ amount,
17
+ maxAmount,
18
+ minAmount = 0,
19
+ onChange
20
+ } = _ref;
21
+ const [amountValue, setAmountValue] = (0, _react.useState)(0);
22
+ const [inputValue, setInputValue] = (0, _react.useState)('0');
23
+
24
+ /**
25
+ * Function that sets the amountValue to the amount
26
+ */
27
+ (0, _react.useEffect)(() => {
28
+ if (!amount) {
29
+ return;
30
+ }
31
+ setAmountValue((0, _amountControl.checkForValidAmount)({
32
+ amount,
33
+ maxAmount,
34
+ minAmount
35
+ }));
36
+ setInputValue((0, _amountControl.checkForValidAmount)({
37
+ amount,
38
+ maxAmount,
39
+ minAmount
40
+ }).toString());
41
+ }, [amount, maxAmount, minAmount]);
42
+
43
+ /**
44
+ * Function that updates the onChange event
45
+ */
46
+ (0, _react.useEffect)(() => {
47
+ if (onChange) {
48
+ onChange(amountValue);
49
+ }
50
+ }, [amountValue, onChange]);
51
+ const handleAmountAdd = () => {
52
+ setAmountValue(prevState => prevState + 1);
53
+ setInputValue(prevState => (Number(prevState) + 1).toString());
54
+ };
55
+ const handleAmountRemove = () => {
56
+ setAmountValue(prevState => prevState - 1);
57
+ setInputValue(prevState => (Number(prevState) - 1).toString());
58
+ };
59
+ const handleInputBlur = (0, _react.useCallback)(() => {
60
+ setAmountValue(inputValue === '' ? 0 : Number(inputValue));
61
+ if (inputValue === '') {
62
+ setInputValue('0');
63
+ }
64
+ }, [inputValue]);
65
+ const handleInputChange = (0, _react.useCallback)(event => {
66
+ const valueBeforeCheck = Number(event.target.value);
67
+ const checkedValue = (0, _amountControl.checkForValidAmount)({
68
+ minAmount,
69
+ maxAmount,
70
+ amount: Number(event.target.value)
71
+ });
72
+ if (valueBeforeCheck < minAmount && minAmount === 0) {
73
+ setInputValue('0');
74
+ return;
75
+ }
76
+ setInputValue(checkedValue === 0 ? '' : checkedValue.toString());
77
+ }, [maxAmount, minAmount]);
78
+ return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_AmountControl.StyledAmountControl, null, /*#__PURE__*/_react.default.createElement(_AmountControl.StyledAmountControlButton, {
79
+ onClick: handleAmountRemove,
80
+ disabled: amountValue <= minAmount
81
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
82
+ icons: ['fa fa-minus'],
83
+ size: 15,
84
+ color: "red"
85
+ })), /*#__PURE__*/_react.default.createElement(_AmountControl.StyledAmountControlInput, {
86
+ onBlur: handleInputBlur,
87
+ onChange: handleInputChange,
88
+ value: inputValue,
89
+ type: "number"
90
+ }), /*#__PURE__*/_react.default.createElement(_AmountControl.StyledAmountControlButton, {
91
+ onClick: handleAmountAdd,
92
+ disabled: maxAmount ? amountValue >= maxAmount : false
93
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
94
+ icons: ['fa fa-plus'],
95
+ size: 15,
96
+ color: "green"
97
+ }))), [amountValue, handleInputBlur, handleInputChange, inputValue, maxAmount, minAmount]);
98
+ };
99
+ AmountControl.displayName = 'AmountControl';
100
+ var _default = AmountControl;
101
+ exports.default = _default;
102
+ //# sourceMappingURL=AmountControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmountControl.js","names":["_react","_interopRequireWildcard","require","_Icon","_interopRequireDefault","_AmountControl","_amountControl","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AmountControl","_ref","amount","maxAmount","minAmount","onChange","amountValue","setAmountValue","useState","inputValue","setInputValue","useEffect","checkForValidAmount","toString","handleAmountAdd","prevState","Number","handleAmountRemove","handleInputBlur","useCallback","handleInputChange","event","valueBeforeCheck","target","value","checkedValue","useMemo","createElement","StyledAmountControl","StyledAmountControlButton","onClick","disabled","icons","size","color","StyledAmountControlInput","onBlur","type","displayName","_default","exports"],"sources":["../../../src/components/amount-control/AmountControl.tsx"],"sourcesContent":["import React, { ChangeEvent, FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport Icon from '../icon/Icon';\nimport {\n StyledAmountControl,\n StyledAmountControlButton,\n StyledAmountControlInput,\n} from './AmountControl.styles';\nimport { checkForValidAmount } from './utils/amountControl';\n\nexport type AmountControlProps = {\n /**\n * The amount that should be displayed.\n */\n amount?: number;\n /**\n * The maximum allowed amount.\n */\n maxAmount?: number;\n /**\n * The minimum allowed amount.\n */\n minAmount?: number;\n /**\n * A Function that is executed when the amount is changed\n */\n onChange?: (amount: number) => void;\n};\n\nconst AmountControl: FC<AmountControlProps> = ({ amount, maxAmount, minAmount = 0, onChange }) => {\n const [amountValue, setAmountValue] = useState(0);\n const [inputValue, setInputValue] = useState('0');\n\n /**\n * Function that sets the amountValue to the amount\n */\n useEffect(() => {\n if (!amount) {\n return;\n }\n\n setAmountValue(checkForValidAmount({ amount, maxAmount, minAmount }));\n setInputValue(checkForValidAmount({ amount, maxAmount, minAmount }).toString());\n }, [amount, maxAmount, minAmount]);\n\n /**\n * Function that updates the onChange event\n */\n useEffect(() => {\n if (onChange) {\n onChange(amountValue);\n }\n }, [amountValue, onChange]);\n\n const handleAmountAdd = () => {\n setAmountValue((prevState) => prevState + 1);\n setInputValue((prevState) => (Number(prevState) + 1).toString());\n };\n\n const handleAmountRemove = () => {\n setAmountValue((prevState) => prevState - 1);\n setInputValue((prevState) => (Number(prevState) - 1).toString());\n };\n\n const handleInputBlur = useCallback(() => {\n setAmountValue(inputValue === '' ? 0 : Number(inputValue));\n\n if (inputValue === '') {\n setInputValue('0');\n }\n }, [inputValue]);\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const valueBeforeCheck = Number(event.target.value);\n\n const checkedValue = checkForValidAmount({\n minAmount,\n maxAmount,\n amount: Number(event.target.value),\n });\n\n if (valueBeforeCheck < minAmount && minAmount === 0) {\n setInputValue('0');\n\n return;\n }\n\n setInputValue(checkedValue === 0 ? '' : checkedValue.toString());\n },\n [maxAmount, minAmount]\n );\n\n return useMemo(\n () => (\n <StyledAmountControl>\n <StyledAmountControlButton\n onClick={handleAmountRemove}\n disabled={amountValue <= minAmount}\n >\n <Icon icons={['fa fa-minus']} size={15} color=\"red\" />\n </StyledAmountControlButton>\n <StyledAmountControlInput\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n value={inputValue}\n type=\"number\"\n />\n <StyledAmountControlButton\n onClick={handleAmountAdd}\n disabled={maxAmount ? amountValue >= maxAmount : false}\n >\n <Icon icons={['fa fa-plus']} size={15} color=\"green\" />\n </StyledAmountControlButton>\n </StyledAmountControl>\n ),\n [amountValue, handleInputBlur, handleInputChange, inputValue, maxAmount, minAmount]\n );\n};\n\nAmountControl.displayName = 'AmountControl';\n\nexport default AmountControl;\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const StyledAmountControl: import("styled-components").StyledComponent<"div", any, {
2
+ theme: import("../color-scheme-provider/ColorSchemeProvider").Theme;
3
+ }, never>;
4
+ export declare const StyledAmountControlInput: import("styled-components").StyledComponent<"input", any, {
5
+ theme: import("../color-scheme-provider/ColorSchemeProvider").Theme;
6
+ }, never>;
7
+ export declare const StyledAmountControlButton: import("styled-components").StyledComponent<"button", any, {
8
+ disabled: boolean;
9
+ } & {
10
+ theme: import("../color-scheme-provider/ColorSchemeProvider").Theme;
11
+ }, never>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledAmountControlInput = exports.StyledAmountControlButton = exports.StyledAmountControl = void 0;
7
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ 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; }
10
+ const StyledAmountControl = _styledComponents.default.div`
11
+ background-color: ${_ref => {
12
+ let {
13
+ theme
14
+ } = _ref;
15
+ return theme['202'];
16
+ }};
17
+ display: flex;
18
+ width: fit-content;
19
+ border-radius: 3px;
20
+ `;
21
+ exports.StyledAmountControl = StyledAmountControl;
22
+ const StyledAmountControlInput = _styledComponents.default.input`
23
+ background-color: ${_ref2 => {
24
+ let {
25
+ theme
26
+ } = _ref2;
27
+ return theme['202'];
28
+ }};
29
+ border: none;
30
+ height: 28px;
31
+ width: 95px;
32
+ text-align: center;
33
+ `;
34
+ exports.StyledAmountControlInput = StyledAmountControlInput;
35
+ const StyledAmountControlButton = _styledComponents.default.button`
36
+ background-color: rgba(255, 255, 255, 0.2);
37
+ height: 28px;
38
+ width: 40px;
39
+
40
+ ${_ref3 => {
41
+ let {
42
+ disabled
43
+ } = _ref3;
44
+ return disabled && (0, _styledComponents.css)`
45
+ opacity: 0.5;
46
+ `;
47
+ }}
48
+ `;
49
+ exports.StyledAmountControlButton = StyledAmountControlButton;
50
+ //# sourceMappingURL=AmountControl.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmountControl.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StyledAmountControl","styled","div","_ref","theme","exports","StyledAmountControlInput","input","_ref2","StyledAmountControlButton","button","_ref3","disabled","css"],"sources":["../../../src/components/amount-control/AmountControl.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledAmountControlProps = WithTheme<unknown>;\n\nexport const StyledAmountControl = styled.div<StyledAmountControlProps>`\n background-color: ${({ theme }: StyledAmountControlProps) => theme['202']};\n display: flex;\n width: fit-content;\n border-radius: 3px;\n`;\n\ntype StyledAmountControlInputProps = WithTheme<unknown>;\n\nexport const StyledAmountControlInput = styled.input<StyledAmountControlInputProps>`\n background-color: ${({ theme }: StyledAmountControlInputProps) => theme['202']};\n border: none;\n height: 28px;\n width: 95px;\n text-align: center;\n`;\n\ntype StyledAmountControlButtonProps = WithTheme<{\n disabled: boolean;\n}>;\n\nexport const StyledAmountControlButton = styled.button<StyledAmountControlButtonProps>`\n background-color: rgba(255, 255, 255, 0.2);\n height: 28px;\n width: 40px;\n\n ${({ disabled }) =>\n disabled &&\n css`\n opacity: 0.5;\n `}\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAKzC,MAAMW,mBAAmB,GAAGC,yBAAM,CAACC,GAA8B;AACxE,wBAAwBC,IAAA;EAAA,IAAC;IAAEC;EAAgC,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AAC9E;AACA;AACA;AACA,CAAC;AAACC,OAAA,CAAAL,mBAAA,GAAAA,mBAAA;AAIK,MAAMM,wBAAwB,GAAGL,yBAAM,CAACM,KAAqC;AACpF,wBAAwBC,KAAA;EAAA,IAAC;IAAEJ;EAAqC,CAAC,GAAAI,KAAA;EAAA,OAAKJ,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AACnF;AACA;AACA;AACA;AACA,CAAC;AAACC,OAAA,CAAAC,wBAAA,GAAAA,wBAAA;AAMK,MAAMG,yBAAyB,GAAGR,yBAAM,CAACS,MAAuC;AACvF;AACA;AACA;AACA;AACA,MAAMC,KAAA;EAAA,IAAC;IAAEC;EAAS,CAAC,GAAAD,KAAA;EAAA,OACXC,QAAQ,IACR,IAAAC,qBAAG,CAAC;AACZ;AACA,SAAS;AAAA,CAAC;AACV,CAAC;AAACR,OAAA,CAAAI,yBAAA,GAAAA,yBAAA"}
@@ -0,0 +1,7 @@
1
+ interface CheckForValidAmount {
2
+ amount: number;
3
+ maxAmount?: number;
4
+ minAmount: number;
5
+ }
6
+ export declare const checkForValidAmount: ({ amount, maxAmount, minAmount }: CheckForValidAmount) => number;
7
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkForValidAmount = void 0;
7
+ const checkForValidAmount = _ref => {
8
+ let {
9
+ amount,
10
+ maxAmount,
11
+ minAmount
12
+ } = _ref;
13
+ if (maxAmount && amount > maxAmount) {
14
+ return maxAmount;
15
+ }
16
+ if (amount < minAmount) {
17
+ return minAmount;
18
+ }
19
+ return amount;
20
+ };
21
+ exports.checkForValidAmount = checkForValidAmount;
22
+ //# sourceMappingURL=amountControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amountControl.js","names":["checkForValidAmount","_ref","amount","maxAmount","minAmount","exports"],"sources":["../../../../src/components/amount-control/utils/amountControl.ts"],"sourcesContent":["interface CheckForValidAmount {\n amount: number;\n maxAmount?: number;\n minAmount: number;\n}\n\nexport const checkForValidAmount = ({ amount, maxAmount, minAmount }: CheckForValidAmount) => {\n if (maxAmount && amount > maxAmount) {\n return maxAmount;\n }\n\n if (amount < minAmount) {\n return minAmount;\n }\n\n return amount;\n};\n"],"mappings":";;;;;;AAMO,MAAMA,mBAAmB,GAAGC,IAAA,IAA2D;EAAA,IAA1D;IAAEC,MAAM;IAAEC,SAAS;IAAEC;EAA+B,CAAC,GAAAH,IAAA;EACrF,IAAIE,SAAS,IAAID,MAAM,GAAGC,SAAS,EAAE;IACjC,OAAOA,SAAS;EACpB;EAEA,IAAID,MAAM,GAAGE,SAAS,EAAE;IACpB,OAAOA,SAAS;EACpB;EAEA,OAAOF,MAAM;AACjB,CAAC;AAACG,OAAA,CAAAL,mBAAA,GAAAA,mBAAA"}
@@ -133,7 +133,7 @@ const ContextMenu = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
133
133
  window.removeEventListener('blur', handleHide);
134
134
  };
135
135
  }, [handleDocumentClick, handleHide, isContentShown, onHide, onShow]);
136
- const portal = (0, _react.useMemo)(() => /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
136
+ const portal = (0, _react.useMemo)(() => typeof window !== 'undefined' && /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
137
137
  initial: false
138
138
  }, isContentShown && /*#__PURE__*/_react.default.createElement(_ContextMenuContent.default, {
139
139
  coordinates: coordinates !== null && coordinates !== void 0 ? coordinates : internalCoordinates,
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_reactDom","_uuid","_Icon","_interopRequireDefault","_alignment","_ContextMenuContent","_ContextMenu","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ContextMenu","forwardRef","_ref","ref","alignment","children","createElement","icons","container","document","body","coordinates","items","onHide","onShow","internalCoordinates","setInternalCoordinates","useState","x","y","internalAlignment","setInternalAlignment","ContextMenuAlignment","TopLeft","isContentShown","setIsContentShown","uuid","useUuid","contextMenuContentRef","useRef","contextMenuRef","handleHide","useCallback","handleShow","isMobile","isTablet","chayns","env","_selection$","buttonType","selection","dialog","select","buttons","list","map","_ref2","index","text","name","value","icon","type","_items$selection$0$va","onClick","current","rootElement","querySelector","height","childrenHeight","width","childrenWidth","getBoundingClientRect","BottomRight","TopRight","BottomLeft","handleClick","event","preventDefault","stopPropagation","handleDocumentClick","_contextMenuContentRe","contains","target","useImperativeHandle","hide","show","useEffect","addEventListener","window","removeEventListener","portal","useMemo","createPortal","AnimatePresence","initial","Fragment","StyledContextMenu","className","displayName","_default","exports"],"sources":["../../../src/components/context-menu/ContextMenu.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, {\n forwardRef,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useUuid } from '../../hooks/uuid';\nimport Icon from '../icon/Icon';\nimport { ContextMenuAlignment } from './constants/alignment';\nimport ContextMenuContent from './context-menu-content/ContextMenuContent';\nimport { StyledContextMenu } from './ContextMenu.styles';\n\nexport type ContextMenuCoordinates = {\n x: number;\n y: number;\n};\n\nexport type ContextMenuItem = {\n icons: string[];\n key: string;\n onClick: (event?: MouseEvent<HTMLDivElement>) => void;\n text: string;\n};\n\ntype ContextMenuRef = {\n hide: VoidFunction;\n show: VoidFunction;\n};\n\ntype ContextMenuProps = {\n /**\n * Optional custom alignment used instead of calculating it using the\n * alignment within the page. The available alignment can be taken from the\n * ContextMenuAlignment enum.\n */\n alignment?: ContextMenuAlignment;\n /**\n * The element over which the content of the `ContextMenu` should be displayed.\n */\n children?: ReactNode;\n /**\n * The element where the content of the `ContextMenu` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * Optional own coordinates to be used instead of calculating the alignment\n * based on the alignment of the children.\n */\n coordinates?: ContextMenuCoordinates;\n /**\n * The items that will be displayed in the content of the `ContextMenu`.\n */\n items: ContextMenuItem[];\n /**\n * Function to be executed when the content of the Context menu has been hidden.\n */\n onHide?: VoidFunction;\n /**\n * Function to be executed when the content of the Context menu has been shown.\n */\n onShow?: VoidFunction;\n};\n\nconst ContextMenu = forwardRef<ContextMenuRef, ContextMenuProps>(\n (\n {\n alignment,\n children = <Icon icons={['ts-ellipsis_v']} />,\n container = document.body,\n coordinates,\n items,\n onHide,\n onShow,\n },\n ref\n ) => {\n const [internalCoordinates, setInternalCoordinates] = useState<ContextMenuCoordinates>({\n x: 0,\n y: 0,\n });\n const [internalAlignment, setInternalAlignment] = useState<ContextMenuAlignment>(\n ContextMenuAlignment.TopLeft\n );\n const [isContentShown, setIsContentShown] = useState(false);\n\n const uuid = useUuid();\n\n // ToDo: Replace with hook if new chayns api is ready\n const contextMenuContentRef = useRef<HTMLDivElement>(null);\n const contextMenuRef = useRef<HTMLSpanElement>(null);\n\n const handleHide = useCallback(() => {\n setIsContentShown(false);\n }, []);\n\n const handleShow = useCallback(async () => {\n const { isMobile, isTablet } = chayns.env;\n\n if (isMobile || isTablet) {\n // ToDo: Replace with new api function if new api is ready\n const { buttonType, selection } = await chayns.dialog.select({\n buttons: [],\n list: items.map(({ icons, text }, index) => ({\n name: text,\n value: index,\n icon: icons[0],\n })),\n type: 2,\n });\n\n if (buttonType === 1 && typeof selection[0]?.value === 'number') {\n items[selection[0].value]?.onClick();\n }\n } else if (contextMenuRef.current) {\n const rootElement = document.querySelector('.tapp') || document.body;\n\n const {\n x,\n y,\n height: childrenHeight,\n width: childrenWidth,\n } = contextMenuRef.current.getBoundingClientRect();\n\n setInternalCoordinates({ x: x + childrenWidth / 2, y: y + childrenHeight / 2 });\n\n const { height, width } = rootElement.getBoundingClientRect();\n\n if (x < width / 2) {\n if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomRight);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopRight);\n }\n } else if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomLeft);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopLeft);\n }\n\n setIsContentShown(true);\n }\n }, [items]);\n\n const handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n void handleShow();\n },\n [handleShow]\n );\n\n const handleDocumentClick = useCallback<EventListener>(\n (event) => {\n if (!contextMenuContentRef.current?.contains(event.target as Node)) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n handleHide();\n },\n [handleHide]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n hide: handleHide,\n show: handleShow,\n }),\n [handleHide, handleShow]\n );\n\n useEffect(() => {\n if (isContentShown) {\n document.addEventListener('click', handleDocumentClick, true);\n window.addEventListener('blur', handleHide);\n\n if (typeof onShow === 'function') {\n onShow();\n }\n } else if (typeof onHide === 'function') {\n onHide();\n }\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n window.removeEventListener('blur', handleHide);\n };\n }, [handleDocumentClick, handleHide, isContentShown, onHide, onShow]);\n\n const portal = useMemo(\n () =>\n createPortal(\n <AnimatePresence initial={false}>\n {isContentShown && (\n <ContextMenuContent\n coordinates={coordinates ?? internalCoordinates}\n items={items}\n key={`contextMenu_${uuid}`}\n alignment={alignment ?? internalAlignment}\n ref={contextMenuContentRef}\n />\n )}\n </AnimatePresence>,\n container\n ),\n [\n container,\n coordinates,\n internalCoordinates,\n internalAlignment,\n isContentShown,\n items,\n alignment,\n uuid,\n ]\n );\n\n return (\n <>\n <StyledContextMenu\n className=\"beta-chayns-context-menu\"\n onClick={handleClick}\n ref={contextMenuRef}\n >\n {children}\n </StyledContextMenu>\n {portal}\n </>\n );\n }\n);\n\nContextMenu.displayName = 'ContextMenu';\n\nexport default ContextMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_reactDom","_uuid","_Icon","_interopRequireDefault","_alignment","_ContextMenuContent","_ContextMenu","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ContextMenu","forwardRef","_ref","ref","alignment","children","createElement","icons","container","document","body","coordinates","items","onHide","onShow","internalCoordinates","setInternalCoordinates","useState","x","y","internalAlignment","setInternalAlignment","ContextMenuAlignment","TopLeft","isContentShown","setIsContentShown","uuid","useUuid","contextMenuContentRef","useRef","contextMenuRef","handleHide","useCallback","handleShow","isMobile","isTablet","chayns","env","_selection$","buttonType","selection","dialog","select","buttons","list","map","_ref2","index","text","name","value","icon","type","_items$selection$0$va","onClick","current","rootElement","querySelector","height","childrenHeight","width","childrenWidth","getBoundingClientRect","BottomRight","TopRight","BottomLeft","handleClick","event","preventDefault","stopPropagation","handleDocumentClick","_contextMenuContentRe","contains","target","useImperativeHandle","hide","show","useEffect","addEventListener","window","removeEventListener","portal","useMemo","createPortal","AnimatePresence","initial","Fragment","StyledContextMenu","className","displayName","_default","exports"],"sources":["../../../src/components/context-menu/ContextMenu.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, {\n forwardRef,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useUuid } from '../../hooks/uuid';\nimport Icon from '../icon/Icon';\nimport { ContextMenuAlignment } from './constants/alignment';\nimport ContextMenuContent from './context-menu-content/ContextMenuContent';\nimport { StyledContextMenu } from './ContextMenu.styles';\n\nexport type ContextMenuCoordinates = {\n x: number;\n y: number;\n};\n\nexport type ContextMenuItem = {\n icons: string[];\n key: string;\n onClick: (event?: MouseEvent<HTMLDivElement>) => void;\n text: string;\n};\n\ntype ContextMenuRef = {\n hide: VoidFunction;\n show: VoidFunction;\n};\n\ntype ContextMenuProps = {\n /**\n * Optional custom alignment used instead of calculating it using the\n * alignment within the page. The available alignment can be taken from the\n * ContextMenuAlignment enum.\n */\n alignment?: ContextMenuAlignment;\n /**\n * The element over which the content of the `ContextMenu` should be displayed.\n */\n children?: ReactNode;\n /**\n * The element where the content of the `ContextMenu` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * Optional own coordinates to be used instead of calculating the alignment\n * based on the alignment of the children.\n */\n coordinates?: ContextMenuCoordinates;\n /**\n * The items that will be displayed in the content of the `ContextMenu`.\n */\n items: ContextMenuItem[];\n /**\n * Function to be executed when the content of the Context menu has been hidden.\n */\n onHide?: VoidFunction;\n /**\n * Function to be executed when the content of the Context menu has been shown.\n */\n onShow?: VoidFunction;\n};\n\nconst ContextMenu = forwardRef<ContextMenuRef, ContextMenuProps>(\n (\n {\n alignment,\n children = <Icon icons={['ts-ellipsis_v']} />,\n container = document.body,\n coordinates,\n items,\n onHide,\n onShow,\n },\n ref\n ) => {\n const [internalCoordinates, setInternalCoordinates] = useState<ContextMenuCoordinates>({\n x: 0,\n y: 0,\n });\n const [internalAlignment, setInternalAlignment] = useState<ContextMenuAlignment>(\n ContextMenuAlignment.TopLeft\n );\n const [isContentShown, setIsContentShown] = useState(false);\n\n const uuid = useUuid();\n\n // ToDo: Replace with hook if new chayns api is ready\n const contextMenuContentRef = useRef<HTMLDivElement>(null);\n const contextMenuRef = useRef<HTMLSpanElement>(null);\n\n const handleHide = useCallback(() => {\n setIsContentShown(false);\n }, []);\n\n const handleShow = useCallback(async () => {\n const { isMobile, isTablet } = chayns.env;\n\n if (isMobile || isTablet) {\n // ToDo: Replace with new api function if new api is ready\n const { buttonType, selection } = await chayns.dialog.select({\n buttons: [],\n list: items.map(({ icons, text }, index) => ({\n name: text,\n value: index,\n icon: icons[0],\n })),\n type: 2,\n });\n\n if (buttonType === 1 && typeof selection[0]?.value === 'number') {\n items[selection[0].value]?.onClick();\n }\n } else if (contextMenuRef.current) {\n const rootElement = document.querySelector('.tapp') || document.body;\n\n const {\n x,\n y,\n height: childrenHeight,\n width: childrenWidth,\n } = contextMenuRef.current.getBoundingClientRect();\n\n setInternalCoordinates({ x: x + childrenWidth / 2, y: y + childrenHeight / 2 });\n\n const { height, width } = rootElement.getBoundingClientRect();\n\n if (x < width / 2) {\n if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomRight);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopRight);\n }\n } else if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomLeft);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopLeft);\n }\n\n setIsContentShown(true);\n }\n }, [items]);\n\n const handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n void handleShow();\n },\n [handleShow]\n );\n\n const handleDocumentClick = useCallback<EventListener>(\n (event) => {\n if (!contextMenuContentRef.current?.contains(event.target as Node)) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n handleHide();\n },\n [handleHide]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n hide: handleHide,\n show: handleShow,\n }),\n [handleHide, handleShow]\n );\n\n useEffect(() => {\n if (isContentShown) {\n document.addEventListener('click', handleDocumentClick, true);\n window.addEventListener('blur', handleHide);\n\n if (typeof onShow === 'function') {\n onShow();\n }\n } else if (typeof onHide === 'function') {\n onHide();\n }\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n window.removeEventListener('blur', handleHide);\n };\n }, [handleDocumentClick, handleHide, isContentShown, onHide, onShow]);\n\n const portal = useMemo(\n () =>\n typeof window !== 'undefined' &&\n createPortal(\n <AnimatePresence initial={false}>\n {isContentShown && (\n <ContextMenuContent\n coordinates={coordinates ?? internalCoordinates}\n items={items}\n key={`contextMenu_${uuid}`}\n alignment={alignment ?? internalAlignment}\n ref={contextMenuContentRef}\n />\n )}\n </AnimatePresence>,\n container\n ),\n [\n container,\n coordinates,\n internalCoordinates,\n internalAlignment,\n isContentShown,\n items,\n alignment,\n uuid,\n ]\n );\n\n return (\n <>\n <StyledContextMenu\n className=\"beta-chayns-context-menu\"\n onClick={handleClick}\n ref={contextMenuRef}\n >\n {children}\n </StyledContextMenu>\n {portal}\n </>\n );\n }\n);\n\nContextMenu.displayName = 'ContextMenu';\n\nexport default ContextMenu;\n"],"mappings":"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"}
@@ -21,7 +21,8 @@ const MentionFinder = _ref => {
21
21
  const [activeMember, setActiveMember] = (0, _react.useState)(members[0]);
22
22
  const [fullMatch, searchString] = (0, _react.useMemo)(() => {
23
23
  var _regExpMatchArray$1$t, _regExpMatchArray$;
24
- const regExpMatchArray = inputValue.match(/@(\S*)/);
24
+ // eslint-disable-next-line no-irregular-whitespace
25
+ const regExpMatchArray = inputValue.match(/@([^\s​]*)/);
25
26
  return [regExpMatchArray === null || regExpMatchArray === void 0 ? void 0 : regExpMatchArray[0], (_regExpMatchArray$1$t = regExpMatchArray === null || regExpMatchArray === void 0 ? void 0 : (_regExpMatchArray$ = regExpMatchArray[1]) === null || _regExpMatchArray$ === void 0 ? void 0 : _regExpMatchArray$.toLowerCase()) !== null && _regExpMatchArray$1$t !== void 0 ? _regExpMatchArray$1$t : ''];
26
27
  }, [inputValue]);
27
28
  const filteredMembers = (0, _react.useMemo)(() => searchString !== '' ? members.filter(_ref2 => {
@@ -1 +1 @@
1
- {"version":3,"file":"MentionFinder.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_MentionFinderItem","_interopRequireDefault","_MentionFinder","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MentionFinder","_ref","inputValue","members","onSelect","popupAlignment","activeMember","setActiveMember","useState","fullMatch","searchString","useMemo","_regExpMatchArray$1$t","_regExpMatchArray$","regExpMatchArray","match","toLowerCase","filteredMembers","filter","_ref2","id","info","name","includes","handleKeyDown","useCallback","event","shouldPreventDefault","currentIndex","findIndex","_ref3","prevIndex","Math","max","member","_ref4","nextIndex","min","length","preventDefault","stopPropagation","handleMemberClick","handleMemberHover","useEffect","isActiveMemberShown","some","_ref5","items","map","createElement","isActive","onClick","onHover","shouldShowPopup","window","addEventListener","removeEventListener","StyledMentionFinder","className","AnimatePresence","initial","StyledMotionMentionFinderPopup","animate","height","opacity","exit","transition","duration","displayName","_default","exports"],"sources":["../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport type { MentionFinderPopupAlignment } from './constants/alignment';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport { StyledMentionFinder, StyledMotionMentionFinderPopup } from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info: string;\n imageUrl: string;\n name: string;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n\n const [fullMatch, searchString] = useMemo(() => {\n const regExpMatchArray = inputValue.match(/@(\\S*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info.toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString)\n )\n : members,\n [members, searchString]\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n let shouldPreventDefault = false;\n\n if (event.key === 'ArrowUp') {\n const currentIndex = filteredMembers.findIndex(({ id }) => id === activeMember?.id);\n\n const prevIndex = Math.max(currentIndex - 1, 0);\n\n const member = filteredMembers[prevIndex];\n\n setActiveMember(member);\n\n shouldPreventDefault = true;\n } else if (event.key === 'ArrowDown') {\n const currentIndex = filteredMembers.findIndex(({ id }) => id === activeMember?.id);\n\n const nextIndex = Math.min(currentIndex + 1, filteredMembers.length - 1);\n\n const member = filteredMembers[nextIndex];\n\n setActiveMember(member);\n\n shouldPreventDefault = true;\n } else if (event.key === 'Enter') {\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n\n shouldPreventDefault = true;\n }\n }\n\n if (shouldPreventDefault) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [activeMember, filteredMembers, fullMatch, onSelect]\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect]\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover]\n );\n\n const shouldShowPopup = useMemo(() => fullMatch && items.length > 0, [fullMatch, items.length]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n return (\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <StyledMotionMentionFinderPopup\n animate={{ height: 'auto', opacity: 1 }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n popupAlignment={popupAlignment}\n transition={{ duration: 0.15 }}\n >\n {items}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MentionFinder.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_MentionFinderItem","_interopRequireDefault","_MentionFinder","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MentionFinder","_ref","inputValue","members","onSelect","popupAlignment","activeMember","setActiveMember","useState","fullMatch","searchString","useMemo","_regExpMatchArray$1$t","_regExpMatchArray$","regExpMatchArray","match","toLowerCase","filteredMembers","filter","_ref2","id","info","name","includes","handleKeyDown","useCallback","event","shouldPreventDefault","currentIndex","findIndex","_ref3","prevIndex","Math","max","member","_ref4","nextIndex","min","length","preventDefault","stopPropagation","handleMemberClick","handleMemberHover","useEffect","isActiveMemberShown","some","_ref5","items","map","createElement","isActive","onClick","onHover","shouldShowPopup","window","addEventListener","removeEventListener","StyledMentionFinder","className","AnimatePresence","initial","StyledMotionMentionFinderPopup","animate","height","opacity","exit","transition","duration","displayName","_default","exports"],"sources":["../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport type { MentionFinderPopupAlignment } from './constants/alignment';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport { StyledMentionFinder, StyledMotionMentionFinderPopup } from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info: string;\n imageUrl: string;\n name: string;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@([^\\s​]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info.toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString)\n )\n : members,\n [members, searchString]\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n let shouldPreventDefault = false;\n\n if (event.key === 'ArrowUp') {\n const currentIndex = filteredMembers.findIndex(({ id }) => id === activeMember?.id);\n\n const prevIndex = Math.max(currentIndex - 1, 0);\n\n const member = filteredMembers[prevIndex];\n\n setActiveMember(member);\n\n shouldPreventDefault = true;\n } else if (event.key === 'ArrowDown') {\n const currentIndex = filteredMembers.findIndex(({ id }) => id === activeMember?.id);\n\n const nextIndex = Math.min(currentIndex + 1, filteredMembers.length - 1);\n\n const member = filteredMembers[nextIndex];\n\n setActiveMember(member);\n\n shouldPreventDefault = true;\n } else if (event.key === 'Enter') {\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n\n shouldPreventDefault = true;\n }\n }\n\n if (shouldPreventDefault) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [activeMember, filteredMembers, fullMatch, onSelect]\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect]\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover]\n );\n\n const shouldShowPopup = useMemo(() => fullMatch && items.length > 0, [fullMatch, items.length]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n return (\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <StyledMotionMentionFinderPopup\n animate={{ height: 'auto', opacity: 1 }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n popupAlignment={popupAlignment}\n transition={{ duration: 0.15 }}\n >\n {items}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { default as Accordion } from './components/accordion/Accordion';
2
2
  export { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';
3
3
  export { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';
4
4
  export { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';
5
+ export { default as AmountControl } from './components/amount-control/AmountControl';
5
6
  export { default as Badge } from './components/badge/Badge';
6
7
  export { default as Button } from './components/button/Button';
7
8
  export { default as Checkbox } from './components/checkbox/Checkbox';
package/lib/index.js CHANGED
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "AccordionIntro", {
27
27
  return _AccordionIntro.default;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "AmountControl", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _AmountControl.default;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "Badge", {
31
37
  enumerable: true,
32
38
  get: function () {
@@ -121,6 +127,7 @@ var _Accordion = _interopRequireDefault(require("./components/accordion/Accordio
121
127
  var _AccordionContent = _interopRequireDefault(require("./components/accordion/accordion-content/AccordionContent"));
122
128
  var _AccordionGroup = _interopRequireDefault(require("./components/accordion/accordion-group/AccordionGroup"));
123
129
  var _AccordionIntro = _interopRequireDefault(require("./components/accordion/accordion-intro/AccordionIntro"));
130
+ var _AmountControl = _interopRequireDefault(require("./components/amount-control/AmountControl"));
124
131
  var _Badge = _interopRequireDefault(require("./components/badge/Badge"));
125
132
  var _Button = _interopRequireDefault(require("./components/button/Button"));
126
133
  var _Checkbox = _interopRequireDefault(require("./components/checkbox/Checkbox"));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_ContextMenu","_GridImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_alignment","_MentionFinder","_SmallWaitCursor","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type { WithTheme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport { default as ListItem } from './components/list/list-item/ListItem';\nexport { MentionFinderPopupAlignment } from './components/mention-finder/constants/alignment';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,oBAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,YAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,KAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,MAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,KAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,gBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,SAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,UAAA,GAAAf,OAAA;AACA,IAAAgB,cAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAEA,IAAAiB,gBAAA,GAAAC,uBAAA,CAAAlB,OAAA;AAGwD,SAAAmB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAA/B,uBAAAyB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AmountControl","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_ContextMenu","_GridImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_alignment","_MentionFinder","_SmallWaitCursor","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type { WithTheme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport { default as ListItem } from './components/list/list-item/ListItem';\nexport { MentionFinderPopupAlignment } from './components/mention-finder/constants/alignment';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,OAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,SAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,UAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,KAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,MAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,KAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,gBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,SAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,UAAA,GAAAhB,OAAA;AACA,IAAAiB,cAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAEA,IAAAkB,gBAAA,GAAAC,uBAAA,CAAAnB,OAAA;AAGwD,SAAAoB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAhC,uBAAA0B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/core",
3
- "version": "5.0.0-beta.155",
3
+ "version": "5.0.0-beta.158",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "keywords": [
6
6
  "chayns",
@@ -62,5 +62,5 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
- "gitHead": "97105b5babfa509f5f3ba49f520aff72cfbcb35c"
65
+ "gitHead": "cae614f79dab396f078955fac9d29e46878f8269"
66
66
  }