linear-react-components-ui 2.2.0-beta.10 → 2.2.0-beta.11

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 (75) hide show
  1. package/lib/assets/styles/datepicker2.css +11 -81
  2. package/lib/inputs/select/Dropdown.js +1 -11
  3. package/lib/inputs/select/Dropdown.js.map +1 -1
  4. package/lib/inputs/select/multiple/index.js +2 -5
  5. package/lib/inputs/select/multiple/index.js.map +1 -1
  6. package/lib/inputs/select/simple/index.js +2 -5
  7. package/lib/inputs/select/simple/index.js.map +1 -1
  8. package/lib/inputs/select/types.d.ts +2 -3
  9. package/lib/inputs/types.d.ts +1 -2
  10. package/lib/inputs2/date/{hooks/useCalendarPosition.d.ts → base/constants.d.ts} +1 -1
  11. package/lib/inputs2/date/base/constants.js +69 -0
  12. package/lib/inputs2/date/base/constants.js.map +1 -0
  13. package/lib/inputs2/date/datefield/base.js +214 -691
  14. package/lib/inputs2/date/datefield/base.js.map +1 -1
  15. package/lib/inputs2/date/datefield/calendarbox.d.ts +6 -0
  16. package/lib/inputs2/date/datefield/calendarbox.js +228 -0
  17. package/lib/inputs2/date/datefield/calendarbox.js.map +1 -0
  18. package/lib/inputs2/date/datefield/triggers.js +4 -4
  19. package/lib/inputs2/date/datefield/triggers.js.map +1 -1
  20. package/lib/inputs2/date/datefield/types.d.ts +12 -5
  21. package/lib/inputs2/date/dateperiodfield/base.js +809 -694
  22. package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
  23. package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +6 -0
  24. package/lib/inputs2/date/dateperiodfield/calendarbox.js +282 -0
  25. package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -0
  26. package/lib/inputs2/date/dateperiodfield/triggers.js +9 -21
  27. package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -1
  28. package/lib/inputs2/date/dateperiodfield/types.d.ts +23 -13
  29. package/lib/inputs2/date/helpers.d.ts +4 -44
  30. package/lib/inputs2/date/helpers.js +4 -200
  31. package/lib/inputs2/date/helpers.js.map +1 -1
  32. package/lib/inputs2/date/types.d.ts +1 -22
  33. package/lib/inputs2/date/types.js.map +1 -1
  34. package/lib/inputs2/selectfield/base.js +33 -16
  35. package/lib/inputs2/selectfield/base.js.map +1 -1
  36. package/lib/inputs2/selectfield/context.d.ts +1 -0
  37. package/lib/inputs2/selectfield/context.js.map +1 -1
  38. package/lib/inputs2/selectfield/item.js +52 -50
  39. package/lib/inputs2/selectfield/item.js.map +1 -1
  40. package/lib/inputs2/selectfield/listbox.d.ts +1 -2
  41. package/lib/inputs2/selectfield/listbox.js +0 -10
  42. package/lib/inputs2/selectfield/listbox.js.map +1 -1
  43. package/lib/inputs2/selectfield/types.d.ts +3 -5
  44. package/lib/inputs2/selectfield/types.js.map +1 -1
  45. package/lib/node_modules/lodash/lodash.js +2 -2
  46. package/lib/node_modules/lodash/lodash.js.map +1 -1
  47. package/lib/panel/Content.js +82 -28
  48. package/lib/panel/Content.js.map +1 -1
  49. package/lib/panel/Default.d.ts +1 -1
  50. package/lib/panel/Default.js +54 -60
  51. package/lib/panel/Default.js.map +1 -1
  52. package/lib/panel/helpers.js +16 -1
  53. package/lib/panel/helpers.js.map +1 -1
  54. package/lib/panel/types.d.ts +6 -3
  55. package/package.json +1 -1
  56. package/lib/hooks/useScrollEndReached/index.d.ts +0 -8
  57. package/lib/hooks/useScrollEndReached/index.js +0 -69
  58. package/lib/hooks/useScrollEndReached/index.js.map +0 -1
  59. package/lib/hooks/useScrollEndReached/types.d.ts +0 -7
  60. package/lib/inputs2/date/calendarbox.d.ts +0 -23
  61. package/lib/inputs2/date/calendarbox.js +0 -254
  62. package/lib/inputs2/date/calendarbox.js.map +0 -1
  63. package/lib/inputs2/date/hooks/useCalendarPosition.js +0 -93
  64. package/lib/inputs2/date/hooks/useCalendarPosition.js.map +0 -1
  65. package/lib/inputs2/date/hooks/useDateCalendarState.d.ts +0 -14
  66. package/lib/inputs2/date/hooks/useDateCalendarState.js +0 -250
  67. package/lib/inputs2/date/hooks/useDateCalendarState.js.map +0 -1
  68. package/lib/inputs2/date/hooks/useDateMask.d.ts +0 -22
  69. package/lib/inputs2/date/hooks/useDateMask.js +0 -143
  70. package/lib/inputs2/date/hooks/useDateMask.js.map +0 -1
  71. package/lib/inputs2/date/timeselector.d.ts +0 -17
  72. package/lib/inputs2/date/timeselector.js +0 -226
  73. package/lib/inputs2/date/timeselector.js.map +0 -1
  74. package/lib/node_modules/moment/dist/locale/pt-br.js +0 -54
  75. package/lib/node_modules/moment/dist/locale/pt-br.js.map +0 -1
@@ -1,11 +1,10 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as compilerRuntimeExports } from "../_virtual/compiler-runtime.js";
3
- import { useContext, useRef } from "react";
4
- import PanelContext from "./helpers.js";
3
+ import { useContext, useRef, useEffect } from "react";
4
+ import PanelContext, { getCurrentThreshold } from "./helpers.js";
5
5
  import NoPermission from "../noPermission/index.js";
6
- import { useScrollEndReached } from "../hooks/useScrollEndReached/index.js";
7
6
  const PanelContent = (t0) => {
8
- const $ = compilerRuntimeExports.c(14);
7
+ const $ = compilerRuntimeExports.c(18);
9
8
  let children;
10
9
  let customClass;
11
10
  let rest;
@@ -28,43 +27,98 @@ const PanelContent = (t0) => {
28
27
  opened,
29
28
  onEndReached,
30
29
  onEndReachedThreshold: t1,
31
- itemsCount,
32
30
  hideContent
33
31
  } = useContext(PanelContext);
34
32
  const onEndReachedThreshold = t1 === void 0 ? 0.1 : t1;
35
33
  const rootElementRef = useRef(null);
34
+ const lastScrollHeight = useRef(0);
35
+ const enableOnEndReached = useRef(true);
36
36
  let t2;
37
- if ($[4] !== itemsCount || $[5] !== onEndReached || $[6] !== onEndReachedThreshold) {
38
- t2 = {
39
- elementRef: rootElementRef,
40
- onEndReached,
41
- onEndReachedThreshold,
42
- itemsCount
37
+ if ($[4] !== onEndReached || $[5] !== onEndReachedThreshold) {
38
+ t2 = async () => {
39
+ const element = rootElementRef.current;
40
+ if (element && onEndReached) {
41
+ const {
42
+ scrollTop,
43
+ scrollHeight,
44
+ clientHeight
45
+ } = element;
46
+ const scrollOffset = scrollHeight - clientHeight - scrollTop - 1;
47
+ const threshold = getCurrentThreshold(element, onEndReachedThreshold);
48
+ if (scrollOffset <= threshold && enableOnEndReached.current) {
49
+ enableOnEndReached.current = false;
50
+ await new Promise((resolve) => {
51
+ resolve(onEndReached());
52
+ });
53
+ lastScrollHeight.current = scrollHeight;
54
+ }
55
+ }
43
56
  };
44
- $[4] = itemsCount;
45
- $[5] = onEndReached;
46
- $[6] = onEndReachedThreshold;
47
- $[7] = t2;
57
+ $[4] = onEndReached;
58
+ $[5] = onEndReachedThreshold;
59
+ $[6] = t2;
48
60
  } else {
49
- t2 = $[7];
61
+ t2 = $[6];
50
62
  }
51
- useScrollEndReached(t2);
63
+ const onScrollEndReached = t2;
64
+ let t3;
65
+ if ($[7] !== onEndReached || $[8] !== onScrollEndReached) {
66
+ t3 = () => {
67
+ let observer;
68
+ if (rootElementRef?.current && onEndReached) {
69
+ observer = new ResizeObserver(() => {
70
+ const currentElement = rootElementRef.current;
71
+ if (currentElement) {
72
+ const {
73
+ scrollHeight: scrollHeight_0
74
+ } = currentElement;
75
+ if (scrollHeight_0 && scrollHeight_0 !== lastScrollHeight.current) {
76
+ enableOnEndReached.current = true;
77
+ observer?.disconnect();
78
+ }
79
+ }
80
+ });
81
+ observer.observe(rootElementRef.current);
82
+ rootElementRef.current.addEventListener("scroll", onScrollEndReached);
83
+ rootElementRef.current.addEventListener("resize", onScrollEndReached);
84
+ }
85
+ return () => {
86
+ rootElementRef.current?.removeEventListener("scroll", onScrollEndReached);
87
+ rootElementRef.current?.removeEventListener("resize", onScrollEndReached);
88
+ observer?.disconnect();
89
+ };
90
+ };
91
+ $[7] = onEndReached;
92
+ $[8] = onScrollEndReached;
93
+ $[9] = t3;
94
+ } else {
95
+ t3 = $[9];
96
+ }
97
+ let t4;
98
+ if ($[10] !== onScrollEndReached) {
99
+ t4 = [onScrollEndReached];
100
+ $[10] = onScrollEndReached;
101
+ $[11] = t4;
102
+ } else {
103
+ t4 = $[11];
104
+ }
105
+ useEffect(t3, t4);
52
106
  if (!opened) {
53
107
  return null;
54
108
  }
55
- let t3;
56
- if ($[8] !== children || $[9] !== customClass || $[10] !== hideContent || $[11] !== opened || $[12] !== rest) {
57
- t3 = hideContent ? /* @__PURE__ */ jsx(NoPermission, {}) : /* @__PURE__ */ jsx("div", { ref: rootElementRef, className: `panel-content ${customClass ?? ""}`, ...rest, children: opened && children });
58
- $[8] = children;
59
- $[9] = customClass;
60
- $[10] = hideContent;
61
- $[11] = opened;
62
- $[12] = rest;
63
- $[13] = t3;
109
+ let t5;
110
+ if ($[12] !== children || $[13] !== customClass || $[14] !== hideContent || $[15] !== opened || $[16] !== rest) {
111
+ t5 = hideContent ? /* @__PURE__ */ jsx(NoPermission, {}) : /* @__PURE__ */ jsx("div", { ref: rootElementRef, className: `panel-content ${customClass ?? ""}`, ...rest, children: opened && children });
112
+ $[12] = children;
113
+ $[13] = customClass;
114
+ $[14] = hideContent;
115
+ $[15] = opened;
116
+ $[16] = rest;
117
+ $[17] = t5;
64
118
  } else {
65
- t3 = $[13];
119
+ t5 = $[17];
66
120
  }
67
- return t3;
121
+ return t5;
68
122
  };
69
123
  export {
70
124
  PanelContent as default
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sources":["../../src/lib/panel/Content.tsx"],"sourcesContent":["import { useContext, useRef } from 'react';\nimport PanelContext from './helpers';\nimport NoPermission from '../noPermission';\nimport { IPanelContentProps } from './types';\nimport { useScrollEndReached } from '../hooks/useScrollEndReached';\n\nconst PanelContent = ({ customClass, children, ...rest }: IPanelContentProps) => {\n const {\n opened, onEndReached, onEndReachedThreshold = 0.1, itemsCount, hideContent,\n } = useContext(PanelContext);\n const rootElementRef = useRef<HTMLDivElement>(null);\n \n useScrollEndReached({\n elementRef: rootElementRef,\n onEndReached,\n onEndReachedThreshold,\n itemsCount,\n });\n\n if (!opened) return null;\n return (\n hideContent\n ? (\n <NoPermission />\n )\n : (\n <div\n ref={rootElementRef}\n className={`panel-content ${customClass ?? ''}`}\n {...rest}>\n {opened && children}\n </div>\n )\n );\n};\n\nexport default PanelContent;\n"],"names":["PanelContent","t0","$","_c","children","customClass","rest","opened","onEndReached","onEndReachedThreshold","t1","itemsCount","hideContent","useContext","PanelContext","undefined","rootElementRef","useRef","t2","elementRef","useScrollEndReached","t3"],"mappings":";;;;;;AAMA,MAAMA,eAAeC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,uBAAAA,EAAA,EAAA;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAJ,SAAAD,IAAA;AAAC,KAAA;AAAA,MAAAI;AAAAA,MAAAD;AAAAA,MAAA,GAAAE;AAAAA,IAAAA,IAAAL;AAAsDC,WAAAD;AAAAC,WAAAE;AAAAF,WAAAG;AAAAH,WAAAI;AAAAA,EAAA,OAAA;AAAAF,eAAAF,EAAA,CAAA;AAAAG,kBAAAH,EAAA,CAAA;AAAAI,WAAAJ,EAAA,CAAA;AAAA,EAAA;AAC1E,QAAA;AAAA,IAAAK;AAAAA,IAAAC;AAAAA,IAAAC,uBAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAEIC,WAAWC,YAAY;AADH,QAAAL,wBAAAC,OAAAK,SAAA,MAAAL;AAExB,QAAAM,iBAAuBC,OAAuB,IAAI;AAAE,MAAAC;AAAA,MAAAhB,EAAA,CAAA,MAAAS,cAAAT,SAAAM,gBAAAN,EAAA,CAAA,MAAAO,uBAAA;AAEhCS,SAAA;AAAA,MAAAC,YACNH;AAAAA,MAAcR;AAAAA,MAAAC;AAAAA,MAAAE;AAAAA,IAAAA;AAI3BT,WAAAS;AAAAT,WAAAM;AAAAN,WAAAO;AAAAP,WAAAgB;AAAAA,EAAA,OAAA;AAAAA,SAAAhB,EAAA,CAAA;AAAA,EAAA;AALDkB,sBAAoBF,EAKnB;AAED,MAAI,CAACX,QAAM;AAAA,WAAS;AAAA,EAAI;AAAC,MAAAc;AAAA,MAAAnB,EAAA,CAAA,MAAAE,YAAAF,EAAA,CAAA,MAAAG,eAAAH,EAAA,EAAA,MAAAU,eAAAV,EAAA,EAAA,MAAAK,UAAAL,UAAAI,MAAA;AAEvBe,SAAAT,cAEI,oBAAC,cAAA,CAAA,CAAY,IAGb,oBAAA,SACOI,KAAAA,gBACM,WAAA,iBAAiBX,eAAA,EAAiB,OACzCC,MACHC,oBAAAH,UACH;AACCF,WAAAE;AAAAF,WAAAG;AAAAH,YAAAU;AAAAV,YAAAK;AAAAL,YAAAI;AAAAJ,YAAAmB;AAAAA,EAAA,OAAA;AAAAA,SAAAnB,EAAA,EAAA;AAAA,EAAA;AAAA,SAXLmB;AAWK;"}
1
+ {"version":3,"file":"Content.js","sources":["../../src/lib/panel/Content.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react';\nimport PanelContext, { getCurrentThreshold } from './helpers';\nimport NoPermission from '../noPermission';\nimport { IPanelContentProps } from './types';\n\nconst PanelContent = ({ customClass, children, ...rest }: IPanelContentProps) => {\n const {\n opened, onEndReached, onEndReachedThreshold = 0.1, hideContent,\n } = useContext(PanelContext);\n const rootElementRef = useRef<HTMLDivElement>(null);\n const lastScrollHeight = useRef(0);\n const enableOnEndReached = useRef(true);\n\n const onScrollEndReached = useCallback(async () => {\n const element = rootElementRef.current;\n\n if (element && onEndReached) {\n const { scrollTop, scrollHeight, clientHeight } = element;\n const scrollOffset = scrollHeight - clientHeight - scrollTop - 1;\n const threshold = getCurrentThreshold(element, onEndReachedThreshold);\n\n if (scrollOffset <= threshold && enableOnEndReached.current) {\n enableOnEndReached.current = false;\n await new Promise((resolve) => {\n resolve(onEndReached());\n });\n lastScrollHeight.current = scrollHeight;\n }\n }\n }, [\n onEndReached, onEndReachedThreshold,\n rootElementRef.current, lastScrollHeight.current,\n ]);\n\n useEffect(() => {\n let observer: ResizeObserver | null;\n if (rootElementRef?.current && onEndReached) {\n observer = new ResizeObserver(() => {\n const currentElement = rootElementRef.current;\n if (currentElement) {\n const { scrollHeight } = currentElement as HTMLDivElement;\n if (scrollHeight && scrollHeight !== lastScrollHeight.current) {\n enableOnEndReached.current = true;\n observer?.disconnect();\n }\n }\n });\n\n observer.observe(rootElementRef.current);\n rootElementRef.current.addEventListener('scroll', onScrollEndReached);\n rootElementRef.current.addEventListener('resize', onScrollEndReached);\n }\n\n return () => {\n rootElementRef.current?.removeEventListener('scroll', onScrollEndReached);\n rootElementRef.current?.removeEventListener('resize', onScrollEndReached);\n observer?.disconnect();\n };\n }, [onScrollEndReached]);\n\n if (!opened) return null;\n return (\n hideContent\n ? (\n <NoPermission />\n )\n : (\n <div\n ref={rootElementRef}\n className={`panel-content ${customClass ?? ''}`}\n {...rest}>\n {opened && children}\n </div>\n )\n );\n};\n\nexport default PanelContent;\n"],"names":["PanelContent","t0","$","_c","children","customClass","rest","opened","onEndReached","onEndReachedThreshold","t1","hideContent","useContext","PanelContext","undefined","rootElementRef","useRef","lastScrollHeight","enableOnEndReached","t2","element","current","scrollTop","scrollHeight","clientHeight","scrollOffset","threshold","getCurrentThreshold","Promise","resolve","onScrollEndReached","t3","observer","ResizeObserver","currentElement","scrollHeight_0","disconnect","observe","addEventListener","removeEventListener","t4","useEffect","t5"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { IPanelProps } from './types';
2
- declare const DefaultPanel: ({ startOpened, toggleable, customClass, children, title, gridCols, onEndReached, onEndReachedThreshold, itemsCount, permissionAttr, colorStyle, ...rest }: IPanelProps) => import("react/jsx-runtime").JSX.Element | null;
2
+ declare const DefaultPanel: ({ startOpened, toggleable, customClass, children, title, gridCols, onEndReached, onEndReachedThreshold, permissionAttr, colorStyle, ...rest }: IPanelProps) => import("react/jsx-runtime").JSX.Element | null;
3
3
  export default DefaultPanel;
@@ -6,12 +6,11 @@ import PanelHeader from "./Header.js";
6
6
  import PanelContext from "./helpers.js";
7
7
  import { OPTIONS_ON_DENIED, actionsOnPermissionDenied } from "../permissionValidations.js";
8
8
  const DefaultPanel = (t0) => {
9
- const $ = compilerRuntimeExports.c(39);
9
+ const $ = compilerRuntimeExports.c(37);
10
10
  let children;
11
11
  let colorStyle;
12
12
  let customClass;
13
13
  let gridCols;
14
- let itemsCount;
15
14
  let onEndReached;
16
15
  let permissionAttr;
17
16
  let rest;
@@ -29,7 +28,6 @@ const DefaultPanel = (t0) => {
29
28
  gridCols,
30
29
  onEndReached,
31
30
  onEndReachedThreshold: t2,
32
- itemsCount,
33
31
  permissionAttr,
34
32
  colorStyle,
35
33
  ...rest
@@ -39,27 +37,25 @@ const DefaultPanel = (t0) => {
39
37
  $[2] = colorStyle;
40
38
  $[3] = customClass;
41
39
  $[4] = gridCols;
42
- $[5] = itemsCount;
43
- $[6] = onEndReached;
44
- $[7] = permissionAttr;
45
- $[8] = rest;
46
- $[9] = t1;
47
- $[10] = t2;
48
- $[11] = title;
49
- $[12] = toggleable;
40
+ $[5] = onEndReached;
41
+ $[6] = permissionAttr;
42
+ $[7] = rest;
43
+ $[8] = t1;
44
+ $[9] = t2;
45
+ $[10] = title;
46
+ $[11] = toggleable;
50
47
  } else {
51
48
  children = $[1];
52
49
  colorStyle = $[2];
53
50
  customClass = $[3];
54
51
  gridCols = $[4];
55
- itemsCount = $[5];
56
- onEndReached = $[6];
57
- permissionAttr = $[7];
58
- rest = $[8];
59
- t1 = $[9];
60
- t2 = $[10];
61
- title = $[11];
62
- toggleable = $[12];
52
+ onEndReached = $[5];
53
+ permissionAttr = $[6];
54
+ rest = $[7];
55
+ t1 = $[8];
56
+ t2 = $[9];
57
+ title = $[10];
58
+ toggleable = $[11];
63
59
  }
64
60
  const startOpened = t1 === void 0 ? true : t1;
65
61
  const onEndReachedThreshold = t2 === void 0 ? 0.1 : t2;
@@ -69,45 +65,45 @@ const DefaultPanel = (t0) => {
69
65
  unvisible
70
66
  } = OPTIONS_ON_DENIED;
71
67
  let t3;
72
- if ($[13] !== permissionAttr) {
68
+ if ($[12] !== permissionAttr) {
73
69
  t3 = actionsOnPermissionDenied([hideContent, unvisible], permissionAttr);
74
- $[13] = permissionAttr;
75
- $[14] = t3;
70
+ $[12] = permissionAttr;
71
+ $[13] = t3;
76
72
  } else {
77
- t3 = $[14];
73
+ t3 = $[13];
78
74
  }
79
75
  const [onDenied] = useState(t3);
80
76
  let t4;
81
- if ($[15] !== colorStyle || $[16] !== customClass) {
77
+ if ($[14] !== colorStyle || $[15] !== customClass) {
82
78
  t4 = () => {
83
79
  let cssClass = `panel-component ${customClass}`;
84
80
  cssClass = cssClass + (colorStyle !== "" ? ` -${colorStyle}` : "");
85
81
  return cssClass;
86
82
  };
87
- $[15] = colorStyle;
88
- $[16] = customClass;
89
- $[17] = t4;
83
+ $[14] = colorStyle;
84
+ $[15] = customClass;
85
+ $[16] = t4;
90
86
  } else {
91
- t4 = $[17];
87
+ t4 = $[16];
92
88
  }
93
89
  const getCssClass = t4;
94
90
  let t5;
95
- if ($[18] !== children || $[19] !== getCssClass || $[20] !== rest || $[21] !== title) {
91
+ if ($[17] !== children || $[18] !== getCssClass || $[19] !== rest || $[20] !== title) {
96
92
  t5 = () => /* @__PURE__ */ jsxs("div", { className: getCssClass(), ...rest, children: [
97
93
  title && /* @__PURE__ */ jsx(PanelHeader, { title }),
98
94
  children
99
95
  ] });
100
- $[18] = children;
101
- $[19] = getCssClass;
102
- $[20] = rest;
103
- $[21] = title;
104
- $[22] = t5;
96
+ $[17] = children;
97
+ $[18] = getCssClass;
98
+ $[19] = rest;
99
+ $[20] = title;
100
+ $[21] = t5;
105
101
  } else {
106
- t5 = $[22];
102
+ t5 = $[21];
107
103
  }
108
104
  const renderContent = t5;
109
105
  let t6;
110
- if ($[23] !== itemsCount || $[24] !== onDenied.hideContent || $[25] !== onDenied.unvisible || $[26] !== onEndReached || $[27] !== onEndReachedThreshold || $[28] !== opened || $[29] !== toggleable) {
106
+ if ($[22] !== onDenied.hideContent || $[23] !== onDenied.unvisible || $[24] !== onEndReached || $[25] !== onEndReachedThreshold || $[26] !== opened || $[27] !== toggleable) {
111
107
  t6 = () => ({
112
108
  toggleable,
113
109
  handlerToggleable: () => {
@@ -116,50 +112,48 @@ const DefaultPanel = (t0) => {
116
112
  opened,
117
113
  onEndReached,
118
114
  onEndReachedThreshold,
119
- itemsCount,
120
115
  hideContent: onDenied.hideContent,
121
116
  unvisible: onDenied.unvisible
122
117
  });
123
- $[23] = itemsCount;
124
- $[24] = onDenied.hideContent;
125
- $[25] = onDenied.unvisible;
126
- $[26] = onEndReached;
127
- $[27] = onEndReachedThreshold;
128
- $[28] = opened;
129
- $[29] = toggleable;
130
- $[30] = t6;
118
+ $[22] = onDenied.hideContent;
119
+ $[23] = onDenied.unvisible;
120
+ $[24] = onEndReached;
121
+ $[25] = onEndReachedThreshold;
122
+ $[26] = opened;
123
+ $[27] = toggleable;
124
+ $[28] = t6;
131
125
  } else {
132
- t6 = $[30];
126
+ t6 = $[28];
133
127
  }
134
128
  const contextValues = t6;
135
129
  if (onDenied.unvisible) {
136
130
  return null;
137
131
  }
138
132
  let t7;
139
- if ($[31] !== contextValues) {
133
+ if ($[29] !== contextValues) {
140
134
  t7 = contextValues();
141
- $[31] = contextValues;
142
- $[32] = t7;
135
+ $[29] = contextValues;
136
+ $[30] = t7;
143
137
  } else {
144
- t7 = $[32];
138
+ t7 = $[30];
145
139
  }
146
140
  let t8;
147
- if ($[33] !== gridCols || $[34] !== renderContent) {
141
+ if ($[31] !== gridCols || $[32] !== renderContent) {
148
142
  t8 = gridCols ? /* @__PURE__ */ jsx(GridCol, { cols: gridCols, children: renderContent() }) : renderContent();
149
- $[33] = gridCols;
150
- $[34] = renderContent;
151
- $[35] = t8;
143
+ $[31] = gridCols;
144
+ $[32] = renderContent;
145
+ $[33] = t8;
152
146
  } else {
153
- t8 = $[35];
147
+ t8 = $[33];
154
148
  }
155
149
  let t9;
156
- if ($[36] !== t7 || $[37] !== t8) {
150
+ if ($[34] !== t7 || $[35] !== t8) {
157
151
  t9 = /* @__PURE__ */ jsx(PanelContext.Provider, { value: t7, children: t8 });
158
- $[36] = t7;
159
- $[37] = t8;
160
- $[38] = t9;
152
+ $[34] = t7;
153
+ $[35] = t8;
154
+ $[36] = t9;
161
155
  } else {
162
- t9 = $[38];
156
+ t9 = $[36];
163
157
  }
164
158
  return t9;
165
159
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Default.js","sources":["../../src/lib/panel/Default.tsx"],"sourcesContent":["import { useState } from 'react';\nimport Grid from '../gridlayout';\nimport Header from './Header';\nimport PanelContext from './helpers';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport { IPanelProps, ContextProps } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\n\nconst DefaultPanel = ({\n startOpened = true, toggleable, customClass, children, title, gridCols, onEndReached,\n onEndReachedThreshold = 0.1, itemsCount, permissionAttr, colorStyle, ...rest\n}: IPanelProps) => {\n const [opened, setOpened] = useState(startOpened);\n const { hideContent, unvisible } = OPTIONS_ON_DENIED;\n const [onDenied] =\n useState<OnDenied>(actionsOnPermissionDenied([hideContent, unvisible], permissionAttr));\n\n const getCssClass = () => {\n let cssClass = `panel-component ${customClass}`;\n cssClass += colorStyle !== '' ? ` -${colorStyle}` : '';\n return cssClass;\n };\n\n const renderContent = () => (\n <div className={getCssClass()} {...rest}>\n {title && <Header title={title} />}\n {children}\n </div>\n );\n\n const contextValues = () => ({\n toggleable,\n handlerToggleable: () => { setOpened(!opened); },\n opened,\n onEndReached,\n onEndReachedThreshold,\n itemsCount,\n hideContent: onDenied.hideContent,\n unvisible: onDenied.unvisible,\n }) as ContextProps;\n\n if (onDenied.unvisible) return null;\n\n return (\n <PanelContext.Provider value={contextValues()}>\n { gridCols\n ? (\n <Grid cols={gridCols}>{renderContent()}</Grid>\n )\n : (\n renderContent()\n )}\n </PanelContext.Provider>\n );\n};\n\nexport default DefaultPanel;\n"],"names":["DefaultPanel","t0","$","_c","children","colorStyle","customClass","gridCols","itemsCount","onEndReached","permissionAttr","rest","t1","t2","title","toggleable","startOpened","onEndReachedThreshold","undefined","opened","setOpened","useState","hideContent","unvisible","OPTIONS_ON_DENIED","t3","actionsOnPermissionDenied","onDenied","t4","cssClass","getCssClass","t5","Header","renderContent","t6","handlerToggleable","contextValues","t7","t8","Grid","t9"],"mappings":"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"}
1
+ {"version":3,"file":"Default.js","sources":["../../src/lib/panel/Default.tsx"],"sourcesContent":["import { useState } from 'react';\nimport Grid from '../gridlayout';\nimport Header from './Header';\nimport PanelContext from './helpers';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport { IPanelProps, ContextProps } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\n\nconst DefaultPanel = ({\n startOpened = true, toggleable, customClass, children, title, gridCols, onEndReached,\n onEndReachedThreshold = 0.1, permissionAttr, colorStyle, ...rest\n}: IPanelProps) => {\n const [opened, setOpened] = useState(startOpened);\n const { hideContent, unvisible } = OPTIONS_ON_DENIED;\n const [onDenied] =\n useState<OnDenied>(actionsOnPermissionDenied([hideContent, unvisible], permissionAttr));\n\n const getCssClass = () => {\n let cssClass = `panel-component ${customClass}`;\n cssClass += colorStyle !== '' ? ` -${colorStyle}` : '';\n return cssClass;\n };\n\n const renderContent = () => (\n <div className={getCssClass()} {...rest}>\n {title && <Header title={title} />}\n {children}\n </div>\n );\n\n const contextValues = () => ({\n toggleable,\n handlerToggleable: () => { setOpened(!opened); },\n opened,\n onEndReached,\n onEndReachedThreshold,\n hideContent: onDenied.hideContent,\n unvisible: onDenied.unvisible,\n }) as ContextProps;\n\n if (onDenied.unvisible) return null;\n\n return (\n <PanelContext.Provider value={contextValues()}>\n { gridCols\n ? (\n <Grid cols={gridCols}>{renderContent()}</Grid>\n )\n : (\n renderContent()\n )}\n </PanelContext.Provider>\n );\n};\n\nexport default DefaultPanel;\n"],"names":["DefaultPanel","t0","$","_c","children","colorStyle","customClass","gridCols","onEndReached","permissionAttr","rest","t1","t2","title","toggleable","startOpened","onEndReachedThreshold","undefined","opened","setOpened","useState","hideContent","unvisible","OPTIONS_ON_DENIED","t3","actionsOnPermissionDenied","onDenied","t4","cssClass","getCssClass","t5","Header","renderContent","t6","handlerToggleable","contextValues","t7","t8","Grid","t9"],"mappings":"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"}
@@ -1,6 +1,21 @@
1
1
  import { createContext } from "react";
2
+ function getCurrentThreshold(scrollableElement, scrollThreshold) {
3
+ const MIN_THRESHOLD = 0;
4
+ const MAX_THRESHOLD = 1;
5
+ if (scrollThreshold < MIN_THRESHOLD) return MIN_THRESHOLD;
6
+ if (scrollThreshold > MAX_THRESHOLD) return MAX_THRESHOLD;
7
+ const {
8
+ scrollHeight,
9
+ clientHeight
10
+ } = scrollableElement;
11
+ const offsetHeight = scrollHeight - clientHeight;
12
+ const calculatedScrollThreshold = Math.round(scrollHeight * scrollThreshold);
13
+ const maxScrollThreshold = Math.round(offsetHeight - offsetHeight * 0.3);
14
+ return Math.min(calculatedScrollThreshold, maxScrollThreshold);
15
+ }
2
16
  const PanelContext = createContext({});
3
17
  export {
4
- PanelContext as default
18
+ PanelContext as default,
19
+ getCurrentThreshold
5
20
  };
6
21
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/lib/panel/helpers.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { ContextProps } from './types';\n\nexport function getCurrentThreshold(\n scrollableElement: HTMLDivElement,\n scrollThreshold: number,\n): number {\n const MIN_THRESHOLD = 0;\n const MAX_THRESHOLD = 1;\n if (scrollThreshold < MIN_THRESHOLD) return MIN_THRESHOLD;\n if (scrollThreshold > MAX_THRESHOLD) return MAX_THRESHOLD;\n const { scrollHeight, clientHeight } = scrollableElement;\n const offsetHeight = scrollHeight - clientHeight;\n\n const calculatedScrollThreshold = Math.round(scrollHeight * scrollThreshold);\n const maxScrollThreshold = Math.round(offsetHeight - (offsetHeight * 0.3));\n\n return Math.min(calculatedScrollThreshold, maxScrollThreshold);\n}\n\nconst PanelContext = createContext<ContextProps>({} as ContextProps);\n\nexport default PanelContext;\n"],"names":["PanelContext","createContext"],"mappings":";AAoBA,MAAMA,eAAeC,cAA4B,CAAA,CAAkB;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/lib/panel/helpers.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { ContextProps } from './types';\n\nexport function getCurrentThreshold(\n scrollableElement: HTMLDivElement,\n scrollThreshold: number,\n): number {\n const MIN_THRESHOLD = 0;\n const MAX_THRESHOLD = 1;\n if (scrollThreshold < MIN_THRESHOLD) return MIN_THRESHOLD;\n if (scrollThreshold > MAX_THRESHOLD) return MAX_THRESHOLD;\n const { scrollHeight, clientHeight } = scrollableElement;\n const offsetHeight = scrollHeight - clientHeight;\n\n const calculatedScrollThreshold = Math.round(scrollHeight * scrollThreshold);\n const maxScrollThreshold = Math.round(offsetHeight - (offsetHeight * 0.3));\n\n return Math.min(calculatedScrollThreshold, maxScrollThreshold);\n}\n\nconst PanelContext = createContext<ContextProps>({} as ContextProps);\n\nexport default PanelContext;\n"],"names":["getCurrentThreshold","scrollableElement","scrollThreshold","MIN_THRESHOLD","MAX_THRESHOLD","scrollHeight","clientHeight","offsetHeight","calculatedScrollThreshold","Math","round","maxScrollThreshold","min","PanelContext","createContext"],"mappings":";AAGO,SAASA,oBACdC,mBACAC,iBACQ;AACR,QAAMC,gBAAgB;AACtB,QAAMC,gBAAgB;AACtB,MAAIF,kBAAkBC,cAAe,QAAOA;AAC5C,MAAID,kBAAkBE,cAAe,QAAOA;AAC5C,QAAM;AAAA,IAAEC;AAAAA,IAAcC;AAAAA,EAAAA,IAAiBL;AACvC,QAAMM,eAAeF,eAAeC;AAEpC,QAAME,4BAA4BC,KAAKC,MAAML,eAAeH,eAAe;AAC3E,QAAMS,qBAAqBF,KAAKC,MAAMH,eAAgBA,eAAe,GAAI;AAEzE,SAAOE,KAAKG,IAAIJ,2BAA2BG,kBAAkB;AAC/D;AAEA,MAAME,eAAeC,cAA4B,CAAA,CAAkB;"}
@@ -2,10 +2,9 @@ import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
2
2
  import { PermissionAttr } from '../@types/PermissionAttr';
3
3
  import { default as ColorStyles } from '../internals/colorStyles';
4
4
  import { IconNames } from '../@types/Icon';
5
- import { UseScrollEndReachedParams } from '../hooks/useScrollEndReached/types';
6
5
  export type Func = () => void;
7
6
  export type AsyncFunc = () => Promise<void>;
8
- export interface IPanelProps extends Omit<ComponentPropsWithoutRef<'div'>, 'className'>, UseScrollEndReachedParams {
7
+ export interface IPanelProps extends Omit<ComponentPropsWithoutRef<'div'>, 'className'> {
9
8
  customClass?: string;
10
9
  startOpened?: boolean;
11
10
  toggleable?: boolean;
@@ -13,6 +12,8 @@ export interface IPanelProps extends Omit<ComponentPropsWithoutRef<'div'>, 'clas
13
12
  colorStyle?: typeof ColorStyles | string;
14
13
  gridCols?: string;
15
14
  title?: string;
15
+ onEndReached?: Func | AsyncFunc;
16
+ onEndReachedThreshold?: number;
16
17
  permissionAttr?: PermissionAttr | PermissionAttr[];
17
18
  }
18
19
  export interface IPanelContentProps extends Omit<ComponentPropsWithoutRef<'div'>, 'className'> {
@@ -27,11 +28,13 @@ export interface IPanelHeaderProps extends Omit<ComponentPropsWithoutRef<'div'>,
27
28
  customClassForTitle?: string;
28
29
  headerColored?: boolean;
29
30
  }
30
- export type ContextProps = UseScrollEndReachedParams & {
31
+ export type ContextProps = {
31
32
  toggleable: boolean;
32
33
  handlerToggleable: () => void;
33
34
  opened: boolean;
34
35
  hideContent: boolean;
36
+ onEndReached?: Func | AsyncFunc;
37
+ onEndReachedThreshold: number;
35
38
  };
36
39
  export interface IParameterFunction {
37
40
  props: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "2.2.0-beta.10",
3
+ "version": "2.2.0-beta.11",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -1,8 +0,0 @@
1
- import { AsyncFunc, Func, UseScrollEndReachedParams } from './types';
2
- export interface ScrollEndReachedParams extends UseScrollEndReachedParams {
3
- elementRef: React.RefObject<HTMLElement | null>;
4
- onEndReached?: Func | AsyncFunc;
5
- onEndReachedThreshold?: number;
6
- }
7
- export declare function getCurrentThreshold(scrollableElement: HTMLElement, scrollThreshold: number): number;
8
- export declare function useScrollEndReached({ elementRef, onEndReached, onEndReachedThreshold, itemsCount, }: ScrollEndReachedParams): void;
@@ -1,69 +0,0 @@
1
- import { useRef, useEffect } from "react";
2
- function getCurrentThreshold(scrollableElement, scrollThreshold) {
3
- const MIN_THRESHOLD = 0;
4
- const MAX_THRESHOLD = 1;
5
- if (scrollThreshold < MIN_THRESHOLD) return MIN_THRESHOLD;
6
- if (scrollThreshold > MAX_THRESHOLD) return MAX_THRESHOLD;
7
- const {
8
- scrollHeight,
9
- clientHeight
10
- } = scrollableElement;
11
- const scrollableHeight = Math.max(scrollHeight - clientHeight, 0);
12
- const thresholdBase = Math.min(clientHeight, scrollableHeight);
13
- return Math.round(thresholdBase * scrollThreshold);
14
- }
15
- function useScrollEndReached({
16
- elementRef,
17
- onEndReached,
18
- onEndReachedThreshold = 0.25,
19
- itemsCount
20
- }) {
21
- const lastScrollTop = useRef(null);
22
- const enableOnEndReached = useRef(true);
23
- const lastItemsCount = useRef(itemsCount);
24
- const waitingForItems = useRef(false);
25
- useEffect(() => {
26
- if (itemsCount !== void 0 && lastItemsCount.current !== itemsCount) {
27
- lastItemsCount.current = itemsCount;
28
- waitingForItems.current = false;
29
- enableOnEndReached.current = true;
30
- }
31
- }, [itemsCount]);
32
- const onScrollEndReached = async () => {
33
- const element = elementRef.current;
34
- if (element && onEndReached) {
35
- const {
36
- scrollTop,
37
- scrollHeight,
38
- clientHeight
39
- } = element;
40
- const isScrollingDown = lastScrollTop.current === null || scrollTop > lastScrollTop.current;
41
- lastScrollTop.current = scrollTop;
42
- const scrollOffset = scrollHeight - clientHeight - scrollTop - 1;
43
- const threshold = getCurrentThreshold(element, onEndReachedThreshold);
44
- if (scrollOffset <= threshold && isScrollingDown && enableOnEndReached.current && !waitingForItems.current) {
45
- enableOnEndReached.current = false;
46
- waitingForItems.current = itemsCount !== void 0;
47
- try {
48
- await onEndReached();
49
- } finally {
50
- enableOnEndReached.current = itemsCount === void 0;
51
- }
52
- }
53
- }
54
- };
55
- useEffect(() => {
56
- const element_0 = elementRef.current;
57
- if (element_0 && onEndReached) {
58
- element_0.addEventListener("scroll", onScrollEndReached);
59
- }
60
- return () => {
61
- element_0?.removeEventListener("scroll", onScrollEndReached);
62
- };
63
- }, [onEndReached, onEndReachedThreshold]);
64
- }
65
- export {
66
- getCurrentThreshold,
67
- useScrollEndReached
68
- };
69
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/hooks/useScrollEndReached/index.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { AsyncFunc, Func, UseScrollEndReachedParams } from \"./types\";\n\nexport interface ScrollEndReachedParams extends UseScrollEndReachedParams {\n elementRef: React.RefObject<HTMLElement | null>;\n onEndReached?: Func | AsyncFunc;\n onEndReachedThreshold?: number;\n}\n\nexport function getCurrentThreshold(\n scrollableElement: HTMLElement,\n scrollThreshold: number,\n): number {\n const MIN_THRESHOLD = 0;\n const MAX_THRESHOLD = 1;\n if (scrollThreshold < MIN_THRESHOLD) return MIN_THRESHOLD;\n if (scrollThreshold > MAX_THRESHOLD) return MAX_THRESHOLD;\n const { scrollHeight, clientHeight } = scrollableElement;\n const scrollableHeight = Math.max(scrollHeight - clientHeight, 0);\n const thresholdBase = Math.min(clientHeight, scrollableHeight);\n\n return Math.round(thresholdBase * scrollThreshold);\n}\n\nexport function useScrollEndReached({\n elementRef,\n onEndReached,\n onEndReachedThreshold = 0.25,\n itemsCount,\n}: ScrollEndReachedParams) {\n const lastScrollTop = useRef<number | null>(null);\n const enableOnEndReached = useRef(true);\n const lastItemsCount = useRef<number | undefined>(itemsCount);\n const waitingForItems = useRef(false);\n\n useEffect(() => {\n if (itemsCount !== undefined && lastItemsCount.current !== itemsCount) {\n lastItemsCount.current = itemsCount;\n waitingForItems.current = false;\n enableOnEndReached.current = true;\n }\n }, [itemsCount]);\n\n const onScrollEndReached = async () => {\n const element = elementRef.current;\n\n if (element && onEndReached) {\n const { scrollTop, scrollHeight, clientHeight } = element;\n const isScrollingDown =\n lastScrollTop.current === null || scrollTop > lastScrollTop.current;\n lastScrollTop.current = scrollTop;\n const scrollOffset = scrollHeight - clientHeight - scrollTop - 1;\n const threshold = getCurrentThreshold(element, onEndReachedThreshold);\n\n if (\n scrollOffset <= threshold &&\n isScrollingDown &&\n enableOnEndReached.current &&\n !waitingForItems.current\n ) {\n enableOnEndReached.current = false;\n waitingForItems.current = itemsCount !== undefined;\n try {\n await onEndReached();\n } finally {\n enableOnEndReached.current = itemsCount === undefined;\n }\n }\n }\n };\n\n useEffect(() => {\n const element = elementRef.current;\n if (element && onEndReached) {\n element.addEventListener('scroll', onScrollEndReached);\n }\n\n return () => {\n element?.removeEventListener('scroll', onScrollEndReached);\n };\n }, [onEndReached, onEndReachedThreshold]);\n}\n"],"names":["getCurrentThreshold","scrollableElement","scrollThreshold","MIN_THRESHOLD","MAX_THRESHOLD","scrollHeight","clientHeight","scrollableHeight","Math","max","thresholdBase","min","round","useScrollEndReached","elementRef","onEndReached","onEndReachedThreshold","itemsCount","lastScrollTop","useRef","enableOnEndReached","lastItemsCount","waitingForItems","useEffect","undefined","current","onScrollEndReached","element","scrollTop","isScrollingDown","scrollOffset","threshold","addEventListener","removeEventListener"],"mappings":";AASO,SAASA,oBACdC,mBACAC,iBACQ;AACR,QAAMC,gBAAgB;AACtB,QAAMC,gBAAgB;AACtB,MAAIF,kBAAkBC,cAAe,QAAOA;AAC5C,MAAID,kBAAkBE,cAAe,QAAOA;AAC5C,QAAM;AAAA,IAAEC;AAAAA,IAAcC;AAAAA,EAAAA,IAAiBL;AACvC,QAAMM,mBAAmBC,KAAKC,IAAIJ,eAAeC,cAAc,CAAC;AAChE,QAAMI,gBAAgBF,KAAKG,IAAIL,cAAcC,gBAAgB;AAE7D,SAAOC,KAAKI,MAAMF,gBAAgBR,eAAe;AACnD;AAEO,SAASW,oBAAoB;AAAA,EAClCC;AAAAA,EACAC;AAAAA,EACAC,wBAAwB;AAAA,EACxBC;AACsB,GAAG;AACzB,QAAMC,gBAAgBC,OAAsB,IAAI;AAChD,QAAMC,qBAAqBD,OAAO,IAAI;AACtC,QAAME,iBAAiBF,OAA2BF,UAAU;AAC5D,QAAMK,kBAAkBH,OAAO,KAAK;AAEpCI,YAAU,MAAM;AACd,QAAIN,eAAeO,UAAaH,eAAeI,YAAYR,YAAY;AACrEI,qBAAeI,UAAUR;AACzBK,sBAAgBG,UAAU;AAC1BL,yBAAmBK,UAAU;AAAA,IAC/B;AAAA,EACF,GAAG,CAACR,UAAU,CAAC;AAEf,QAAMS,qBAAqB,YAAY;AACrC,UAAMC,UAAUb,WAAWW;AAE3B,QAAIE,WAAWZ,cAAc;AAC3B,YAAM;AAAA,QAAEa;AAAAA,QAAWvB;AAAAA,QAAcC;AAAAA,MAAAA,IAAiBqB;AAClD,YAAME,kBACJX,cAAcO,YAAY,QAAQG,YAAYV,cAAcO;AAC9DP,oBAAcO,UAAUG;AACxB,YAAME,eAAezB,eAAeC,eAAesB,YAAY;AAC/D,YAAMG,YAAY/B,oBAAoB2B,SAASX,qBAAqB;AAEpE,UACEc,gBAAgBC,aAChBF,mBACAT,mBAAmBK,WACnB,CAACH,gBAAgBG,SACjB;AACAL,2BAAmBK,UAAU;AAC7BH,wBAAgBG,UAAUR,eAAeO;AACzC,YAAI;AACF,gBAAMT,aAAAA;AAAAA,QACR,UAAA;AACEK,6BAAmBK,UAAUR,eAAeO;AAAAA,QAC9C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEAD,YAAU,MAAM;AACd,UAAMI,YAAUb,WAAWW;AAC3B,QAAIE,aAAWZ,cAAc;AAC3BY,gBAAQK,iBAAiB,UAAUN,kBAAkB;AAAA,IACvD;AAEA,WAAO,MAAM;AACXC,iBAASM,oBAAoB,UAAUP,kBAAkB;AAAA,IAC3D;AAAA,EACF,GAAG,CAACX,cAAcC,qBAAqB,CAAC;AAC1C;"}
@@ -1,7 +0,0 @@
1
- export type Func = () => void;
2
- export type AsyncFunc = () => Promise<void>;
3
- export interface UseScrollEndReachedParams {
4
- onEndReached?: Func | AsyncFunc;
5
- onEndReachedThreshold?: number;
6
- itemsCount?: number;
7
- }
@@ -1,23 +0,0 @@
1
- import { Moment } from 'moment';
2
- import { ReactNode, RefObject } from 'react';
3
- interface CalendarDayState {
4
- isSelected: boolean;
5
- isInRange?: boolean;
6
- isDisabled?: boolean;
7
- }
8
- interface CalendarBoxProps {
9
- testIdPrefix: string;
10
- headerId: string;
11
- calendarBoxOpen: boolean;
12
- activeDescendant: string;
13
- calendarDisplayDate: Moment;
14
- containerRef: RefObject<HTMLDivElement | null>;
15
- onNextMonth: () => void;
16
- onPreviousMonth: () => void;
17
- getDayState: (day: Moment) => CalendarDayState;
18
- onSelectDay: (day: Moment) => void;
19
- children?: ReactNode;
20
- }
21
- declare const CalendarBox: import('react').ForwardRefExoticComponent<CalendarBoxProps & import('react').RefAttributes<HTMLDivElement>>;
22
- export { CalendarBox };
23
- export type { CalendarBoxProps, CalendarDayState };