@activecollab/components 1.0.276 → 1.0.278

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cjs/components/AvatarGroup/Styles.js +1 -1
  2. package/dist/cjs/components/AvatarGroup/Styles.js.map +1 -1
  3. package/dist/cjs/components/Formatters/FormatDate.js +21 -0
  4. package/dist/cjs/components/Formatters/FormatDate.js.map +1 -0
  5. package/dist/cjs/components/Formatters/index.js +17 -0
  6. package/dist/cjs/components/Formatters/index.js.map +1 -0
  7. package/dist/cjs/components/Formatters/useFormatDate.js +18 -0
  8. package/dist/cjs/components/Formatters/useFormatDate.js.map +1 -0
  9. package/dist/cjs/components/Localization/LocalizationProvider.js +44 -0
  10. package/dist/cjs/components/Localization/LocalizationProvider.js.map +1 -0
  11. package/dist/cjs/components/Localization/index.js +17 -0
  12. package/dist/cjs/components/Localization/index.js.map +1 -0
  13. package/dist/cjs/components/SelectDate/SelectDate.js +7 -5
  14. package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
  15. package/dist/cjs/utils/dateUtils.js +35 -0
  16. package/dist/cjs/utils/dateUtils.js.map +1 -0
  17. package/dist/cjs/utils/dateUtils.test.js +20 -0
  18. package/dist/cjs/utils/dateUtils.test.js.map +1 -0
  19. package/dist/esm/components/AvatarGroup/Styles.js +1 -1
  20. package/dist/esm/components/AvatarGroup/Styles.js.map +1 -1
  21. package/dist/esm/components/Formatters/FormatDate.d.ts +14 -0
  22. package/dist/esm/components/Formatters/FormatDate.d.ts.map +1 -0
  23. package/dist/esm/components/Formatters/FormatDate.js +13 -0
  24. package/dist/esm/components/Formatters/FormatDate.js.map +1 -0
  25. package/dist/esm/components/Formatters/index.d.ts +2 -0
  26. package/dist/esm/components/Formatters/index.d.ts.map +1 -0
  27. package/dist/esm/components/Formatters/index.js +2 -0
  28. package/dist/esm/components/Formatters/index.js.map +1 -0
  29. package/dist/esm/components/Formatters/useFormatDate.d.ts +2 -0
  30. package/dist/esm/components/Formatters/useFormatDate.d.ts.map +1 -0
  31. package/dist/esm/components/Formatters/useFormatDate.js +11 -0
  32. package/dist/esm/components/Formatters/useFormatDate.js.map +1 -0
  33. package/dist/esm/components/Localization/LocalizationProvider.d.ts +21 -0
  34. package/dist/esm/components/Localization/LocalizationProvider.d.ts.map +1 -0
  35. package/dist/esm/components/Localization/LocalizationProvider.js +30 -0
  36. package/dist/esm/components/Localization/LocalizationProvider.js.map +1 -0
  37. package/dist/esm/components/Localization/index.d.ts +2 -0
  38. package/dist/esm/components/Localization/index.d.ts.map +1 -0
  39. package/dist/esm/components/Localization/index.js +2 -0
  40. package/dist/esm/components/Localization/index.js.map +1 -0
  41. package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
  42. package/dist/esm/components/SelectDate/SelectDate.js +7 -5
  43. package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
  44. package/dist/esm/utils/dateUtils.d.ts +4 -0
  45. package/dist/esm/utils/dateUtils.d.ts.map +1 -0
  46. package/dist/esm/utils/dateUtils.js +31 -0
  47. package/dist/esm/utils/dateUtils.js.map +1 -0
  48. package/dist/esm/utils/dateUtils.test.d.ts +2 -0
  49. package/dist/esm/utils/dateUtils.test.d.ts.map +1 -0
  50. package/dist/esm/utils/dateUtils.test.js +18 -0
  51. package/dist/esm/utils/dateUtils.test.js.map +1 -0
  52. package/dist/index.js +50 -6
  53. package/dist/index.js.map +1 -1
  54. package/dist/index.min.js +1 -1
  55. package/dist/index.min.js.map +1 -1
  56. package/package.json +1 -1
@@ -15,7 +15,7 @@ exports.AvatarGroupsStyles = AvatarGroupsStyles;
15
15
  var LengthCountStyles = _styledComponents.default.div.withConfig({
16
16
  displayName: "Styles__LengthCountStyles",
17
17
  componentId: "sc-1padv46-1"
18
- })(["align-items:center;background-color:var(--color-theme-400);block-size:", ";border-radius:100%;display:flex;inline-size:", ";justify-content:center;outline:1px solid var(--page-paper-main);z-index:99;"], function (props) {
18
+ })(["align-items:center;background-color:var(--color-theme-400);block-size:", ";border-radius:var(--ac-br-rounded);display:flex;inline-size:", ";justify-content:center;outline:1px solid var(--page-paper-main);z-index:99;"], function (props) {
19
19
  return props.size + "px";
20
20
  }, function (props) {
21
21
  return props.size + "px";
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["AvatarGroupsStyles","styled","div","FontStyle","LengthCountStyles","props","size"],"sources":["../../../../src/components/AvatarGroup/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const AvatarGroupsStyles = styled.div`\n display: flex;\n cursor: pointer;\n width: fit-content;\n ${FontStyle}\n`;\n\ninterface LengthCountStylesProps {\n size: number;\n}\n\nexport const LengthCountStyles = styled.div<LengthCountStylesProps>`\n align-items: center;\n background-color: var(--color-theme-400);\n block-size: ${(props) => props.size + \"px\"};\n border-radius: 100%;\n display: flex;\n inline-size: ${(props) => props.size + \"px\"};\n justify-content: center;\n outline: 1px solid var(--page-paper-main);\n z-index: 99;\n`;\n"],"mappings":";;;;;;AAAA;AACA;AAAyC;AAElC,IAAMA,kBAAkB,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,2DAIxCC,oBAAS,CACZ;AAAC;AAMK,IAAMC,iBAAiB,GAAGH,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,gNAG3B,UAACG,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,GAG3B,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,EAI5C;AAAC"}
1
+ {"version":3,"file":"Styles.js","names":["AvatarGroupsStyles","styled","div","FontStyle","LengthCountStyles","props","size"],"sources":["../../../../src/components/AvatarGroup/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const AvatarGroupsStyles = styled.div`\n display: flex;\n cursor: pointer;\n width: fit-content;\n ${FontStyle}\n`;\n\ninterface LengthCountStylesProps {\n size: number;\n}\n\nexport const LengthCountStyles = styled.div<LengthCountStylesProps>`\n align-items: center;\n background-color: var(--color-theme-400);\n block-size: ${(props) => props.size + \"px\"};\n border-radius: var(--ac-br-rounded);\n display: flex;\n inline-size: ${(props) => props.size + \"px\"};\n justify-content: center;\n outline: 1px solid var(--page-paper-main);\n z-index: 99;\n`;\n"],"mappings":";;;;;;AAAA;AACA;AAAyC;AAElC,IAAMA,kBAAkB,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,2DAIxCC,oBAAS,CACZ;AAAC;AAMK,IAAMC,iBAAiB,GAAGH,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,gOAG3B,UAACG,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,GAG3B,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,EAI5C;AAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FormatDate = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _useFormatDate = require("./useFormatDate");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var FormatDate = function FormatDate(_ref) {
11
+ var value = _ref.value,
12
+ long = _ref.long,
13
+ dateFormat = _ref.dateFormat;
14
+ var formatter = (0, _useFormatDate.useFormatDate)(dateFormat);
15
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, formatter(value, long));
16
+ };
17
+ exports.FormatDate = FormatDate;
18
+ FormatDate.defaultProps = {
19
+ long: true
20
+ };
21
+ //# sourceMappingURL=FormatDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatDate.js","names":["FormatDate","value","long","dateFormat","formatter","useFormatDate","defaultProps"],"sources":["../../../../src/components/Formatters/FormatDate.tsx"],"sourcesContent":["import React from \"react\";\nimport { DateValue } from \"../../utils/dateUtils\";\nimport { useFormatDate } from \"./useFormatDate\";\n\ninterface Props {\n value: DateValue;\n long?: boolean;\n dateFormat?: string;\n}\nexport const FormatDate = ({ value, long, dateFormat }: Props): JSX.Element => {\n const formatter = useFormatDate(dateFormat);\n return <>{formatter(value, long)}</>;\n};\n\nFormatDate.defaultProps = {\n long: true,\n};\n"],"mappings":";;;;;;AAAA;AAEA;AAAgD;AAOzC,IAAMA,UAAU,GAAG,SAAbA,UAAU,OAAwD;EAAA,IAAlDC,KAAK,QAALA,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAEC,UAAU,QAAVA,UAAU;EAClD,IAAMC,SAAS,GAAG,IAAAC,4BAAa,EAACF,UAAU,CAAC;EAC3C,oBAAO,4DAAGC,SAAS,CAACH,KAAK,EAAEC,IAAI,CAAC,CAAI;AACtC,CAAC;AAAC;AAEFF,UAAU,CAACM,YAAY,GAAG;EACxBJ,IAAI,EAAE;AACR,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _FormatDate = require("./FormatDate");
7
+ Object.keys(_FormatDate).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _FormatDate[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _FormatDate[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Formatters/index.ts"],"sourcesContent":["export * from \"./FormatDate\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFormatDate = void 0;
7
+ var _react = require("react");
8
+ var _Localization = require("../Localization");
9
+ var _dateUtils = require("../../utils/dateUtils");
10
+ var useFormatDate = function useFormatDate(dateFormat) {
11
+ var localization = (0, _Localization.useLocalization)();
12
+ var format = dateFormat ? dateFormat : localization.dateFormat;
13
+ return (0, _react.useCallback)(function (value, long) {
14
+ return (0, _dateUtils.formatDate)(value, format, long);
15
+ }, [format]);
16
+ };
17
+ exports.useFormatDate = useFormatDate;
18
+ //# sourceMappingURL=useFormatDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormatDate.js","names":["useFormatDate","dateFormat","localization","useLocalization","format","useCallback","value","long","formatDate"],"sources":["../../../../src/components/Formatters/useFormatDate.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useLocalization } from \"../Localization\";\nimport { formatDate } from \"../../utils/dateUtils\";\n\nexport const useFormatDate = (dateFormat?: string) => {\n const localization = useLocalization();\n const format = dateFormat ? dateFormat : localization.dateFormat;\n return useCallback(\n (value, long) => {\n return formatDate(value, format, long);\n },\n [format]\n );\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAa,CAAIC,UAAmB,EAAK;EACpD,IAAMC,YAAY,GAAG,IAAAC,6BAAe,GAAE;EACtC,IAAMC,MAAM,GAAGH,UAAU,GAAGA,UAAU,GAAGC,YAAY,CAACD,UAAU;EAChE,OAAO,IAAAI,kBAAW,EAChB,UAACC,KAAK,EAAEC,IAAI,EAAK;IACf,OAAO,IAAAC,qBAAU,EAACF,KAAK,EAAEF,MAAM,EAAEG,IAAI,CAAC;EACxC,CAAC,EACD,CAACH,MAAM,CAAC,CACT;AACH,CAAC;AAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useLocalization = exports.LocalizationProvider = exports.LocalizationContext = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ 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); }
10
+ 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; }
11
+ 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; }
12
+ 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; }
13
+ 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; }
14
+ var defaultParams = {
15
+ locale: "en-US",
16
+ dateFormat: "MMM D. YYYY",
17
+ timeFormat: "HH:mm a",
18
+ decimalSeparator: ".",
19
+ thousandSeparator: ",",
20
+ decimalRounding: 0,
21
+ decimalSpaces: 2,
22
+ currencyCode: "USD",
23
+ t: function t(value) {
24
+ return value;
25
+ }
26
+ };
27
+ var LocalizationContext = /*#__PURE__*/_react.default.createContext(defaultParams);
28
+ exports.LocalizationContext = LocalizationContext;
29
+ var LocalizationProvider = function LocalizationProvider(_ref) {
30
+ var children = _ref.children,
31
+ params = _ref.params;
32
+ var value = (0, _react.useMemo)(function () {
33
+ return _objectSpread(_objectSpread({}, defaultParams), params);
34
+ }, [params]);
35
+ return /*#__PURE__*/_react.default.createElement(LocalizationContext.Provider, {
36
+ value: value
37
+ }, children);
38
+ };
39
+ exports.LocalizationProvider = LocalizationProvider;
40
+ var useLocalization = function useLocalization() {
41
+ return _react.default.useContext(LocalizationContext);
42
+ };
43
+ exports.useLocalization = useLocalization;
44
+ //# sourceMappingURL=LocalizationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalizationProvider.js","names":["defaultParams","locale","dateFormat","timeFormat","decimalSeparator","thousandSeparator","decimalRounding","decimalSpaces","currencyCode","t","value","LocalizationContext","React","createContext","LocalizationProvider","children","params","useMemo","useLocalization","useContext"],"sources":["../../../../src/components/Localization/LocalizationProvider.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nexport interface ILocalizationContext {\n locale: string;\n dateFormat: string;\n timeFormat: string;\n decimalSeparator: string;\n thousandSeparator: string;\n decimalRounding: number;\n decimalSpaces: number;\n currencyCode: string;\n t: (...args) => string;\n}\n\nconst defaultParams = {\n locale: \"en-US\",\n dateFormat: \"MMM D. YYYY\",\n timeFormat: \"HH:mm a\",\n decimalSeparator: \".\",\n thousandSeparator: \",\",\n decimalRounding: 0,\n decimalSpaces: 2,\n currencyCode: \"USD\",\n t: (value: string) => value,\n};\nexport const LocalizationContext =\n React.createContext<ILocalizationContext>(defaultParams);\n\ninterface Props {\n params: Partial<ILocalizationContext>;\n translator?: (string, props: Record<string, string | number>) => string;\n}\nexport const LocalizationProvider: React.FC<Props> = ({ children, params }) => {\n const value = useMemo(() => {\n return {\n ...defaultParams,\n ...params,\n };\n }, [params]);\n return (\n <LocalizationContext.Provider value={value}>\n {children}\n </LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"mappings":";;;;;;;AAAA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAavC,IAAMA,aAAa,GAAG;EACpBC,MAAM,EAAE,OAAO;EACfC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,SAAS;EACrBC,gBAAgB,EAAE,GAAG;EACrBC,iBAAiB,EAAE,GAAG;EACtBC,eAAe,EAAE,CAAC;EAClBC,aAAa,EAAE,CAAC;EAChBC,YAAY,EAAE,KAAK;EACnBC,CAAC,EAAE,WAACC,KAAa;IAAA,OAAKA,KAAK;EAAA;AAC7B,CAAC;AACM,IAAMC,mBAAmB,gBAC9BC,cAAK,CAACC,aAAa,CAAuBb,aAAa,CAAC;AAAC;AAMpD,IAAMc,oBAAqC,GAAG,SAAxCA,oBAAqC,OAA6B;EAAA,IAAvBC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;EACtE,IAAMN,KAAK,GAAG,IAAAO,cAAO,EAAC,YAAM;IAC1B,uCACKjB,aAAa,GACbgB,MAAM;EAEb,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACZ,oBACE,6BAAC,mBAAmB,CAAC,QAAQ;IAAC,KAAK,EAAEN;EAAM,GACxCK,QAAQ,CACoB;AAEnC,CAAC;AAAC;AAEK,IAAMG,eAAe,GAAG,SAAlBA,eAAe;EAAA,OAASN,cAAK,CAACO,UAAU,CAACR,mBAAmB,CAAC;AAAA;AAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _LocalizationProvider = require("./LocalizationProvider");
7
+ Object.keys(_LocalizationProvider).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _LocalizationProvider[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _LocalizationProvider[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Localization/index.ts"],"sourcesContent":["export * from \"./LocalizationProvider\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -13,6 +13,8 @@ var _ClassNames = require("../DatePicker/ClassNames");
13
13
  var _Tooltip = require("../Tooltip/Tooltip");
14
14
  var _SelectDateTarget = require("./SelectDateTarget");
15
15
  var _Styles = require("./Styles");
16
+ var _Localization = require("../Localization");
17
+ var _dateUtils = require("../../utils/dateUtils");
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
  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); }
18
20
  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; }
@@ -83,8 +85,7 @@ var SelectDate = function SelectDate(_ref) {
83
85
  targetTextClassName = _ref.targetTextClassName,
84
86
  targetIconClassName = _ref.targetIconClassName,
85
87
  backgroundElementClass = _ref.backgroundElementClass,
86
- _ref$dateFormat = _ref.dateFormat,
87
- dateFormat = _ref$dateFormat === void 0 ? "DD MM. YYYY" : _ref$dateFormat,
88
+ passedDateFormat = _ref.dateFormat,
88
89
  defaultMonth = _ref.defaultMonth,
89
90
  _ref$daysToModify = _ref.daysToModify,
90
91
  daysToModify = _ref$daysToModify === void 0 ? [] : _ref$daysToModify,
@@ -104,15 +105,16 @@ var SelectDate = function SelectDate(_ref) {
104
105
  _useState2 = _slicedToArray(_useState, 2),
105
106
  timezoneAware = _useState2[0],
106
107
  setTimezoneAware = _useState2[1];
108
+ var localization = (0, _Localization.useLocalization)();
109
+ var dateFormat = passedDateFormat ? passedDateFormat : localization.dateFormat;
107
110
  var labelText = (0, _react.useMemo)(function () {
108
111
  if (!selectedDays) {
109
112
  return defaultLabelText;
110
113
  } else {
111
114
  var endDate = timezoneAware ? _moment.default.unix(selectedDays.to).local() : _moment.default.unix(selectedDays.to).utc();
112
115
  var startDate = timezoneAware ? _moment.default.unix(selectedDays.from).local() : _moment.default.unix(selectedDays.from).utc();
113
- var currentYear = _moment.default.utc().year();
114
- var formattedEndDate = !longDateFormat && endDate.year() === currentYear ? endDate.format(dateFormat.replace(/Y|,$/gi, "").trim()) : endDate.format(dateFormat);
115
- var formattedStartDate = !longDateFormat && startDate.year() === currentYear ? startDate.format(dateFormat.replace(/Y|,$/gi, "").trim()) : startDate.format(dateFormat);
116
+ var formattedEndDate = (0, _dateUtils.formatDate)(endDate, dateFormat, longDateFormat);
117
+ var formattedStartDate = (0, _dateUtils.formatDate)(startDate, dateFormat, longDateFormat);
116
118
  if (selectedDays.from === selectedDays.to) {
117
119
  return formattedEndDate;
118
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDate.js","names":["getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","useState","timezoneAware","setTimezoneAware","labelText","useMemo","endDate","local","startDate","currentYear","year","formattedEndDate","format","replace","trim","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","useEffect","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","customClassNames","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","renderTargetEl","classnames","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":";;;;;;AAAA;AAUA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAIkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAElB,IAAMA,uBAAuB,GAAG,SAA1BA,uBAAuB,CAAIC,IAAU,EAAa;EACtD,OAAOC,eAAM,CACVC,GAAG,CAAC,CAACF,IAAI,CAACG,WAAW,EAAE,EAAEH,IAAI,CAACI,QAAQ,EAAE,EAAEJ,IAAI,CAACK,OAAO,EAAE,CAAC,CAAC,CAC1DC,IAAI,EAAE;AACX,CAAC;AAED,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,GAAS,EAAEC,IAAkB,EAAc;EAC/D,IAAIA,IAAI,CAACC,SAAS,EAAE;IAClB,IAAMC,IAAI,GAAG,IAAIC,IAAI,CACnBJ,GAAG,CAACL,WAAW,EAAE,EACjBM,IAAI,CAACE,IAAI,CAACP,QAAQ,EAAE,EACpBK,IAAI,CAACE,IAAI,CAACN,OAAO,EAAE,CACpB;IACD,IAAMQ,EAAE,GAAG,IAAID,IAAI,CACjBJ,GAAG,CAACL,WAAW,EAAE,EACjBM,IAAI,CAACI,EAAE,CAACT,QAAQ,EAAE,EAClBK,IAAI,CAACI,EAAE,CAACR,OAAO,EAAE,CAClB;IACD,OAAOG,GAAG,IAAIG,IAAI,IAAIH,GAAG,IAAIK,EAAE;EACjC;EAEA,OAAOL,GAAG,IAAIC,IAAI,CAACE,IAAI,IAAIH,GAAG,IAAIC,IAAI,CAACI,EAAE;AAC3C,CAAC;AAwFM,IAAMC,UAA2B,GAAG,SAA9BA,UAA2B,OAwClC;EAAA,2BAvCJC,UAAU;IAAEC,IAAI,gCAAG,SAAS;IAAA,oBAC5BC,OAAO;IAAEC,SAAS,6BAAG,MAAM;IAAA,2BAC3BC,cAAc;IAAdA,cAAc,oCAAG,MAAM;IAAA,6BACvBC,gBAAgB;IAAhBA,gBAAgB,sCAAG,QAAQ;IAAA,4BAC3BC,eAAe;IAAfA,eAAe,qCAAG,OAAO;IAAA,4BACzBC,eAAe;IAAfA,eAAe,qCAAG,kBAAkB;IAAA,6BACpCC,mBAAmB;IAAnBA,mBAAmB,sCAAG,mCAAmC;IAAA,6BACzDC,mBAAmB;IAAnBA,mBAAmB,sCAAG,IAAI;IAAA,6BAC1BC,kBAAkB;IAAlBA,kBAAkB,sCAAG,QAAQ;IAC7BC,UAAU,QAAVA,UAAU;IACVC,MAAM,QAANA,MAAM;IACNC,QAAQ,QAARA,QAAQ;IACRC,kBAAkB,QAAlBA,kBAAkB;IAAA,qBAClBC,QAAQ;IAAEC,YAAY,8BAAG,KAAK;IAAA,6BAC9BC,oBAAoB;IAApBA,oBAAoB,sCAAG,KAAK;IAAA,2BAC5BC,cAAc;IAAdA,cAAc,oCAAG,KAAK;IAAA,6BACtBC,qBAAqB;IAArBA,qBAAqB,sCAAG,KAAK;IAAA,2BAC7BC,cAAc;IAAdA,cAAc,oCAAG,CAAC;IAClBC,YAAY,QAAZA,YAAY;IAAA,0BACZC,aAAa;IAAbA,aAAa,mCAAG,QAAQ;IACxBC,aAAa,QAAbA,aAAa;IACbC,eAAe,QAAfA,eAAe;IACfC,IAAI,QAAJA,IAAI;IAAA,6BACJC,gBAAgB;IAAhBA,gBAAgB,sCAAG,QAAQ;IAC3BC,mBAAmB,QAAnBA,mBAAmB;IACnBC,mBAAmB,QAAnBA,mBAAmB;IACnBC,sBAAsB,QAAtBA,sBAAsB;IAAA,uBACtBC,UAAU;IAAVA,UAAU,gCAAG,aAAa;IAC1BC,YAAY,QAAZA,YAAY;IAAA,yBACZC,YAAY;IAAZA,YAAY,kCAAG,EAAE;IAAA,qBACjBC,QAAQ;IAARA,QAAQ,8BAAG,EAAE;IAAA,yBACbC,YAAY;IAAZA,YAAY,kCAAG,SAAS;IAAA,6BACxBC,mBAAmB;IAAnBA,mBAAmB,sCAAG,KAAK;IAC3BC,WAAW,QAAXA,WAAW;IACXC,sBAAsB,QAAtBA,sBAAsB;IACtBC,eAAe,QAAfA,eAAe;IACfC,kBAAkB,QAAlBA,kBAAkB;IAClBC,QAAQ,QAARA,QAAQ;IACRC,iBAAiB,QAAjBA,iBAAiB;EAEjB,gBAA0C,IAAAC,eAAQ,EAACzB,oBAAoB,CAAC;IAAA;IAAjE0B,aAAa;IAAEC,gBAAgB;EAEtC,IAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC9B,IAAI,CAACzB,YAAY,EAAE;MACjB,OAAOK,gBAAgB;IACzB,CAAC,MAAM;MACL,IAAMqB,OAAO,GAAGJ,aAAa,GACzBzD,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACvB,EAAE,CAAC,CAACkD,KAAK,EAAE,GACpC9D,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACvB,EAAE,CAAC,CAACX,GAAG,EAAE;MAEtC,IAAM8D,SAAS,GAAGN,aAAa,GAC3BzD,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACzB,IAAI,CAAC,CAACoD,KAAK,EAAE,GACtC9D,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACzB,IAAI,CAAC,CAACT,GAAG,EAAE;MAExC,IAAM+D,WAAW,GAAGhE,eAAM,CAACC,GAAG,EAAE,CAACgE,IAAI,EAAE;MAEvC,IAAMC,gBAAgB,GACpB,CAAClC,cAAc,IAAI6B,OAAO,CAACI,IAAI,EAAE,KAAKD,WAAW,GAC7CH,OAAO,CAACM,MAAM,CAACvB,UAAU,CAACwB,OAAO,CAAC,QAAQ,KAAK,CAACC,IAAI,EAAE,CAAC,GACvDR,OAAO,CAACM,MAAM,CAACvB,UAAU,CAAC;MAChC,IAAM0B,kBAAkB,GACtB,CAACtC,cAAc,IAAI+B,SAAS,CAACE,IAAI,EAAE,KAAKD,WAAW,GAC/CD,SAAS,CAACI,MAAM,CAACvB,UAAU,CAACwB,OAAO,CAAC,QAAQ,KAAK,CAACC,IAAI,EAAE,CAAC,GACzDN,SAAS,CAACI,MAAM,CAACvB,UAAU,CAAC;MAElC,IAAIT,YAAY,CAACzB,IAAI,KAAKyB,YAAY,CAACvB,EAAE,EAAE;QACzC,OAAOsD,gBAAgB;MACzB;MAEA,iBAAUI,kBAAkB,gBAAMJ,gBAAgB;IACpD;EACF,CAAC,EAAE,CACD/B,YAAY,EACZS,UAAU,EACVa,aAAa,EACbjB,gBAAgB,EAChBR,cAAc,CACf,CAAC;EAEF,IAAMuC,aAAa,GAAG,IAAAX,cAAO,EAAC,YAAM;IAClC,IACE,QAAOzB,YAAY,MAAK,QAAQ,IAChC,CAAC,CAACA,YAAY,CAACzB,IAAI,IACnB,CAAC,CAACyB,YAAY,CAACvB,EAAE,EACjB;MACA,IAAI6C,aAAa,EAAE;QACjB,OAAO;UACL/C,IAAI,EAAEV,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACzB,IAAI,CAAC,CAAC8D,MAAM,EAAE;UAC7C5D,EAAE,EAAEZ,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACvB,EAAE,CAAC,CAAC4D,MAAM;QACzC,CAAC;MACH;MACA,IAAMC,UAAU,GAAGzE,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACzB,IAAI,CAAC,CAACgE,SAAS,EAAE,GAAG,EAAE;MAClE,IAAMC,QAAQ,GAAG3E,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACvB,EAAE,CAAC,CAAC8D,SAAS,EAAE,GAAG,EAAE;MAC9D,OAAO;QACLhE,IAAI,EAAE,IAAIC,IAAI,CAAC,CAACwB,YAAY,CAACzB,IAAI,GAAG+D,UAAU,IAAI,IAAI,CAAC;QACvD7D,EAAE,EAAE,IAAID,IAAI,CAAC,CAACwB,YAAY,CAACvB,EAAE,GAAG+D,QAAQ,IAAI,IAAI;MAClD,CAAC;IACH;EACF,CAAC,EAAE,CAACxC,YAAY,EAAEsB,aAAa,CAAC,CAAC;EAEjC,IAAMmB,kBAAkB,GAAG,IAAAC,kBAAW,EACpC,UAACC,aAAa,EAAK;IACjBpB,gBAAgB,CAAC,KAAK,CAAC;IACvB,IAAI,OAAOhC,MAAM,KAAK,UAAU,EAAE;MAChC,IACE,QAAOoD,aAAa,MAAK,QAAQ,IACjCC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,aAAa,EAAE,MAAM,CAAC,IAC3DC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,aAAa,EAAE,IAAI,CAAC,EACzD;QACApD,MAAM,CAAC;UACLhB,IAAI,EAAEZ,uBAAuB,CAACgF,aAAa,CAACpE,IAAI,CAAC;UACjDE,EAAE,EAAEd,uBAAuB,CAACgF,aAAa,CAAClE,EAAE;QAC9C,CAAC,CAAC;MACJ,CAAC,MAAM;QACLc,MAAM,CAACyD,SAAS,CAAC;MACnB;IACF;EACF,CAAC,EACD,CAACzD,MAAM,CAAC,CACT;EAED,IAAM0D,eAAe,GAAG,IAAAP,kBAAW,EAAC,YAAM;IACxC,IAAI9E,IAAI,GAAG,IAAIY,IAAI,EAAE;IAErB,IAAI,QAAOwB,YAAY,MAAK,QAAQ,IAAI,CAAC,CAACA,YAAY,CAACzB,IAAI,EAAE;MAC3DX,IAAI,GAAG0D,aAAa,GAChB,IAAI9C,IAAI,CAACwB,YAAY,CAACzB,IAAI,GAAG,IAAI,CAAC,GAClC,IAAIC,IAAI,CACN,CAACwB,YAAY,CAACzB,IAAI,GAChBV,eAAM,CAACK,IAAI,CAAC8B,YAAY,CAACzB,IAAI,CAAC,CAACgE,SAAS,EAAE,GAAG,EAAE,IAC/C,IAAI,CACP;IACP,CAAC,MAAM,IAAI7B,YAAY,EAAE;MACvB9C,IAAI,GAAG8C,YAAY;IACrB;;IAEA;IACA,OAAO,IAAIlC,IAAI,CAACZ,IAAI,CAACG,WAAW,EAAE,EAAEH,IAAI,CAACI,QAAQ,EAAE,EAAE,CAAC,CAAC;EACzD,CAAC,EAAE,CAAC0C,YAAY,EAAEV,YAAY,EAAEsB,aAAa,CAAC,CAAC;EAE/C,iBAA0B,IAAAD,eAAQ,EAAC4B,eAAe,CAAC;IAAA;IAA5CC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,iBAAiB,GAAG,IAAAV,kBAAW,EACnC,UAACQ,KAAK,EAAK;IACTC,QAAQ,CAACD,KAAK,CAAC;EACjB,CAAC,EACD,CAACC,QAAQ,CAAC,CACX;EAED,iBAAgC,IAAA9B,eAAQ,EAACe,aAAa,CAAC;IAAA;IAAhDiB,QAAQ;IAAEC,WAAW;EAC5B,iBAAgD,IAAAjC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAxDkC,gBAAgB;IAAEC,mBAAmB;EAC5C,iBAA4C,IAAAnC,eAAQ,EAACvB,qBAAqB,CAAC;IAAA;IAApE2D,cAAc;IAAEC,iBAAiB;EAExC,IAAMC,kBAAkB,GAAG,IAAAlC,cAAO,EAAC,YAAM;IACvC,OACE,CAAAW,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE7D,IAAI,OAAK8E,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE9E,IAAI,KACtC,CAAA6D,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE3D,EAAE,OAAK4E,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5E,EAAE;EAEtC,CAAC,EAAE,CAAC2D,aAAa,EAAEiB,QAAQ,CAAC,CAAC;EAE7B,IAAAO,gBAAS,EAAC,YAAM;IACdF,iBAAiB,CAAC5D,qBAAqB,CAAC;EAC1C,CAAC,EAAE,CAACA,qBAAqB,CAAC,CAAC;EAE3B,IAAA8D,gBAAS,EAAC,YAAM;IACdxB,aAAa,IAAIkB,WAAW,CAAClB,aAAa,CAAC;EAC7C,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,IAAAwB,gBAAS,EAAC,YAAM;IACd,OAAOnE,kBAAkB,KAAK,UAAU,IACtCA,kBAAkB,CAACgE,cAAc,CAAC;EACtC,CAAC,EAAE,CAACA,cAAc,EAAEhE,kBAAkB,CAAC,CAAC;EAExC,IAAAmE,gBAAS,EAAC,YAAM;IACd,IAAI,CAACH,cAAc,EAAE;MACnBN,QAAQ,CAACF,eAAe,EAAE,CAAC;IAC7B;EACF,CAAC,EAAE,CAACQ,cAAc,EAAER,eAAe,CAAC,CAAC;EAErC,IAAMY,UAAU,GAAG,IAAAnB,kBAAW,EAAC,YAAM;IACnCD,kBAAkB,CAACY,QAAQ,CAAC;IAC5BK,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACL,QAAQ,EAAEZ,kBAAkB,CAAC,CAAC;EAElC,IAAMqB,YAAY,GAAG,IAAApB,kBAAW,EAC9B,UAACqB,KAAK,EAAK;IACT,IAAInF,IAAI,KAAK,QAAQ,EAAE;MACrB6D,kBAAkB,CAACsB,KAAK,CAAC;IAC3B;IACAT,WAAW,CAACS,KAAK,CAAC;EACpB,CAAC,EACD,CAACnF,IAAI,EAAE6D,kBAAkB,CAAC,CAC3B;EAED,IAAMuB,qBAAqB,GAAG,IAAAtB,kBAAW,EAAC,YAAM;IAC9C,IAAIuB,MAAM,GAAG,IAAI;IAEjB,IAAK7B,aAAa,IAAI,CAACiB,QAAQ,IAAM,CAACjB,aAAa,IAAIiB,QAAS,EAAE;MAChEY,MAAM,GAAG,KAAK;IAChB;IAEA,IAAMC,gBAAgB,GAAG9B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE7D,IAAI;IAC5C,IAAM4F,cAAc,GAAG/B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE3D,EAAE;IACxC,IAAM2F,YAAY,GAAGf,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE9E,IAAI;IACnC,IAAM8F,UAAU,GAAGhB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5E,EAAE;IAE/B,IACEyF,gBAAgB,IAChBE,YAAY,IACZD,cAAc,IACdE,UAAU,KACT,IAAAxG,eAAM,EAACqG,gBAAgB,CAAC,CAAClC,MAAM,CAAC,YAAY,CAAC,KAC5C,IAAAnE,eAAM,EAACuG,YAAY,CAAC,CAACpC,MAAM,CAAC,YAAY,CAAC,IACzC,IAAAnE,eAAM,EAACsG,cAAc,CAAC,CAACnC,MAAM,CAAC,YAAY,CAAC,KACzC,IAAAnE,eAAM,EAACwG,UAAU,CAAC,CAACrC,MAAM,CAAC,YAAY,CAAC,CAAC,EAC5C;MACAiC,MAAM,GAAG,KAAK;IAChB;IAEA,IAAI,CAACA,MAAM,EAAE;MACXT,mBAAmB,CAAC,IAAI,CAAC;IAC3B;IAEA,OAAOS,MAAM;EACf,CAAC,EAAE,CAAC7B,aAAa,EAAEiB,QAAQ,CAAC,CAAC;EAE7B,IAAMiB,WAAW,GAAG,IAAA5B,kBAAW,EAAC,YAAM;IACpC,IAAI9D,IAAI,KAAK,QAAQ,IAAIoF,qBAAqB,EAAE,EAAE;MAChD,OAAOxE,QAAQ,KAAK,UAAU,IAAIA,QAAQ,EAAE;MAC5CkE,iBAAiB,CAAC,KAAK,CAAC;IAC1B;EACF,CAAC,EAAE,CAAC9E,IAAI,EAAEY,QAAQ,EAAEwE,qBAAqB,CAAC,CAAC;EAE3C,IAAMO,YAAY,GAAG,IAAA7B,kBAAW,EAC9B,UAAC8B,KAAK,EAAK;IACTA,KAAK,IAAIA,KAAK,CAACC,cAAc,EAAE;IAC/B,OAAOH,WAAW,EAAE;EACtB,CAAC,EACD,CAACA,WAAW,CAAC,CACd;EAED,IAAMI,oBAAoB,GAAG,IAAAhC,kBAAW,EAAC,YAAM;IAC7CgB,iBAAiB,CAAC,CAACD,cAAc,CAAC;EACpC,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,IAAMkB,uBAAuB,GAAG,IAAAjC,kBAAW,EAAC,YAAM;IAChDc,mBAAmB,CAAC,KAAK,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMoB,WAAW,GAAG,IAAAlC,kBAAW,EAAC,YAAM;IACpC,IAAI,CAAC/C,YAAY,EAAE;MACjB2D,WAAW,CAACN,SAAS,CAAC;MACtB,IAAIpE,IAAI,KAAK,SAAS,EAAE;QACtB6D,kBAAkB,CAACO,SAAS,CAAC;MAC/B;IACF;EACF,CAAC,EAAE,CAACpE,IAAI,EAAEe,YAAY,EAAE8C,kBAAkB,CAAC,CAAC;EAE5C,IAAMoC,sBAAsB,GAAG,IAAAnC,kBAAW,EAAC,YAAM;IAC/CY,WAAW,CAAClB,aAAa,CAAC;IAC1BoB,mBAAmB,CAAC,KAAK,CAAC;IAC1BE,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACtB,aAAa,CAAC,CAAC;EAEnB,IAAM0C,SAAS,GAAG,IAAArD,cAAO,EAAC,YAAM;IAAA;IAC9B,IAAMsD,kBAAkB,GAAGpE,YAAY,CAACqE,MAAM,CAC5C,UAAC3G,IAAI;MAAA,OAAKA,IAAI,CAAC4G,IAAI,KAAK,cAAc;IAAA,EACvC;IACD,IAAMC,aAAa,GAAGvE,YAAY,CAACqE,MAAM,CACvC,UAAC3G,IAAI;MAAA,OAAKA,IAAI,CAAC4G,IAAI,KAAK,gBAAgB;IAAA,EACzC;IACD,IAAME,uBAAuB,GAAGxE,YAAY,CAACqE,MAAM,CACjD,UAAC3G,IAAI;MAAA,OAAKA,IAAI,CAAC4G,IAAI,KAAK,2BAA2B;IAAA,EACpD;IAED,0CACGG,4BAAgB,CAACC,gBAAgB,EAAG,UAACjH,GAAS,EAAc;MAC3D;MACA,IAAMkH,UAAU,GAAG,IAAI9G,IAAI,CACzBJ,GAAG,CAACL,WAAW,EAAE,EACjBK,GAAG,CAACJ,QAAQ,EAAE,EACdI,GAAG,CAACH,OAAO,EAAE,CACd;MACD,OAAO8G,kBAAkB,CAACQ,IAAI,CAAC,UAAClH,IAAI;QAAA,OAClCF,YAAY,CAACmH,UAAU,EAAEjH,IAAI,CAAC;MAAA,EAC/B;IACH,CAAC,0BACA+G,4BAAgB,CAACI,OAAO,EAAG,UAACpH,GAAS,EAAc;MAClD,OAAOwC,QAAQ,CAAC2E,IAAI,CAAC,UAACE,KAAK;QAAA,OAAKrH,GAAG,CAACsH,MAAM,EAAE,KAAKD,KAAK;MAAA,EAAC;IACzD,CAAC,0BACAL,4BAAgB,CAACO,aAAa,EAAG,UAACvH,GAAS,EAAc;MACxD;MACA,IAAIwC,QAAQ,CAAC2E,IAAI,CAAC,UAACE,KAAK;QAAA,OAAKA,KAAK,KAAKrH,GAAG,CAACsH,MAAM,EAAE;MAAA,EAAC,EAAE;QACpD,OAAO,IAAI;MACb;MACA,IAAME,cAAc,gCAAOT,uBAAuB,sBAAKD,aAAa,EAAC;MACrE,IAAMI,UAAU,GAAG,IAAI9G,IAAI,CACzBJ,GAAG,CAACL,WAAW,EAAE,EACjBK,GAAG,CAACJ,QAAQ,EAAE,EACdI,GAAG,CAACH,OAAO,EAAE,CACd;MACD,OAAO2H,cAAc,CAACL,IAAI,CAAC,UAAClH,IAAI;QAAA,OAAKF,YAAY,CAACmH,UAAU,EAAEjH,IAAI,CAAC;MAAA,EAAC;IACtE,CAAC,0BACA+G,4BAAgB,CAACS,QAAQ,EAAG,UAACzH,GAAS,EAAc;MACnD,IAAIgD,iBAAiB,EAAE;QACrB,IACEhD,GAAG,CAAC0H,MAAM,EAAE,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG3E,iBAAiB,CAAC0E,MAAM,EAAE,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACnE;UACA,OAAO,IAAI;QACb;MACF;MACA;MACA,IACE,CAACjF,mBAAmB,IACpBF,QAAQ,CAAC2E,IAAI,CAAC,UAACE,KAAK;QAAA,OAAKA,KAAK,KAAKrH,GAAG,CAACsH,MAAM,EAAE;MAAA,EAAC,EAChD;QACA,OAAO,IAAI;MACb;MACA;MACA,IAAMJ,UAAU,GAAG,IAAI9G,IAAI,CACzBJ,GAAG,CAACL,WAAW,EAAE,EACjBK,GAAG,CAACJ,QAAQ,EAAE,EACdI,GAAG,CAACH,OAAO,EAAE,CACd;MACD,OAAOiH,aAAa,CAACK,IAAI,CAAC,UAAClH,IAAI;QAAA,OAAKF,YAAY,CAACmH,UAAU,EAAEjH,IAAI,CAAC;MAAA,EAAC;IACrE,CAAC;EAEL,CAAC,EAAE,CAACsC,YAAY,EAAEC,QAAQ,EAAEQ,iBAAiB,EAAEN,mBAAmB,CAAC,CAAC;EAEpE,IAAMkF,SAAS,GAAG,IAAAtD,kBAAW,EAC3B,UAACtE,GAAS,EAAgB;IACxB,IAAM6H,MAAgB,GAAG,EAAE;IAE3B,IAAIrF,QAAQ,CAAC2E,IAAI,CAAC,UAACE,KAAK;MAAA,OAAKrH,GAAG,CAACsH,MAAM,EAAE,KAAKD,KAAK;IAAA,EAAC,EAAE;MACpDQ,MAAM,CAACC,IAAI,CAACrF,YAAY,CAAC;IAC3B;;IAEA;IACA,IAAMyE,UAAU,GAAG,IAAI9G,IAAI,CACzBJ,GAAG,CAACL,WAAW,EAAE,EACjBK,GAAG,CAACJ,QAAQ,EAAE,EACdI,GAAG,CAACH,OAAO,EAAE,CACd;IAED0C,YAAY,CAACwF,OAAO,CAAC,UAAC9H,IAAI,EAAK;MAC7B,IAAIF,YAAY,CAACmH,UAAU,EAAEjH,IAAI,CAAC,EAAE;QAClC4H,MAAM,CAACC,IAAI,CAAC7H,IAAI,CAAC+H,KAAK,CAAC;MACzB;IACF,CAAC,CAAC;IAEF,IAAMC,KAAK,gBACT;MAAK,SAAS,EAAC;IAAwB,GAAEjI,GAAG,CAACH,OAAO,EAAE,CACvD;IAED,IAAIgI,MAAM,CAACK,MAAM,EAAE;MACjB,IAAMF,KAAK,gBACT;QAAK,GAAG,0BAAmBhI,GAAG,CAACH,OAAO,EAAE;MAAG,GACxCgI,MAAM,CAACM,GAAG,CAAC,UAACH,KAAa,EAAEI,KAAa;QAAA,oBACvC;UAAK,GAAG,uBAAgBA,KAAK;QAAG,GAAEJ,KAAK,CAAO;MAAA,CAC/C,CAAC,CAEL;MAED,oBACE,6BAAC,gBAAO;QACN,KAAK,EAAEA,KAAM;QACb,sBAAsB,EAAEpF,sBAAuB;QAC/C,kBAAkB,EAAEE;MAAmB,GAEtCmF,KAAK,CACE;IAEd;IAEA,OAAOA,KAAK;EACd,CAAC,EACD,CACExF,YAAY,EACZD,QAAQ,EACRD,YAAY,EACZK,sBAAsB,EACtBE,kBAAkB,CACnB,CACF;EAED,IAAMuF,oBAAoB,GAAG,IAAA/D,kBAAW,EAAC,YAAmB;IAC1D,oBACE,6BAAC,8BAAc;MACb,aAAa,EAAEU,iBAAkB;MACjC,KAAK,EAAEF,KAAM;MACb,IAAI,EAAEtE,IAAK;MACX,aAAa,EAAEqB,aAAc;MAC7B,YAAY,EAAEN,YAAa;MAC3B,YAAY,EAAE0D,QAAS;MACvB,cAAc,EAAEtD,cAAe;MAC/B,cAAc,EAAEhB,cAAe;MAC/B,gBAAgB,EAAEC,gBAAiB;MACnC,eAAe,EAAEC,eAAgB;MACjC,UAAU,EAAEK,UAAW;MACvB,MAAM,EAAEuE,UAAW;MACnB,QAAQ,EAAEC,YAAa;MACvB,QAAQ,EAAES,YAAa;MACvB,OAAO,EAAEK,WAAY;MACrB,kBAAkB,EAAEjB,kBAAmB;MACvC,SAAS,EAAEmB,SAAU;MACrB,SAAS,EAAEkB;IAAU,EACrB;EAEN,CAAC,EAAE,CACD5C,iBAAiB,EACjBF,KAAK,EACLtE,IAAI,EACJqB,aAAa,EACbN,YAAY,EACZ0D,QAAQ,EACRtD,cAAc,EACdhB,cAAc,EACdC,gBAAgB,EAChBC,eAAe,EACfK,UAAU,EACVuE,UAAU,EACVC,YAAY,EACZS,YAAY,EACZK,WAAW,EACXjB,kBAAkB,EAClBmB,SAAS,EACTkB,SAAS,CACV,CAAC;EAEF,IAAMU,cAAc,GAAG,IAAAjF,cAAO,EAAC,YAAM;IACnC,IAAI3C,SAAS,KAAK,MAAM,IAAIsB,IAAI,EAAE;MAChC,oBACE,6BAAC,kCAAgB;QACf,IAAI,EAAEA,IAAK;QACX,KAAK,EAAEW,WAAY;QACnB,mBAAmB,EAAER,mBAAoB;QACzC,gBAAgB,EAAEkD,cAAe;QACjC,sBAAsB,EAAEzC,sBAAuB;QAC/C,kBAAkB,EAAEE,kBAAmB;QACvC,MAAM,EAAEuC;MAAe,EACvB;IAEN;IACA,IAAI,OAAO3E,SAAS,KAAK,UAAU,EAAE;MACnC,OAAOA,SAAS,CAAC0C,SAAS,CAAC;IAC7B;IACA,oBACE,6BAAC,8BAAsB;MACrB,IAAI,EAAC,QAAQ;MACb,SAAS,EAAE,IAAAmF,mBAAU,EAAC,oBAAoB,EAAExG,eAAe;IAAE,gBAE7D;MAAM,SAAS,EAAEG;IAAoB,GAAEkB,SAAS,CAAQ,CACjC;EAE7B,CAAC,EAAE,CACDpB,IAAI,EACJoB,SAAS,EACT1C,SAAS,EACTkC,sBAAsB,EACtBE,kBAAkB,EAClBuC,cAAc,EACdtD,eAAe,EACfI,mBAAmB,EACnBD,mBAAmB,EACnBS,WAAW,CACZ,CAAC;EAEF,oBACE,6BAAC,wBAAgB;IAAC,SAAS,EAAC;EAAa,GACtCjC,SAAS,KAAK,QAAQ,gBACrB,6BAAC,UAAI;IACH,MAAM,EAAE4H,cAAe;IACvB,IAAI,EAAEjD,cAAe;IACrB,MAAM,EAAEiB,oBAAqB;IAC7B,aAAa,EAAEV,qBAAsB;IACrC,OAAO,EAAEM,WAAY;IACrB,QAAQ,EAAEnD,QAAS;IACnB,aAAa,EAAEjB,aAAc;IAC7B,eAAe,EAAEe,eAAgB;IACjC,sBAAsB,EAAET;EAAuB,GAE9CiG,oBAAoB,EAAE,CAClB,GAEPA,oBAAoB,EACrB,EACA7H,IAAI,KAAK,QAAQ,gBAChB,6BAAC,2BAAmB;IAClB,SAAS,EAAC,mBAAmB;IAC7B,IAAI,EAAE2E,gBAAiB;IACvB,QAAQ,EAAEoB,uBAAwB;IAClC,SAAS,EAAEE,sBAAuB;IAClC,WAAW,EAAE3F,eAAgB;IAC7B,aAAa,EAAEC,mBAAoB;IACnC,aAAa,EAAEE,kBAAmB;IAClC,cAAc,EAAED;EAAoB,EACpC,GACA,IAAI,CACS;AAEvB,CAAC;AAAC;AAEFV,UAAU,CAACkI,WAAW,GAAG,YAAY"}
1
+ {"version":3,"file":"SelectDate.js","names":["getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","passedDateFormat","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","useState","timezoneAware","setTimezoneAware","localization","useLocalization","labelText","useMemo","endDate","local","startDate","formattedEndDate","formatDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","useEffect","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","customClassNames","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","renderTargetEl","classnames","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { useLocalization } from \"../Localization\";\nimport { formatDate } from \"../../utils/dateUtils\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat: passedDateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatDate = void 0;
7
+ var _moment = _interopRequireDefault(require("moment"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var getShortDateFormat = function getShortDateFormat(value) {
10
+ return value.replace(/Y|,$/gi, "").trim();
11
+ };
12
+ var formatDate = function formatDate(value) {
13
+ var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "YYYY-MM-DD";
14
+ var long = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
15
+ if (typeof value === "undefined") {
16
+ return "";
17
+ }
18
+ var date;
19
+ var year;
20
+ if (typeof value === "number") {
21
+ date = _moment.default.unix(value);
22
+ year = (0, _moment.default)().utc().year();
23
+ } else {
24
+ date = (0, _moment.default)(value);
25
+ year = (0, _moment.default)().year();
26
+ }
27
+ if (!long) {
28
+ if (date.year() === year) {
29
+ return date.format(getShortDateFormat(format));
30
+ }
31
+ }
32
+ return date.format(format);
33
+ };
34
+ exports.formatDate = formatDate;
35
+ //# sourceMappingURL=dateUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateUtils.js","names":["getShortDateFormat","value","replace","trim","formatDate","format","long","date","year","moment","unix","utc"],"sources":["../../../src/utils/dateUtils.ts"],"sourcesContent":["import moment from \"moment\";\n\nexport type DateValue = Date | moment.Moment | number | string | undefined;\n\nconst getShortDateFormat = (value) => {\n return value.replace(/Y|,$/gi, ``).trim();\n};\n\nexport const formatDate = (\n value: DateValue,\n format = \"YYYY-MM-DD\",\n long = true\n): string => {\n if (typeof value === \"undefined\") {\n return \"\";\n }\n\n let date;\n let year;\n if (typeof value === \"number\") {\n date = moment.unix(value);\n year = moment().utc().year();\n } else {\n date = moment(value);\n year = moment().year();\n }\n if (!long) {\n if (date.year() === year) {\n return date.format(getShortDateFormat(format));\n }\n }\n return date.format(format);\n};\n"],"mappings":";;;;;;AAAA;AAA4B;AAI5B,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,KAAK,EAAK;EACpC,OAAOA,KAAK,CAACC,OAAO,CAAC,QAAQ,KAAK,CAACC,IAAI,EAAE;AAC3C,CAAC;AAEM,IAAMC,UAAU,GAAG,SAAbA,UAAU,CACrBH,KAAgB,EAGL;EAAA,IAFXI,MAAM,uEAAG,YAAY;EAAA,IACrBC,IAAI,uEAAG,IAAI;EAEX,IAAI,OAAOL,KAAK,KAAK,WAAW,EAAE;IAChC,OAAO,EAAE;EACX;EAEA,IAAIM,IAAI;EACR,IAAIC,IAAI;EACR,IAAI,OAAOP,KAAK,KAAK,QAAQ,EAAE;IAC7BM,IAAI,GAAGE,eAAM,CAACC,IAAI,CAACT,KAAK,CAAC;IACzBO,IAAI,GAAG,IAAAC,eAAM,GAAE,CAACE,GAAG,EAAE,CAACH,IAAI,EAAE;EAC9B,CAAC,MAAM;IACLD,IAAI,GAAG,IAAAE,eAAM,EAACR,KAAK,CAAC;IACpBO,IAAI,GAAG,IAAAC,eAAM,GAAE,CAACD,IAAI,EAAE;EACxB;EACA,IAAI,CAACF,IAAI,EAAE;IACT,IAAIC,IAAI,CAACC,IAAI,EAAE,KAAKA,IAAI,EAAE;MACxB,OAAOD,IAAI,CAACF,MAAM,CAACL,kBAAkB,CAACK,MAAM,CAAC,CAAC;IAChD;EACF;EACA,OAAOE,IAAI,CAACF,MAAM,CAACA,MAAM,CAAC;AAC5B,CAAC;AAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _dateUtils = require("./dateUtils");
4
+ describe("formatDate", function () {
5
+ var dateNowSpy;
6
+ beforeAll(function () {
7
+ // Lock Time Fri, 07 Oct 2022 12:43:40 GMT
8
+ dateNowSpy = jest.spyOn(Date, "now").mockImplementation(function () {
9
+ return 1665146620336;
10
+ });
11
+ });
12
+ afterAll(function () {
13
+ // Unlock Time
14
+ dateNowSpy.mockRestore();
15
+ });
16
+ it.each([[1660046717, "LL", true, "August 9, 2022"], [1660046717, "YYYY-MM-DD", true, "2022-08-09"], [new Date("2021-01-02"), "YYYY-MM-DD", true, "2021-01-02"], ["2021-01-02", "YYYY-MM-DD", true, "2021-01-02"], ["2021-01-02", "YYYY-MM-DD", false, "2021-01-02"], ["2022-01-02", "YYYY MM-DD", false, "01-02"], [1660046717, "MMMM. DD YYYY", false, "August. 09"], [1660046717, "MMMM. DD YYYY", true, "August. 09 2022"]])("should handle format Date", function (value, format, long, expected) {
17
+ expect((0, _dateUtils.formatDate)(value, format, long)).toEqual(expected);
18
+ });
19
+ });
20
+ //# sourceMappingURL=dateUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateUtils.test.js","names":["describe","dateNowSpy","beforeAll","jest","spyOn","Date","mockImplementation","afterAll","mockRestore","it","each","value","format","long","expected","expect","formatDate","toEqual"],"sources":["../../../src/utils/dateUtils.test.ts"],"sourcesContent":["import { formatDate } from \"./dateUtils\";\n\ndescribe(\"formatDate\", function () {\n let dateNowSpy;\n beforeAll(() => {\n // Lock Time Fri, 07 Oct 2022 12:43:40 GMT\n dateNowSpy = jest\n .spyOn(Date, \"now\")\n .mockImplementation(() => 1665146620336);\n });\n\n afterAll(() => {\n // Unlock Time\n dateNowSpy.mockRestore();\n });\n\n it.each([\n [1660046717, \"LL\", true, \"August 9, 2022\"],\n [1660046717, \"YYYY-MM-DD\", true, \"2022-08-09\"],\n [new Date(\"2021-01-02\"), \"YYYY-MM-DD\", true, \"2021-01-02\"],\n [\"2021-01-02\", \"YYYY-MM-DD\", true, \"2021-01-02\"],\n [\"2021-01-02\", \"YYYY-MM-DD\", false, \"2021-01-02\"],\n [\"2022-01-02\", \"YYYY MM-DD\", false, \"01-02\"],\n [1660046717, \"MMMM. DD YYYY\", false, \"August. 09\"],\n [1660046717, \"MMMM. DD YYYY\", true, \"August. 09 2022\"],\n ])(\"should handle format Date\", (value, format, long, expected) => {\n expect(formatDate(value, format, long)).toEqual(expected);\n });\n});\n"],"mappings":";;AAAA;AAEAA,QAAQ,CAAC,YAAY,EAAE,YAAY;EACjC,IAAIC,UAAU;EACdC,SAAS,CAAC,YAAM;IACd;IACAD,UAAU,GAAGE,IAAI,CACdC,KAAK,CAACC,IAAI,EAAE,KAAK,CAAC,CAClBC,kBAAkB,CAAC;MAAA,OAAM,aAAa;IAAA,EAAC;EAC5C,CAAC,CAAC;EAEFC,QAAQ,CAAC,YAAM;IACb;IACAN,UAAU,CAACO,WAAW,EAAE;EAC1B,CAAC,CAAC;EAEFC,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAC1C,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,EAC9C,CAAC,IAAIL,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,EAC1D,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,EAChD,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,EACjD,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,EAC5C,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,CAAC,EAClD,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,CAAC,CACvD,CAAC,CAAC,2BAA2B,EAAE,UAACM,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAK;IACjEC,MAAM,CAAC,IAAAC,qBAAU,EAACL,KAAK,EAAEC,MAAM,EAAEC,IAAI,CAAC,CAAC,CAACI,OAAO,CAACH,QAAQ,CAAC;EAC3D,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -7,7 +7,7 @@ export var AvatarGroupsStyles = styled.div.withConfig({
7
7
  export var LengthCountStyles = styled.div.withConfig({
8
8
  displayName: "Styles__LengthCountStyles",
9
9
  componentId: "sc-1padv46-1"
10
- })(["align-items:center;background-color:var(--color-theme-400);block-size:", ";border-radius:100%;display:flex;inline-size:", ";justify-content:center;outline:1px solid var(--page-paper-main);z-index:99;"], function (props) {
10
+ })(["align-items:center;background-color:var(--color-theme-400);block-size:", ";border-radius:var(--ac-br-rounded);display:flex;inline-size:", ";justify-content:center;outline:1px solid var(--page-paper-main);z-index:99;"], function (props) {
11
11
  return props.size + "px";
12
12
  }, function (props) {
13
13
  return props.size + "px";
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","FontStyle","AvatarGroupsStyles","div","LengthCountStyles","props","size"],"sources":["../../../../src/components/AvatarGroup/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const AvatarGroupsStyles = styled.div`\n display: flex;\n cursor: pointer;\n width: fit-content;\n ${FontStyle}\n`;\n\ninterface LengthCountStylesProps {\n size: number;\n}\n\nexport const LengthCountStyles = styled.div<LengthCountStylesProps>`\n align-items: center;\n background-color: var(--color-theme-400);\n block-size: ${(props) => props.size + \"px\"};\n border-radius: 100%;\n display: flex;\n inline-size: ${(props) => props.size + \"px\"};\n justify-content: center;\n outline: 1px solid var(--page-paper-main);\n z-index: 99;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS,QAAQ,cAAc;AAExC,OAAO,IAAMC,kBAAkB,GAAGF,MAAM,CAACG,GAAG;EAAA;EAAA;AAAA,2DAIxCF,SAAS,CACZ;AAMD,OAAO,IAAMG,iBAAiB,GAAGJ,MAAM,CAACG,GAAG;EAAA;EAAA;AAAA,gNAG3B,UAACE,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,GAG3B,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,EAI5C"}
1
+ {"version":3,"file":"Styles.js","names":["styled","FontStyle","AvatarGroupsStyles","div","LengthCountStyles","props","size"],"sources":["../../../../src/components/AvatarGroup/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const AvatarGroupsStyles = styled.div`\n display: flex;\n cursor: pointer;\n width: fit-content;\n ${FontStyle}\n`;\n\ninterface LengthCountStylesProps {\n size: number;\n}\n\nexport const LengthCountStyles = styled.div<LengthCountStylesProps>`\n align-items: center;\n background-color: var(--color-theme-400);\n block-size: ${(props) => props.size + \"px\"};\n border-radius: var(--ac-br-rounded);\n display: flex;\n inline-size: ${(props) => props.size + \"px\"};\n justify-content: center;\n outline: 1px solid var(--page-paper-main);\n z-index: 99;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS,QAAQ,cAAc;AAExC,OAAO,IAAMC,kBAAkB,GAAGF,MAAM,CAACG,GAAG;EAAA;EAAA;AAAA,2DAIxCF,SAAS,CACZ;AAMD,OAAO,IAAMG,iBAAiB,GAAGJ,MAAM,CAACG,GAAG;EAAA;EAAA;AAAA,gOAG3B,UAACE,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,GAG3B,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,EAI5C"}
@@ -0,0 +1,14 @@
1
+ import { DateValue } from "../../utils/dateUtils";
2
+ interface Props {
3
+ value: DateValue;
4
+ long?: boolean;
5
+ dateFormat?: string;
6
+ }
7
+ export declare const FormatDate: {
8
+ ({ value, long, dateFormat }: Props): JSX.Element;
9
+ defaultProps: {
10
+ long: boolean;
11
+ };
12
+ };
13
+ export {};
14
+ //# sourceMappingURL=FormatDate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatDate.d.ts","sourceRoot":"","sources":["../../../../src/components/Formatters/FormatDate.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,UAAU,KAAK;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,eAAO,MAAM,UAAU;kCAAiC,KAAK,GAAG,WAAW;;;;CAG1E,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { useFormatDate } from "./useFormatDate";
3
+ export var FormatDate = function FormatDate(_ref) {
4
+ var value = _ref.value,
5
+ long = _ref.long,
6
+ dateFormat = _ref.dateFormat;
7
+ var formatter = useFormatDate(dateFormat);
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null, formatter(value, long));
9
+ };
10
+ FormatDate.defaultProps = {
11
+ long: true
12
+ };
13
+ //# sourceMappingURL=FormatDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatDate.js","names":["React","useFormatDate","FormatDate","value","long","dateFormat","formatter","defaultProps"],"sources":["../../../../src/components/Formatters/FormatDate.tsx"],"sourcesContent":["import React from \"react\";\nimport { DateValue } from \"../../utils/dateUtils\";\nimport { useFormatDate } from \"./useFormatDate\";\n\ninterface Props {\n value: DateValue;\n long?: boolean;\n dateFormat?: string;\n}\nexport const FormatDate = ({ value, long, dateFormat }: Props): JSX.Element => {\n const formatter = useFormatDate(dateFormat);\n return <>{formatter(value, long)}</>;\n};\n\nFormatDate.defaultProps = {\n long: true,\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,aAAa,QAAQ,iBAAiB;AAO/C,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAU,OAAwD;EAAA,IAAlDC,KAAK,QAALA,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAEC,UAAU,QAAVA,UAAU;EAClD,IAAMC,SAAS,GAAGL,aAAa,CAACI,UAAU,CAAC;EAC3C,oBAAO,0CAAGC,SAAS,CAACH,KAAK,EAAEC,IAAI,CAAC,CAAI;AACtC,CAAC;AAEDF,UAAU,CAACK,YAAY,GAAG;EACxBH,IAAI,EAAE;AACR,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./FormatDate";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Formatters/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./FormatDate";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Formatters/index.ts"],"sourcesContent":["export * from \"./FormatDate\";\n"],"mappings":"AAAA,cAAc,cAAc"}
@@ -0,0 +1,2 @@
1
+ export declare const useFormatDate: (dateFormat?: string | undefined) => (value: any, long: any) => string;
2
+ //# sourceMappingURL=useFormatDate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormatDate.d.ts","sourceRoot":"","sources":["../../../../src/components/Formatters/useFormatDate.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,wEASzB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { useCallback } from "react";
2
+ import { useLocalization } from "../Localization";
3
+ import { formatDate } from "../../utils/dateUtils";
4
+ export var useFormatDate = function useFormatDate(dateFormat) {
5
+ var localization = useLocalization();
6
+ var format = dateFormat ? dateFormat : localization.dateFormat;
7
+ return useCallback(function (value, long) {
8
+ return formatDate(value, format, long);
9
+ }, [format]);
10
+ };
11
+ //# sourceMappingURL=useFormatDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormatDate.js","names":["useCallback","useLocalization","formatDate","useFormatDate","dateFormat","localization","format","value","long"],"sources":["../../../../src/components/Formatters/useFormatDate.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useLocalization } from \"../Localization\";\nimport { formatDate } from \"../../utils/dateUtils\";\n\nexport const useFormatDate = (dateFormat?: string) => {\n const localization = useLocalization();\n const format = dateFormat ? dateFormat : localization.dateFormat;\n return useCallback(\n (value, long) => {\n return formatDate(value, format, long);\n },\n [format]\n );\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,eAAe,QAAQ,iBAAiB;AACjD,SAASC,UAAU,QAAQ,uBAAuB;AAElD,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAIC,UAAmB,EAAK;EACpD,IAAMC,YAAY,GAAGJ,eAAe,EAAE;EACtC,IAAMK,MAAM,GAAGF,UAAU,GAAGA,UAAU,GAAGC,YAAY,CAACD,UAAU;EAChE,OAAOJ,WAAW,CAChB,UAACO,KAAK,EAAEC,IAAI,EAAK;IACf,OAAON,UAAU,CAACK,KAAK,EAAED,MAAM,EAAEE,IAAI,CAAC;EACxC,CAAC,EACD,CAACF,MAAM,CAAC,CACT;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ export interface ILocalizationContext {
3
+ locale: string;
4
+ dateFormat: string;
5
+ timeFormat: string;
6
+ decimalSeparator: string;
7
+ thousandSeparator: string;
8
+ decimalRounding: number;
9
+ decimalSpaces: number;
10
+ currencyCode: string;
11
+ t: (...args: any[]) => string;
12
+ }
13
+ export declare const LocalizationContext: React.Context<ILocalizationContext>;
14
+ interface Props {
15
+ params: Partial<ILocalizationContext>;
16
+ translator?: (string: any, props: Record<string, string | number>) => string;
17
+ }
18
+ export declare const LocalizationProvider: React.FC<Props>;
19
+ export declare const useLocalization: () => ILocalizationContext;
20
+ export {};
21
+ //# sourceMappingURL=LocalizationProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalizationProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/Localization/LocalizationProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,MAAM,CAAC;CACxB;AAaD,eAAO,MAAM,mBAAmB,qCAC0B,CAAC;AAE3D,UAAU,KAAK;IACb,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACzE;AACD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAYhD,CAAC;AAEF,eAAO,MAAM,eAAe,4BAA8C,CAAC"}