@qoretechnologies/reqore 0.78.5-pr.708.gd45a15b → 0.78.5

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 (36) hide show
  1. package/dist/components/Dropdown/index.d.ts.map +1 -1
  2. package/dist/components/Dropdown/index.js +3 -1
  3. package/dist/components/Dropdown/index.js.map +1 -1
  4. package/dist/components/Paging/index.d.ts.map +1 -1
  5. package/dist/components/Paging/index.js +17 -17
  6. package/dist/components/Paging/index.js.map +1 -1
  7. package/dist/components/Panel/index.d.ts.map +1 -1
  8. package/dist/components/Panel/index.js +9 -3
  9. package/dist/components/Panel/index.js.map +1 -1
  10. package/dist/components/Popover/index.d.ts +8 -0
  11. package/dist/components/Popover/index.d.ts.map +1 -1
  12. package/dist/components/Popover/index.js +79 -17
  13. package/dist/components/Popover/index.js.map +1 -1
  14. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  15. package/dist/components/SegmentedControl/index.js +3 -1
  16. package/dist/components/SegmentedControl/index.js.map +1 -1
  17. package/dist/components/Tabs/list.d.ts.map +1 -1
  18. package/dist/components/Tabs/list.js +3 -1
  19. package/dist/components/Tabs/list.js.map +1 -1
  20. package/dist/helpers/hoveringPointer.d.ts +8 -2
  21. package/dist/helpers/hoveringPointer.d.ts.map +1 -1
  22. package/dist/helpers/hoveringPointer.js +7 -1
  23. package/dist/helpers/hoveringPointer.js.map +1 -1
  24. package/dist/hooks/useCloneThroughFragments.d.ts.map +1 -1
  25. package/dist/hooks/useCloneThroughFragments.js +39 -33
  26. package/dist/hooks/useCloneThroughFragments.js.map +1 -1
  27. package/dist/hooks/usePaging.d.ts +9 -4
  28. package/dist/hooks/usePaging.d.ts.map +1 -1
  29. package/dist/hooks/usePaging.js +21 -32
  30. package/dist/hooks/usePaging.js.map +1 -1
  31. package/dist/hooks/useReqoreMedia.d.ts +10 -2
  32. package/dist/hooks/useReqoreMedia.d.ts.map +1 -1
  33. package/dist/hooks/useReqoreMedia.js +20 -17
  34. package/dist/hooks/useReqoreMedia.js.map +1 -1
  35. package/package.json +1 -2
  36. package/tests.json +1 -0
@@ -1,4 +1,3 @@
1
- import { usePaginationReturn } from 'react-use-pagination-hook';
2
1
  export interface IReqorePageChangeData {
3
2
  isFirst?: boolean;
4
3
  isLast?: boolean;
@@ -12,7 +11,11 @@ export interface IReqorePagingOptions<T> {
12
11
  enabled?: boolean;
13
12
  onPageChange?: (page: number, info: IReqorePageChangeData) => void;
14
13
  }
15
- export interface IReqorePagingResult<T> extends Pick<usePaginationReturn, 'setPage' | 'currentPage'> {
14
+ export interface IReqorePagingResult<T> {
15
+ /** Opens a page: one outside the list opens the nearest page in it. */
16
+ setPage: (page: number) => void;
17
+ /** The open page: always one of the list's (1 when it has none). */
18
+ currentPage: number;
16
19
  pages: number[];
17
20
  allPages: number[];
18
21
  applyPaging: (items: T[]) => T[];
@@ -21,8 +24,10 @@ export interface IReqorePagingResult<T> extends Pick<usePaginationReturn, 'setPa
21
24
  itemsLeft: number;
22
25
  isLastPage: boolean;
23
26
  isFirstPage: boolean;
24
- next: usePaginationReturn['goNext'];
25
- back: usePaginationReturn['goBefore'];
27
+ /** The next page, or the last one: each call a step, the steps one render takes too. */
28
+ next: () => void;
29
+ /** The page before, or the first one. */
30
+ back: () => void;
26
31
  first: () => void;
27
32
  last: () => void;
28
33
  pageCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"usePaging.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaging.ts"],"names":[],"mappings":"AAGA,OAAsB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,aAAa,CAAC;IAC5D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,GAAG,CAI1D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,UAAS,oBAAoB,CAAC,CAAC,CAAwB,KACtD,mBAAmB,CAAC,CAAC,CAmJvB,CAAC"}
1
+ {"version":3,"file":"usePaging.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaging.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,uEAAuE;IACvE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,wFAAwF;IACxF,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,GAAG,CAI1D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,UAAS,oBAAoB,CAAC,CAAC,CAAwB,KACtD,mBAAmB,CAAC,CAAC,CA4IvB,CAAC"}
@@ -19,15 +19,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
19
  }
20
20
  return to.concat(ar || Array.prototype.slice.call(from));
21
21
  };
22
- var __importDefault = (this && this.__importDefault) || function (mod) {
23
- return (mod && mod.__esModule) ? mod : { "default": mod };
24
- };
25
22
  Object.defineProperty(exports, "__esModule", { value: true });
26
23
  exports.useReqorePaging = exports.defaultPagingOptions = void 0;
27
24
  var lodash_1 = require("lodash");
28
25
  var react_1 = require("react");
29
26
  var react_use_1 = require("react-use");
30
- var react_use_pagination_hook_1 = __importDefault(require("react-use-pagination-hook"));
31
27
  exports.defaultPagingOptions = {
32
28
  items: [],
33
29
  itemsPerPage: 10,
@@ -40,10 +36,22 @@ var useReqorePaging = function (options) {
40
36
  return value !== undefined;
41
37
  }))), items = _a.items, itemsPerPage = _a.itemsPerPage, infinite = _a.infinite, pagesToShow = _a.pagesToShow, startPage = _a.startPage, _b = _a.enabled, enabled = _b === void 0 ? true : _b, onPageChange = _a.onPageChange;
42
38
  var allPageCount = (0, react_1.useMemo)(function () { return Math.ceil((0, lodash_1.size)(items) / itemsPerPage); }, [items, itemsPerPage]);
43
- var _c = (0, react_use_pagination_hook_1.default)({
44
- numOfPage: allPageCount,
45
- totalPage: allPageCount,
46
- }), pagelist = _c.pagelist, currentPage = _c.currentPage, setPage = _c.setPage, setTotalPage = _c.setTotalPage, goNext = _c.goNext, goBefore = _c.goBefore;
39
+ // a list without rows still has its one, empty, page
40
+ var pagelist = (0, react_1.useMemo)(function () { return (0, lodash_1.range)(1, Math.max(1, allPageCount) + 1); }, [allPageCount]);
41
+ /* The page is ours, kept within the list on every change. It was a pagination hook's window index, which two
42
+ steps from one render (two auto-load observers, say) took past the last page: the page read as undefined,
43
+ no rows were shown and "Load more" stayed. A step reads the page it is taken from (a functional update),
44
+ not the one the render saw, and stops at either end. */
45
+ var lastPage = (0, react_1.useRef)(Math.max(1, allPageCount));
46
+ lastPage.current = Math.max(1, allPageCount);
47
+ var toPage = function (page) { return Math.min(Math.max(1, page), lastPage.current); };
48
+ var _c = (0, react_1.useState)(1), openPage = _c[0], setOpenPage = _c[1];
49
+ // the page as shown: within the list as it is now, also before the effects below have caught up with it
50
+ var currentPage = toPage(openPage);
51
+ var setPage = (0, react_1.useCallback)(function (page) { return setOpenPage(toPage(page)); }, []);
52
+ var goNext = (0, react_1.useCallback)(function () { return setOpenPage(function (page) { return toPage(page + 1); }); }, []);
53
+ var goBefore = (0, react_1.useCallback)(function () { return setOpenPage(function (page) { return toPage(page - 1); }); }, []);
54
+ // the start page is opened as any other, so `onPageChange` hears of it
47
55
  (0, react_1.useEffect)(function () {
48
56
  setPage(startPage || 1);
49
57
  }, [startPage]);
@@ -53,36 +61,17 @@ var useReqorePaging = function (options) {
53
61
  isLast: currentPage === allPageCount,
54
62
  });
55
63
  }, [currentPage]);
56
- /* The pagination hook derives `currentPage` from a window of pages; while the
57
- total is shrinking that window is briefly out of range and the page reads as
58
- undefined, which is exactly when the clamp below has to know where the reader
59
- was. */
60
- var lastKnownPage = (0, react_1.useRef)(1);
61
- if (currentPage) {
62
- lastKnownPage.current = currentPage;
63
- }
64
64
  (0, react_use_1.useUpdateEffect)(function () {
65
- var pageCount = Math.max(1, Math.ceil((0, lodash_1.size)(items) / itemsPerPage));
66
65
  /* An INFINITE list keeps the reader where they are. Its pages are cumulative
67
66
  — page 3 shows the first thirty rows — so a row arriving at the top or
68
67
  fifty older rows loading at the bottom changes what the window holds, not
69
68
  where the reader is; snapping to page 1 on every count change collapsed a
70
69
  list someone had scrolled down three times the moment anything arrived.
71
- Only a list that shrank below the current page pulls the page back. A
72
- paged table is different: its page is a slice, and a new data set (a
73
- filter, a reload) should open on its first page as it always has. */
74
- if (infinite) {
75
- var page = currentPage !== null && currentPage !== void 0 ? currentPage : lastKnownPage.current;
76
- if (!currentPage || page > pageCount) {
77
- setPage(Math.min(page, pageCount));
78
- }
79
- }
80
- else {
81
- setPage(1);
82
- }
83
- // After the page: the pagination hook validates a page against the total it
84
- // holds, so shrinking the total first would reject the page it should land on.
85
- setTotalPage(pageCount);
70
+ Only a list that shrank below the current page pulls the page back (and
71
+ keeps it there when it grows again). A paged table is different: its page
72
+ is a slice, and a new data set (a filter, a reload) should open on its
73
+ first page as it always has. */
74
+ setOpenPage(function (page) { return (infinite ? toPage(page) : 1); });
86
75
  }, [(0, lodash_1.size)(items)]);
87
76
  var slicedItems = (0, react_1.useMemo)(function () {
88
77
  return items.slice(infinite ? 0 : (currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);
@@ -1 +1 @@
1
- {"version":3,"file":"usePaging.js","sourceRoot":"","sources":["../../src/hooks/usePaging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePaging.js","sourceRoot":"","sources":["../../src/hooks/usePaging.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,16 @@ export declare const CAN_QUERY_MEDIA: boolean;
24
24
  * asks the browser in an effect: on a phone, a `responsiveLayout` drawer
25
25
  * mounted as the caller's side panel for one render before it became a sheet,
26
26
  * and a floating one kept the side panel's `right: 10px` from that render (a
27
- * 380px sheet on a 390px phone). Where the query can be evaluated it is asked
28
- * as the state is made, and the effect keeps it current from then on.
27
+ * 380px sheet on a 390px phone).
28
+ *
29
+ * And it is hydration-safe: the query is an external store
30
+ * (`useSyncExternalStore`), whose server snapshot is `defaultState`. A page
31
+ * rendered on a server (the docs site renders `ReqoreUIProvider` there) is
32
+ * hydrated with the server's answer, so React finds what the server drew, and
33
+ * the browser's answer follows straight after. Asked in `useState`'s
34
+ * initialiser, the browser's answer was in the hydrating render itself: a
35
+ * phone's `isMobile` against the server's `false`, a mismatch. A page rendered
36
+ * only in the browser still has the browser's answer from its first render.
29
37
  */
30
38
  export declare const useReqoreMedia: (query: string, defaultState?: boolean) => boolean;
31
39
  //# sourceMappingURL=useReqoreMedia.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReqoreMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useReqoreMedia.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,SAC8C,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,sBAAoB,KAAG,OAqBpE,CAAC"}
1
+ {"version":3,"file":"useReqoreMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useReqoreMedia.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,SAC8C,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,sBAAoB,KAAG,OAiBpE,CAAC"}
@@ -28,26 +28,29 @@ exports.CAN_QUERY_MEDIA = typeof window !== 'undefined' && typeof window.matchMe
28
28
  * asks the browser in an effect: on a phone, a `responsiveLayout` drawer
29
29
  * mounted as the caller's side panel for one render before it became a sheet,
30
30
  * and a floating one kept the side panel's `right: 10px` from that render (a
31
- * 380px sheet on a 390px phone). Where the query can be evaluated it is asked
32
- * as the state is made, and the effect keeps it current from then on.
31
+ * 380px sheet on a 390px phone).
32
+ *
33
+ * And it is hydration-safe: the query is an external store
34
+ * (`useSyncExternalStore`), whose server snapshot is `defaultState`. A page
35
+ * rendered on a server (the docs site renders `ReqoreUIProvider` there) is
36
+ * hydrated with the server's answer, so React finds what the server drew, and
37
+ * the browser's answer follows straight after. Asked in `useState`'s
38
+ * initialiser, the browser's answer was in the hydrating render itself: a
39
+ * phone's `isMobile` against the server's `false`, a mismatch. A page rendered
40
+ * only in the browser still has the browser's answer from its first render.
33
41
  */
34
42
  var useReqoreMedia = function (query, defaultState) {
35
43
  if (defaultState === void 0) { defaultState = false; }
36
- var _a = (0, react_1.useState)(function () {
37
- return exports.CAN_QUERY_MEDIA ? window.matchMedia(query).matches : defaultState;
38
- }), matches = _a[0], setMatches = _a[1];
39
- (0, react_1.useEffect)(function () {
40
- if (!exports.CAN_QUERY_MEDIA) {
41
- return undefined;
42
- }
43
- var list = window.matchMedia(query);
44
- var update = function () { return setMatches(list.matches); };
45
- // A new query, or a change between the render and this effect.
46
- update();
47
- list.addEventListener('change', update);
48
- return function () { return list.removeEventListener('change', update); };
49
- }, [query]);
50
- return matches;
44
+ // One list per query: `matchMedia` makes a new one on every call, and the snapshot is read on
45
+ // every render.
46
+ var list = (0, react_1.useMemo)(function () { return (exports.CAN_QUERY_MEDIA ? window.matchMedia(query) : undefined); }, [query]);
47
+ var subscribe = (0, react_1.useCallback)(function (onChange) {
48
+ list === null || list === void 0 ? void 0 : list.addEventListener('change', onChange);
49
+ return function () { return list === null || list === void 0 ? void 0 : list.removeEventListener('change', onChange); };
50
+ }, [list]);
51
+ var getSnapshot = (0, react_1.useCallback)(function () { return (list ? list.matches : defaultState); }, [list, defaultState]);
52
+ var getServerSnapshot = (0, react_1.useCallback)(function () { return defaultState; }, [defaultState]);
53
+ return (0, react_1.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
51
54
  };
52
55
  exports.useReqoreMedia = useReqoreMedia;
53
56
  //# sourceMappingURL=useReqoreMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReqoreMedia.js","sourceRoot":"","sources":["../../src/hooks/useReqoreMedia.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAE5C;;;;;;;;;;;;GAYG;AACU,QAAA,eAAe,GAC1B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AACI,IAAM,cAAc,GAAG,UAAC,KAAa,EAAE,YAAoB;IAApB,6BAAA,EAAA,oBAAoB;IAC1D,IAAA,KAAwB,IAAA,gBAAQ,EAAC;QACrC,OAAA,uBAAe,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;IAAjE,CAAiE,CAClE,EAFM,OAAO,QAAA,EAAE,UAAU,QAEzB,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,uBAAe,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,IAAM,MAAM,GAAG,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAxB,CAAwB,CAAC;QAE9C,+DAA+D;QAC/D,MAAM,EAAE,CAAC;QACT,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExC,OAAO,cAAM,OAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAA1C,CAA0C,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB"}
1
+ {"version":3,"file":"useReqoreMedia.js","sourceRoot":"","sources":["../../src/hooks/useReqoreMedia.ts"],"names":[],"mappings":";;;AAAA,+BAAmE;AAEnE;;;;;;;;;;;;GAYG;AACU,QAAA,eAAe,GAC1B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,IAAM,cAAc,GAAG,UAAC,KAAa,EAAE,YAAoB;IAApB,6BAAA,EAAA,oBAAoB;IAChE,8FAA8F;IAC9F,gBAAgB;IAChB,IAAM,IAAI,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,uBAAe,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAxD,CAAwD,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9F,IAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,UAAC,QAAoB;QACnB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE3C,OAAO,cAAM,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAA7C,CAA6C,CAAC;IAC7D,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IACF,IAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAClG,IAAM,iBAAiB,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,YAAY,EAAZ,CAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1E,OAAO,IAAA,4BAAoB,EAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACzE,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoretechnologies/reqore",
3
- "version": "0.78.5-pr.708.gd45a15b",
3
+ "version": "0.78.5",
4
4
  "description": "ReQore is a highly theme-able and modular UI library for React",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -115,7 +115,6 @@
115
115
  "react-popper": "^2.3.0",
116
116
  "react-scrollbar": "^0.5.6",
117
117
  "react-use": "^17.6.0",
118
- "react-use-pagination-hook": "^1.1.2",
119
118
  "react-window": "^1.8.6",
120
119
  "scheduler": "^0.23.0",
121
120
  "slate": "^0.103.0",