@activecollab/components 1.0.10 → 1.0.14
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.
- package/dist/cjs/components/Autocomplete/Autocomplete.js +3 -8
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Autocomplete/Styles.js +17 -4
- package/dist/cjs/components/Autocomplete/Styles.js.map +1 -1
- package/dist/cjs/components/Menu/Menu.js +2 -1
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Pickers/Styles.js +5 -3
- package/dist/cjs/components/Pickers/Styles.js.map +1 -1
- package/dist/cjs/components/ScrollShadow/ScrollShadow.js.map +1 -1
- package/dist/cjs/components/SelectDate/DatePickerForm.js +4 -2
- package/dist/cjs/components/SelectDate/DatePickerForm.js.map +1 -1
- package/dist/cjs/components/SelectDate/Styles.js +4 -4
- package/dist/cjs/components/SelectDate/Styles.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/Styles.js +2 -2
- package/dist/cjs/components/Steppers/DateStepper/Styles.js.map +1 -1
- package/dist/cjs/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js +46 -16
- package/dist/cjs/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +4 -7
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Autocomplete/Styles.d.ts +4 -0
- package/dist/esm/components/Autocomplete/Styles.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Styles.js +13 -3
- package/dist/esm/components/Autocomplete/Styles.js.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts +1 -0
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js +3 -3
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Pickers/Styles.d.ts.map +1 -1
- package/dist/esm/components/Pickers/Styles.js +5 -3
- package/dist/esm/components/Pickers/Styles.js.map +1 -1
- package/dist/esm/components/ScrollShadow/ScrollShadow.d.ts +1 -2
- package/dist/esm/components/ScrollShadow/ScrollShadow.d.ts.map +1 -1
- package/dist/esm/components/ScrollShadow/ScrollShadow.js.map +1 -1
- package/dist/esm/components/SelectDate/DatePickerForm.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/DatePickerForm.js +3 -2
- package/dist/esm/components/SelectDate/DatePickerForm.js.map +1 -1
- package/dist/esm/components/SelectDate/Styles.d.ts +1 -1
- package/dist/esm/components/SelectDate/Styles.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/Styles.js +2 -3
- package/dist/esm/components/SelectDate/Styles.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/Styles.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/Styles.js +2 -2
- package/dist/esm/components/Steppers/DateStepper/Styles.js.map +1 -1
- package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.d.ts +1 -0
- package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.d.ts.map +1 -1
- package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js +39 -13
- package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js.map +1 -1
- package/dist/index.js +348 -320
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -2
- package/dist/cjs/components/Transitions/SlideLeftRightTransition/Styles.js +0 -28
- package/dist/cjs/components/Transitions/SlideLeftRightTransition/Styles.js.map +0 -1
- package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.d.ts +0 -5
- package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.d.ts.map +0 -1
- package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.js +0 -12
- package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.js.map +0 -1
package/dist/cjs/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js
CHANGED
|
@@ -1,36 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.SlideLeftRightTransition = void 0;
|
|
7
9
|
|
|
8
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
|
|
10
|
-
var
|
|
12
|
+
var _reactTransitionGroup = require("react-transition-group");
|
|
11
13
|
|
|
12
|
-
|
|
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); }
|
|
13
15
|
|
|
14
|
-
function
|
|
16
|
+
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
17
|
|
|
16
|
-
function
|
|
18
|
+
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
19
|
|
|
18
|
-
function
|
|
20
|
+
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; }
|
|
19
21
|
|
|
20
|
-
function
|
|
22
|
+
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; }
|
|
21
23
|
|
|
22
24
|
var SlideLeftRightTransition = function SlideLeftRightTransition(_ref) {
|
|
23
|
-
var
|
|
25
|
+
var _ref$in = _ref.in,
|
|
26
|
+
inProp = _ref$in === void 0 ? false : _ref$in,
|
|
24
27
|
_ref$direction = _ref.direction,
|
|
25
28
|
direction = _ref$direction === void 0 ? "left" : _ref$direction,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
onEnter = _ref.onEnter,
|
|
30
|
+
onExited = _ref.onExited,
|
|
31
|
+
_ref$timeout = _ref.timeout,
|
|
32
|
+
timeout = _ref$timeout === void 0 ? 200 : _ref$timeout,
|
|
33
|
+
children = _ref.children,
|
|
34
|
+
style = _ref.style;
|
|
35
|
+
var transitionStyles = {
|
|
36
|
+
entering: {
|
|
37
|
+
position: "absolute",
|
|
38
|
+
transform: direction === "left" ? "translateX(100%)" : "translateX(-100%)"
|
|
39
|
+
},
|
|
40
|
+
entered: {
|
|
41
|
+
transform: "translateX(0%)",
|
|
42
|
+
transition: "all ".concat(timeout, "ms ease")
|
|
43
|
+
},
|
|
44
|
+
exiting: {
|
|
45
|
+
position: "absolute"
|
|
46
|
+
},
|
|
47
|
+
exited: {
|
|
48
|
+
transform: direction === "left" ? "translateX(-100%)" : "translateX(100%)",
|
|
49
|
+
transition: "all ".concat(timeout, "ms ease")
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, {
|
|
53
|
+
in: inProp,
|
|
54
|
+
timeout: 0,
|
|
55
|
+
onEnter: onEnter,
|
|
56
|
+
onExited: onExited
|
|
57
|
+
}, function (state) {
|
|
58
|
+
return /*#__PURE__*/(0, _react.cloneElement)(children, {
|
|
59
|
+
style: _objectSpread(_objectSpread(_objectSpread({
|
|
60
|
+
visibility: state === "exited" && !inProp ? "hidden" : undefined
|
|
61
|
+
}, transitionStyles[state]), style), children.props.style)
|
|
62
|
+
});
|
|
63
|
+
});
|
|
34
64
|
};
|
|
35
65
|
|
|
36
66
|
exports.SlideLeftRightTransition = SlideLeftRightTransition;
|
package/dist/cjs/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx"],"names":["SlideLeftRightTransition","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx"],"names":["SlideLeftRightTransition","in","inProp","direction","onEnter","onExited","timeout","children","style","transitionStyles","entering","position","transform","entered","transition","exiting","exited","state","visibility","undefined","props","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;;;;;;;;;;;AAQO,IAAMA,wBAAuD,GAAG,SAA1DA,wBAA0D,OAQjE;AAAA,qBAPJC,EAOI;AAAA,MAPAC,MAOA,wBAPS,KAOT;AAAA,4BANJC,SAMI;AAAA,MANJA,SAMI,+BANQ,MAMR;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,0BAHJC,OAGI;AAAA,MAHJA,OAGI,6BAHM,GAGN;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,KACI,QADJA,KACI;AACJ,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,QAAQ,EAAE,UADF;AAERC,MAAAA,SAAS,EACPT,SAAS,KAAK,MAAd,GAAuB,kBAAvB,GAA4C;AAHtC,KADa;AAMvBU,IAAAA,OAAO,EAAE;AACPD,MAAAA,SAAS,EAAE,gBADJ;AAEPE,MAAAA,UAAU,gBAASR,OAAT;AAFH,KANc;AAUvBS,IAAAA,OAAO,EAAE;AAAEJ,MAAAA,QAAQ,EAAE;AAAZ,KAVc;AAWvBK,IAAAA,MAAM,EAAE;AACNJ,MAAAA,SAAS,EACPT,SAAS,KAAK,MAAd,GAAuB,mBAAvB,GAA6C,kBAFzC;AAGNW,MAAAA,UAAU,gBAASR,OAAT;AAHJ;AAXe,GAAzB;AAkBA,sBACE,6BAAC,gCAAD;AAAY,IAAA,EAAE,EAAEJ,MAAhB;AAAwB,IAAA,OAAO,EAAE,CAAjC;AAAoC,IAAA,OAAO,EAAEE,OAA7C;AAAsD,IAAA,QAAQ,EAAEC;AAAhE,KACG,UAACY,KAAD,EAAyB;AACxB,wBAAO,yBAAaV,QAAb,EAAuB;AAC5BC,MAAAA,KAAK;AACHU,QAAAA,UAAU,EAAED,KAAK,KAAK,QAAV,IAAsB,CAACf,MAAvB,GAAgC,QAAhC,GAA2CiB;AADpD,SAEAV,gBAAgB,CAACQ,KAAD,CAFhB,GAGAT,KAHA,GAIAD,QAAQ,CAACa,KAAT,CAAeZ,KAJf;AADuB,KAAvB,CAAP;AAQD,GAVH,CADF;AAcD,CAzCM;;;AA2CPR,wBAAwB,CAACqB,WAAzB,GAAuC,0BAAvC","sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { TransitionProps } from \"../types\";\nimport { Transition } from \"react-transition-group\";\n\ninterface ISlideLeftRightTransition extends TransitionProps {\n children: ReactElement;\n timeout?: number;\n direction?: \"left\" | \"right\";\n}\n\nexport const SlideLeftRightTransition: FC<ISlideLeftRightTransition> = ({\n in: inProp = false,\n direction = \"left\",\n onEnter,\n onExited,\n timeout = 200,\n children,\n style,\n}) => {\n const transitionStyles = {\n entering: {\n position: \"absolute\",\n transform:\n direction === \"left\" ? \"translateX(100%)\" : \"translateX(-100%)\",\n },\n entered: {\n transform: \"translateX(0%)\",\n transition: `all ${timeout}ms ease`,\n },\n exiting: { position: \"absolute\" },\n exited: {\n transform:\n direction === \"left\" ? \"translateX(-100%)\" : \"translateX(100%)\",\n transition: `all ${timeout}ms ease`,\n },\n };\n\n return (\n <Transition in={inProp} timeout={0} onEnter={onEnter} onExited={onExited}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlideLeftRightTransition.displayName = \"SlideLeftRightTransition\";\n"],"file":"SlideLeftRightTransition.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACb,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACb,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAQvE,MAAM,WAAW,kBAAkB;IAEjC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE7B,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAEnD,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjD,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAElC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAE/B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IAEV,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAEjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA6Z/C,CAAC"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import React, { useCallback, useState, useMemo, useEffect, useRef } from "react";
|
|
3
|
-
import classNames from "classnames";
|
|
4
3
|
import { Scrollbars } from "react-custom-scrollbars";
|
|
5
|
-
import { ScrollShadow } from "../ScrollShadow/ScrollShadow";
|
|
6
4
|
import highlightText from "../../hooks/useHighlightText";
|
|
7
5
|
import { handleKeyboardMovement } from "./HandleKeyboard";
|
|
8
6
|
import { Option } from "../Select/Option";
|
|
9
7
|
import { OptionGroup } from "../Select/OptionGroup";
|
|
10
|
-
import { StyledAutocompleteBody, StyledAutocompleteNewItem, StyledAutocompleteNoResult } from "./Styles";
|
|
8
|
+
import { StyledAutocompleteBody, StyledAutocompleteNewItem, StyledAutocompleteNoResult, StyledAutocompleteScrollShadow } from "./Styles";
|
|
11
9
|
export var Autocomplete = function Autocomplete(_ref) {
|
|
12
10
|
var type = _ref.type,
|
|
13
11
|
_ref$options = _ref.options,
|
|
@@ -338,10 +336,9 @@ export var Autocomplete = function Autocomplete(_ref) {
|
|
|
338
336
|
var renderNoResult = useMemo(function () {
|
|
339
337
|
return /*#__PURE__*/React.createElement(StyledAutocompleteNoResult, null, noResultText);
|
|
340
338
|
}, [noResultText]);
|
|
341
|
-
return /*#__PURE__*/React.createElement(
|
|
342
|
-
className:
|
|
343
|
-
|
|
344
|
-
}, AutocompleteClassName)
|
|
339
|
+
return /*#__PURE__*/React.createElement(StyledAutocompleteScrollShadow, {
|
|
340
|
+
className: AutocompleteClassName,
|
|
341
|
+
$isHidden: !defaultValue && !emptyValue && !noResultText && list.length < 1
|
|
345
342
|
}, function (_ref2) {
|
|
346
343
|
var onScroll = _ref2.onScroll;
|
|
347
344
|
return /*#__PURE__*/React.createElement(StyledAutocompleteBody, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","classNames","Scrollbars","ScrollShadow","highlightText","handleKeyboardMovement","Option","OptionGroup","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteNoResult","Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","setTimeout","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport { ScrollShadow } from \"../ScrollShadow/ScrollShadow\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n} from \"./Styles\";\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: HTMLInputElement | null;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={item.id}\n onMouseEnter={handleMouseEnter}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLabelElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n if (handleChange) {\n handleChange(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setTimeout(() => inputEl?.focus(), 0);\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover, inputEl]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\n }\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <ScrollShadow\n className={classNames(\n \"c-select--list\",\n {\n \"tw-hidden\":\n !defaultValue && !emptyValue && !noResultText && list.length < 1,\n },\n AutocompleteClassName\n )}\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </ScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","highlightText","handleKeyboardMovement","Option","OptionGroup","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteNoResult","StyledAutocompleteScrollShadow","Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","setTimeout","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: HTMLInputElement | null;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={item.id}\n onMouseEnter={handleMouseEnter}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLabelElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n if (handleChange) {\n handleChange(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setTimeout(() => inputEl?.focus(), 0);\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover, inputEl]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\n }\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const StyledAutocompleteScrollShadow: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../ScrollShadow").IScrollShadowProps & import("react").HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>, any, {
|
|
3
|
+
$isHidden: boolean;
|
|
4
|
+
}, never>;
|
|
1
5
|
export declare const StyledAutocompleteBody: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
2
6
|
export declare const StyledAutocompleteNoResult: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
3
7
|
export declare const StyledAutocompleteNewItem: import("styled-components").StyledComponent<"label", any, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,8BAA8B;eAC9B,OAAO;SASnB,CAAC;AAIF,eAAO,MAAM,sBAAsB,oEAIlC,CAAC;AAIF,eAAO,MAAM,0BAA0B,oEAWtC,CAAC;AAIF,eAAO,MAAM,yBAAyB;WAAyB,OAAO;SAkBrE,CAAC"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import styled, { css } from "styled-components";
|
|
2
|
+
import { ScrollShadow } from "../ScrollShadow";
|
|
3
|
+
export var StyledAutocompleteScrollShadow = styled(ScrollShadow).withConfig({
|
|
4
|
+
displayName: "Styles__StyledAutocompleteScrollShadow",
|
|
5
|
+
componentId: "sc-1bc1vz9-0"
|
|
6
|
+
})(["margin-top:4px;", ""], function (props) {
|
|
7
|
+
return props.$isHidden && css(["", ";"], {
|
|
8
|
+
"display": "none"
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
StyledAutocompleteScrollShadow.displayName = "StyledAutocompleteScrollShadow";
|
|
2
12
|
export var StyledAutocompleteBody = styled.div.withConfig({
|
|
3
13
|
displayName: "Styles__StyledAutocompleteBody",
|
|
4
|
-
componentId: "sc-1bc1vz9-
|
|
14
|
+
componentId: "sc-1bc1vz9-1"
|
|
5
15
|
})(["max-height:340px;overflow:auto;margin-bottom:6px;"]);
|
|
6
16
|
StyledAutocompleteBody.displayName = "StyledAutocompleteBody";
|
|
7
17
|
export var StyledAutocompleteNoResult = styled.div.withConfig({
|
|
8
18
|
displayName: "Styles__StyledAutocompleteNoResult",
|
|
9
|
-
componentId: "sc-1bc1vz9-
|
|
19
|
+
componentId: "sc-1bc1vz9-2"
|
|
10
20
|
})(["", ";padding:6px 16px;margin:4px 0;&:hover{background-color:var(--color-theme-200);}color:var(--color-theme-600);"], {
|
|
11
21
|
"cursor": "pointer",
|
|
12
22
|
"userSelect": "none"
|
|
@@ -14,7 +24,7 @@ export var StyledAutocompleteNoResult = styled.div.withConfig({
|
|
|
14
24
|
StyledAutocompleteNoResult.displayName = "StyledAutocompleteNoResult";
|
|
15
25
|
export var StyledAutocompleteNewItem = styled.label.withConfig({
|
|
16
26
|
displayName: "Styles__StyledAutocompleteNewItem",
|
|
17
|
-
componentId: "sc-1bc1vz9-
|
|
27
|
+
componentId: "sc-1bc1vz9-3"
|
|
18
28
|
})(["", ";padding:6px 16px;margin:4px 0;font-weight:normal;color:var(--color-primary);&:before{content:\"+ \";}", ""], {
|
|
19
29
|
"cursor": "pointer",
|
|
20
30
|
"userSelect": "none"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":["styled","css","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":["styled","css","ScrollShadow","StyledAutocompleteScrollShadow","props","$isHidden","displayName","StyledAutocompleteBody","div","StyledAutocompleteNoResult","StyledAutocompleteNewItem","label","hover"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,YAAT,QAA6B,iBAA7B;AAEA,OAAO,IAAMC,8BAA8B,GAAGH,MAAM,CAACE,YAAD,CAAT;AAAA;AAAA;AAAA,4BAKvC,UAACE,KAAD;AAAA,SACAA,KAAK,CAACC,SAAN,IACAJ,GADA,YAEM;AAAA;AAAA,GAFN,CADA;AAAA,CALuC,CAApC;AAYPE,8BAA8B,CAACG,WAA/B,GAA6C,gCAA7C;AAEA,OAAO,IAAMC,sBAAsB,GAAGP,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,yDAA5B;AAMPD,sBAAsB,CAACD,WAAvB,GAAqC,wBAArC;AAEA,OAAO,IAAMG,0BAA0B,GAAGT,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,0HACjC;AAAA;AAAA;AAAA,CADiC,CAAhC;AAaPC,0BAA0B,CAACH,WAA3B,GAAyC,4BAAzC;AAEA,OAAO,IAAMI,yBAAyB,GAAGV,MAAM,CAACW,KAAV;AAAA;AAAA;AAAA,uHAChC;AAAA;AAAA;AAAA,CADgC,EAYlC,UAACP,KAAD;AAAA,SACAA,KAAK,CAACQ,KAAN,IACAX,GADA,6DADA;AAAA,CAZkC,CAA/B;AAoBPS,yBAAyB,CAACJ,WAA1B,GAAwC,2BAAxC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { ScrollShadow } from \"../ScrollShadow\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled.div`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNoResult = styled.div`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n\n color: var(--color-theme-600);\n`;\n\nStyledAutocompleteNoResult.displayName = \"StyledAutocompleteNoResult\";\n\nexport const StyledAutocompleteNewItem = styled.label<{ hover: boolean }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n font-weight: normal;\n color: var(--color-primary);\n\n &:before {\n content: \"+ \";\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n"],"file":"Styles.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,oBAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,KAAK;IAEpB,QAAQ,EAAE,SAAS,CAAC;IAEpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAwG1B,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useRef, useState, useCallback, useEffect } from "react";
|
|
2
2
|
import classnames from "classnames";
|
|
3
|
-
import { Popper } from "../Popper";
|
|
4
|
-
|
|
3
|
+
import { Popper } from "../Popper";
|
|
5
4
|
import useForkRef from "../../utils/useForkRef";
|
|
6
5
|
import { Overlay } from "../Overlay";
|
|
7
6
|
import { Window } from "../Window";
|
|
@@ -24,6 +23,7 @@ export var Menu = function Menu(_ref) {
|
|
|
24
23
|
_ref$position = _ref.position,
|
|
25
24
|
position = _ref$position === void 0 ? "bottom-start" : _ref$position,
|
|
26
25
|
target = _ref.target,
|
|
26
|
+
className = _ref.className,
|
|
27
27
|
menuClassName = _ref.menuClassName,
|
|
28
28
|
popperClassName = _ref.popperClassName,
|
|
29
29
|
backgroundElementClass = _ref.backgroundElementClass,
|
|
@@ -83,7 +83,7 @@ export var Menu = function Menu(_ref) {
|
|
|
83
83
|
className: popperClassName,
|
|
84
84
|
tabIndex: -1
|
|
85
85
|
}, /*#__PURE__*/React.createElement(StyledMenu, {
|
|
86
|
-
className: classnames("c-simple-menu__paper", "c-simple-menu__" + mode, menuClassName),
|
|
86
|
+
className: classnames("c-simple-menu__paper", "c-simple-menu__" + mode, menuClassName, className),
|
|
87
87
|
$mode: mode,
|
|
88
88
|
onMouseDown: onMenuClick
|
|
89
89
|
}, /*#__PURE__*/React.createElement(MenuContextProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Menu/Menu.tsx"],"names":["React","useRef","useState","useCallback","useEffect","classnames","Popper","useForkRef","Overlay","Window","MenuContextProvider","StyledMenu","Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","handleClose","childProps","forceClose","targetProps","onClick","cloneElement","displayName"],"mappings":"AAAA,OAAOA,KAAP,IACEC,MADF,EAKEC,QALF,EAMEC,WANF,EAOEC,SAPF,QAUO,OAVP;AAWA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,MAAT,QAAuB,WAAvB
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Menu/Menu.tsx"],"names":["React","useRef","useState","useCallback","useEffect","classnames","Popper","useForkRef","Overlay","Window","MenuContextProvider","StyledMenu","Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","handleClose","childProps","forceClose","targetProps","onClick","cloneElement","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<Element | null>(null);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (event: Pick<MouseEvent<Element>, \"preventDefault\">) => {\n event && event.preventDefault();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n },\n [onOpen]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"file":"Menu.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Pickers/Styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,kBAAkB;gBACjB,MAAM,GAAG,UAAU;SAoBhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,wqPAG7B,CAAC;AAEF,UAAU,oBAAoB;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,oEAaxB,CAAC;AACF,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Pickers/Styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,kBAAkB;gBACjB,MAAM,GAAG,UAAU;SAoBhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,wqPAG7B,CAAC;AAEF,UAAU,oBAAoB;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,oEAaxB,CAAC;AACF,eAAO,MAAM,WAAW,sFA2CvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,oEAWjC,CAAC;AAEF,eAAO,MAAM,2BAA2B,oEAGvC,CAAC;AAEF,eAAO,MAAM,+BAA+B,qEAY3C,CAAC"}
|
|
@@ -30,7 +30,7 @@ export var StyledMonths = styled.div.withConfig({
|
|
|
30
30
|
export var StyledMonth = styled.div.withConfig({
|
|
31
31
|
displayName: "Styles__StyledMonth",
|
|
32
32
|
componentId: "sc-1owijsg-3"
|
|
33
|
-
})(["width:26%;transition-duration:0.3s;", " ", " ", " ", ""], {
|
|
33
|
+
})(["width:26%;transition-duration:0.3s;", " ", " ", " ", " ", ""], {
|
|
34
34
|
"margin": "auto",
|
|
35
35
|
"cursor": "pointer",
|
|
36
36
|
"borderRadius": "1rem",
|
|
@@ -42,9 +42,11 @@ export var StyledMonth = styled.div.withConfig({
|
|
|
42
42
|
"color": "var(--color-theme-100)"
|
|
43
43
|
});
|
|
44
44
|
}, function (props) {
|
|
45
|
-
return props.$isCurrent && css(["", ""], {
|
|
45
|
+
return props.$isCurrent && !props.$isSelected && css(["", ""], {
|
|
46
46
|
"color": "var(--color-primary)"
|
|
47
47
|
});
|
|
48
|
+
}, function (props) {
|
|
49
|
+
return props.$isCurrent && props.$isSelected && css(["color:var(--color-theme-100);"]);
|
|
48
50
|
}, function (props) {
|
|
49
51
|
return props.$isCurrentQuarter && css(["background-color:var(--color-primary-300);"]);
|
|
50
52
|
});
|
|
@@ -62,7 +64,7 @@ export var StyledYearMonthPickerNavBar = styled.div.withConfig({
|
|
|
62
64
|
export var StyledYearMonthPickerNavBarItem = styled.span.withConfig({
|
|
63
65
|
displayName: "Styles__StyledYearMonthPickerNavBarItem",
|
|
64
66
|
componentId: "sc-1owijsg-6"
|
|
65
|
-
})(["", " transition-duration:0.3s;&:hover{background-color:var(--color-primary-300);border-radius:15px;}"], {
|
|
67
|
+
})(["", " transition-duration:0.3s;margin-top:1px;display:inline-block;height:24px;&:hover{background-color:var(--color-primary-300);border-radius:15px;}"], {
|
|
66
68
|
"paddingLeft": "1rem",
|
|
67
69
|
"paddingRight": "1rem",
|
|
68
70
|
"cursor": "pointer"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Pickers/Styles.ts"],"names":["styled","css","Button","MenuNavIcon","StyledNavBarButton","props","$direction","StyledMenuNavIcon","StyledMonths","div","StyledMonth","$isSelected","$isCurrent","$isCurrentQuarter","StyledYearMonthPicker","StyledYearMonthPickerNavBar","StyledYearMonthPickerNavBarItem","span","displayName"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAASC,MAAT,QAAuB,kBAAvB;AAEA,OAAOC,WAAP,MAAwB,iCAAxB;AAEA,OAAO,IAAMC,kBAAkB,GAAGJ,MAAM,CAACE,MAAD,CAAT;AAAA;AAAA;AAAA,kGAS3B,UAACG,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,KAAqB,UAArB,IACAL,GADA,0BADA;AAAA,CAT2B,EAgB3B,UAACI,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,KAAqB,MAArB,IACAL,GADA,gBADA;AAAA,CAhB2B,CAAxB;AAuBP,OAAO,IAAMM,iBAAiB,GAAGP,MAAM,CAACG,WAAD,CAAT;AAAA;AAAA;AAAA,uCACxB;AAAA;AAAA,CADwB,CAAvB;AAWP,OAAO,IAAMK,YAAY,GAAGR,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,mCAInB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAJmB,CAAlB;AAcP,OAAO,IAAMC,WAAW,GAAGV,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Pickers/Styles.ts"],"names":["styled","css","Button","MenuNavIcon","StyledNavBarButton","props","$direction","StyledMenuNavIcon","StyledMonths","div","StyledMonth","$isSelected","$isCurrent","$isCurrentQuarter","StyledYearMonthPicker","StyledYearMonthPickerNavBar","StyledYearMonthPickerNavBarItem","span","displayName"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAASC,MAAT,QAAuB,kBAAvB;AAEA,OAAOC,WAAP,MAAwB,iCAAxB;AAEA,OAAO,IAAMC,kBAAkB,GAAGJ,MAAM,CAACE,MAAD,CAAT;AAAA;AAAA;AAAA,kGAS3B,UAACG,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,KAAqB,UAArB,IACAL,GADA,0BADA;AAAA,CAT2B,EAgB3B,UAACI,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,KAAqB,MAArB,IACAL,GADA,gBADA;AAAA,CAhB2B,CAAxB;AAuBP,OAAO,IAAMM,iBAAiB,GAAGP,MAAM,CAACG,WAAD,CAAT;AAAA;AAAA;AAAA,uCACxB;AAAA;AAAA,CADwB,CAAvB;AAWP,OAAO,IAAMK,YAAY,GAAGR,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,mCAInB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAJmB,CAAlB;AAcP,OAAO,IAAMC,WAAW,GAAGV,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,oEAIlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAJkB,EAYpB,UAACJ,KAAD;AAAA,SACA,CAACA,KAAK,CAACM,WAAP,GACIV,GADJ,4DAMIA,GANJ,kDAOU;AAAA;AAAA,GAPV,CADA;AAAA,CAZoB,EAwBnB,UAACI,KAAD;AAAA,SACDA,KAAK,CAACO,UAAN,IACA,CAACP,KAAK,CAACM,WADP,IAEAV,GAFA,WAGM;AAAA;AAAA,GAHN,CADC;AAAA,CAxBmB,EA+BnB,UAACI,KAAD;AAAA,SACDA,KAAK,CAACO,UAAN,IACAP,KAAK,CAACM,WADN,IAEAV,GAFA,mCADC;AAAA,CA/BmB,EAsCnB,UAACI,KAAD;AAAA,SACDA,KAAK,CAACQ,iBAAN,IACAZ,GADA,gDADC;AAAA,CAtCmB,CAAjB;AA6CP,OAAO,IAAMa,qBAAqB,GAAGd,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,iHAK5B;AAAA;AAAA;AAAA,CAL4B,CAA3B;AAaP,OAAO,IAAMM,2BAA2B,GAAGf,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,iCAAjC;AAKP,OAAO,IAAMO,+BAA+B,GAAGhB,MAAM,CAACiB,IAAV;AAAA;AAAA;AAAA,6JACtC;AAAA;AAAA;AAAA;AAAA,CADsC,CAArC;AAcPb,kBAAkB,CAACc,WAAnB,GAAiC,oBAAjC;AACAX,iBAAiB,CAACW,WAAlB,GAAgC,mBAAhC;AACAV,YAAY,CAACU,WAAb,GAA2B,cAA3B;AACAR,WAAW,CAACQ,WAAZ,GAA0B,aAA1B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { Button } from \"../Button/Button\";\nimport tw from \"twin.macro\";\nimport MenuNavIcon from \"../Icons/collection/MenuNavIcon\";\n\nexport const StyledNavBarButton = styled(Button)<{\n $direction: \"next\" | \"previous\";\n}>`\n position: absolute;\n margin-top: 1px;\n cursor: pointer;\n z-index: 2;\n background-image: none;\n\n ${(props) =>\n props.$direction === \"previous\" &&\n css`\n right: auto;\n left: 1px;\n `}\n\n ${(props) =>\n props.$direction === \"next\" &&\n css`\n right: 1px;\n `}\n`;\n\nexport const StyledMenuNavIcon = styled(MenuNavIcon)`\n ${tw`tw-transform`}\n transform: rotate(180deg);\n`;\n\ninterface StyledMonthInterface {\n $isCurrent: boolean;\n $isSelected: boolean;\n $isCurrentQuarter: boolean;\n}\n\nexport const StyledMonths = styled.div`\n top: 30px;\n height: 230px;\n\n ${tw`\n tw-absolute\n tw-left-0\n tw-p-5\n tw-flex\n tw-flex-wrap\n tw-bg-page-paper-main\n tw-z-10\n `}\n`;\nexport const StyledMonth = styled.div<StyledMonthInterface>`\n width: 26%;\n transition-duration: 0.3s;\n\n ${tw`\n tw-m-auto\n tw-cursor-pointer\n tw-rounded-xl\n tw-font-bold\n tw-text-sm\n `}\n\n ${(props) =>\n !props.$isSelected\n ? css`\n &:hover {\n background-color: var(--color-primary-300);\n }\n `\n : css`\n ${tw`tw-text-theme-100`}\n background-color: var(--color-primary);\n `}\n\n ${(props) =>\n props.$isCurrent &&\n !props.$isSelected &&\n css`\n ${tw`tw-text-primary`}\n `}\n\n ${(props) =>\n props.$isCurrent &&\n props.$isSelected &&\n css`\n color: var(--color-theme-100);\n `}\n\n ${(props) =>\n props.$isCurrentQuarter &&\n css`\n background-color: var(--color-primary-300);\n `}\n`;\n\nexport const StyledYearMonthPicker = styled.div`\n display: table-caption;\n margin-bottom: 0.5em;\n padding: 0 0.5em;\n\n ${tw`tw-text-center tw-text-theme-900`}\n\n &> div {\n font-weight: 500;\n font-size: 1.15em;\n }\n`;\n\nexport const StyledYearMonthPickerNavBar = styled.div`\n width: auto;\n margin: 0 auto;\n`;\n\nexport const StyledYearMonthPickerNavBarItem = styled.span`\n ${tw`tw-px-4 tw-cursor-pointer`}\n transition-duration: 0.3s;\n\n margin-top: 1px;\n display: inline-block;\n height: 24px;\n\n &:hover {\n background-color: var(--color-primary-300);\n border-radius: 15px;\n }\n`;\n\nStyledNavBarButton.displayName = \"StyledNavBarButton\";\nStyledMenuNavIcon.displayName = \"StyledMenuNavIcon\";\nStyledMonths.displayName = \"StyledMonths\";\nStyledMonth.displayName = \"StyledMonth\";\n"],"file":"Styles.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
interface IScrollShadowProps {
|
|
2
|
+
export interface IScrollShadowProps {
|
|
3
3
|
children: ({ onScroll: UIEventHandler }: {
|
|
4
4
|
onScroll: any;
|
|
5
5
|
}) => void;
|
|
@@ -10,5 +10,4 @@ interface IScrollShadowProps {
|
|
|
10
10
|
invertVertical?: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare const ScrollShadow: React.ForwardRefExoticComponent<IScrollShadowProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
export {};
|
|
14
13
|
//# sourceMappingURL=ScrollShadow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollShadow.d.ts","sourceRoot":"","sources":["../../../../src/components/ScrollShadow/ScrollShadow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAUf,
|
|
1
|
+
{"version":3,"file":"ScrollShadow.d.ts","sourceRoot":"","sources":["../../../../src/components/ScrollShadow/ScrollShadow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAUf,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;;KAAA,KAAK,IAAI,CAAC;IAEjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY,kIA+FxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScrollShadow/ScrollShadow.tsx"],"names":["React","forwardRef","useState","useCallback","classnames","StyledScrollShadow","StyledScrollShadowBottom","StyledScrollShadowLeft","StyledScrollShadowRight","StyledScrollShadowTop","ScrollShadow","ref","children","className","disableVertical","disableHorizontal","invertHorizontal","invertVertical","rest","top","right","bottom","left","opacity","setOpacity","handleScroll","event","target","scrollHeight","clientHeight","scrollWidth","clientWidth","scrollTop","scrollLeft","prevState","Math","min","bottomScrollTop","max","offset","newState","onScroll","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n useState,\n useCallback,\n UIEventHandler,\n UIEvent,\n HTMLAttributes,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledScrollShadow,\n StyledScrollShadowBottom,\n StyledScrollShadowLeft,\n StyledScrollShadowRight,\n StyledScrollShadowTop,\n} from \"./Styles\";\n\
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScrollShadow/ScrollShadow.tsx"],"names":["React","forwardRef","useState","useCallback","classnames","StyledScrollShadow","StyledScrollShadowBottom","StyledScrollShadowLeft","StyledScrollShadowRight","StyledScrollShadowTop","ScrollShadow","ref","children","className","disableVertical","disableHorizontal","invertHorizontal","invertVertical","rest","top","right","bottom","left","opacity","setOpacity","handleScroll","event","target","scrollHeight","clientHeight","scrollWidth","clientWidth","scrollTop","scrollLeft","prevState","Math","min","bottomScrollTop","max","offset","newState","onScroll","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n useState,\n useCallback,\n UIEventHandler,\n UIEvent,\n HTMLAttributes,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledScrollShadow,\n StyledScrollShadowBottom,\n StyledScrollShadowLeft,\n StyledScrollShadowRight,\n StyledScrollShadowTop,\n} from \"./Styles\";\n\nexport interface IScrollShadowProps {\n /** Children */\n children: ({ onScroll: UIEventHandler }) => void;\n /** Applies passed classes */\n className?: string;\n /** Disable vertical shadow */\n disableVertical?: boolean;\n /** Disable horizontal shadow */\n disableHorizontal?: boolean;\n /** Invert horizontal shadow logic */\n invertHorizontal?: boolean;\n /** Invert vertical shadow logic */\n invertVertical?: boolean;\n}\n\nexport const ScrollShadow = forwardRef<\n HTMLDivElement,\n IScrollShadowProps & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n className,\n disableVertical = false,\n disableHorizontal = false,\n invertHorizontal = false,\n invertVertical = false,\n ...rest\n },\n ref\n ) => {\n const [opacity, setOpacity] = useState({\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n });\n\n const handleScroll: UIEventHandler = useCallback(\n (event: UIEvent) => {\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } =\n event.target as Element;\n let { scrollTop, scrollLeft } = event.target as Element;\n\n if (scrollLeft < 0) {\n scrollLeft *= -1;\n }\n if (scrollTop < 0) {\n scrollTop *= -1;\n }\n\n setOpacity((prevState) => {\n const top = (1 / 20) * Math.min(scrollTop, 20);\n const bottomScrollTop = scrollHeight - clientHeight;\n const bottom =\n (1 / 20) *\n (bottomScrollTop - Math.max(scrollTop, bottomScrollTop - 20));\n const left = (1 / 20) * Math.min(scrollLeft, 20);\n const offset = scrollWidth - clientWidth;\n const right = (1 / 20) * (offset - Math.max(scrollLeft, offset - 20));\n\n const newState = { top: 0, bottom: 0, left: 0, right: 0 };\n\n if (!disableVertical) {\n newState.top = invertVertical ? bottom : top;\n newState.bottom = invertVertical ? top : bottom;\n }\n\n if (!disableHorizontal) {\n newState.left = invertHorizontal ? right : left;\n newState.right = invertHorizontal ? left : right;\n }\n\n if (\n newState.top !== prevState.top ||\n newState.bottom !== prevState.bottom ||\n newState.left !== prevState.left ||\n newState.right !== prevState.right\n ) {\n return newState;\n }\n\n return prevState;\n });\n },\n [invertHorizontal, invertVertical, disableVertical, disableHorizontal]\n );\n\n return (\n <StyledScrollShadow\n {...rest}\n ref={ref}\n className={classnames(\"c-scroll-shadow\", className)}\n >\n {children({ onScroll: handleScroll })}\n {!disableVertical ? (\n <>\n <StyledScrollShadowTop style={{ opacity: opacity.top }} />\n <StyledScrollShadowBottom style={{ opacity: opacity.bottom }} />\n </>\n ) : null}\n {!disableHorizontal ? (\n <>\n <StyledScrollShadowLeft style={{ opacity: opacity.left }} />\n <StyledScrollShadowRight style={{ opacity: opacity.right }} />\n </>\n ) : null}\n </StyledScrollShadow>\n );\n }\n);\n\nScrollShadow.displayName = \"ScrollShadow\";\n"],"file":"ScrollShadow.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerForm.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/DatePickerForm.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAe,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePickerForm.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/DatePickerForm.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAe,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAe1E,UAAU,eAAe;IACvB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAEtD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAE1D,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,KAAK,SAAS,CAAC;IAE/D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAEtC,KAAK,EAAE,IAAI,CAAC;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,eAAe,CAgG9C,CAAC"}
|