@open-condo/ui 1.26.2 → 1.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,8 @@
9
9
  [Usage](#usage)\
10
10
  [Including styles](#including-styles)\
11
11
  [Access theme colors](#access-theme-colors)\
12
- [Style-variables](#style-variables)
12
+ [Style-variables](#style-variables)\
13
+ [Hooks](#hooks)
13
14
 
14
15
  ## Installation
15
16
  To install package simply run the following command if you're using npm as your package manager:
@@ -56,3 +57,33 @@ import '@open-condo/ui/style-vars/css'
56
57
  ```less
57
58
  @import (reference) "@open-condo/ui/dist/style-vars/variables.less";
58
59
  ```
60
+
61
+ ## Hooks
62
+ Hooks can be imported as follows:
63
+ ```js
64
+ import { useBreakpoints, useContainerSize } from '@open-condo/ui/hooks';
65
+ ```
66
+ - `useBreakpoints` - returns the breakpoint object and its current value.
67
+ Breakpoint value becomes `true` if the window width is greater than or equal to the corresponding breakpoint.
68
+ The name and width of the breakpoints:
69
+ - `MOBILE_SMALL` (0px)
70
+ - `MOBILE_LARGE` (360px)
71
+ - `TABLET_SMALL` (480px)
72
+ - `TABLET_LARGE` (768px)
73
+ - `DESKTOP_SMALL` (992px)
74
+ - `DESKTOP_LARGE` (1200px)
75
+ ```js
76
+ const breakpoints = useBreakpoints()
77
+
78
+ // window width >= 480px and < 992px
79
+ const isTablet = breakpoints.TABLET_SMALL && !breakpoints.DESKTOP_SMALL
80
+ ```
81
+
82
+ - `useContainerSize` provides the dimensions of a specific container.
83
+ ```js
84
+ const [{ width, height }, setRef] = useContainerSize()
85
+
86
+ console.log(width, height)
87
+
88
+ return <div ref={setRef} />
89
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../../src/components/Steps/steps.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAShF,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAA;AAEjD,oBAAY,UAAU,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAQD,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAqGtC,CAAA"}
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../../src/components/Steps/steps.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAShF,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAA;AAEjD,oBAAY,UAAU,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAQD,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAkGtC,CAAA"}
@@ -8,7 +8,7 @@ export declare type TypographyTitleProps = Pick<DefaultTitleProps, 'ellipsis' |
8
8
  };
9
9
  declare const Title: React.ForwardRefExoticComponent<Pick<DefaultTitleProps, "onClick" | "title" | "children" | "ellipsis"> & {
10
10
  type?: "success" | "info" | "warning" | "secondary" | "danger" | "inverted" | undefined;
11
- level?: 1 | 2 | 3 | 4 | 6 | 5 | undefined;
11
+ level?: 6 | 1 | 2 | 3 | 4 | 5 | undefined;
12
12
  } & React.RefAttributes<HTMLElement>>;
13
13
  export { Title, };
14
14
  //# sourceMappingURL=title.d.ts.map
@@ -1,3 +1,5 @@
1
1
  export { usePatchElement } from './usePatchElement';
2
2
  export { useContainerSize } from './useContainerSize';
3
+ export { useForceUpdate } from './useForceUpdate';
4
+ export { useBreakpoints } from './useBreakpoints';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/_utils/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/_utils/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ScreenMap } from '../responsiveObserve';
2
+ export declare function useBreakpoints(refreshOnChange?: boolean): ScreenMap;
3
+ //# sourceMappingURL=useBreakpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoints.d.ts","sourceRoot":"","sources":["../../../../src/components/_utils/hooks/useBreakpoints.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAKhD,wBAAgB,cAAc,CAAE,eAAe,UAAO,GAAG,SAAS,CAkBjE"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ export declare function useForceUpdate(): React.DispatchWithoutAction;
3
+ //# sourceMappingURL=useForceUpdate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForceUpdate.d.ts","sourceRoot":"","sources":["../../../../src/components/_utils/hooks/useForceUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,wBAAgB,cAAc,gCAG7B"}
@@ -0,0 +1,24 @@
1
+ export declare const BREAKPOINTS: readonly ["MOBILE_SMALL", "MOBILE_LARGE", "TABLET_SMALL", "TABLET_LARGE", "DESKTOP_SMALL", "DESKTOP_LARGE"];
2
+ export declare type Breakpoint = typeof BREAKPOINTS[number];
3
+ declare type BreakpointMap = {
4
+ [Key in Breakpoint]: string;
5
+ };
6
+ export declare type ScreenMap = Partial<Record<Breakpoint, boolean>>;
7
+ export declare type ScreenSizeMap = Partial<Record<Breakpoint, number>>;
8
+ export declare const responsiveMap: BreakpointMap;
9
+ declare type SubscribeFunc = (screens: ScreenMap) => void;
10
+ declare const responsiveObserve: {
11
+ matchHandlers: {
12
+ [prop: string]: {
13
+ mql: MediaQueryList;
14
+ listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;
15
+ };
16
+ };
17
+ dispatch(pointMap: ScreenMap): boolean;
18
+ subscribe(func: SubscribeFunc): number;
19
+ unsubscribe(token: number): void;
20
+ unregister(): void;
21
+ register(): void;
22
+ };
23
+ export default responsiveObserve;
24
+ //# sourceMappingURL=responsiveObserve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsiveObserve.d.ts","sourceRoot":"","sources":["../../../src/components/_utils/responsiveObserve.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,6GAAkG,CAAA;AAE1H,oBAAY,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AACnD,aAAK,aAAa,GAAG;KAAG,GAAG,IAAI,UAAU,GAAG,MAAM;CAAE,CAAA;AAEpD,oBAAY,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AAC5D,oBAAY,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAE/D,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAA;AAED,aAAK,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAA;AAKjD,QAAA,MAAM,iBAAiB;;;iBAGN,cAAc;8BACD,cAAc,MAAM,mBAAmB,KAAK,GAAG;;;uBAGrD,SAAS;oBAKZ,aAAa,GAAG,MAAM;uBAOnB,MAAM;;;CA+B7B,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { useBreakpoints } from './components/_utils/hooks/useBreakpoints';
2
+ export { useContainerSize } from './components/_utils/hooks/useContainerSize';
3
+ export type { Breakpoint, ScreenMap, BREAKPOINTS } from './components/_utils/responsiveObserve';
4
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAE7E,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA"}
package/dist/hooks.js ADDED
@@ -0,0 +1,321 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("react"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["react"], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["@open-condo/ui"] = factory(require("react"));
8
+ else
9
+ root["@open-condo/ui"] = factory(root["react"]);
10
+ })(this, function(__WEBPACK_EXTERNAL_MODULE__8156__) {
11
+ return /******/ (function() { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ 8156:
16
+ /***/ (function(module) {
17
+
18
+ module.exports = __WEBPACK_EXTERNAL_MODULE__8156__;
19
+
20
+ /***/ })
21
+
22
+ /******/ });
23
+ /************************************************************************/
24
+ /******/ // The module cache
25
+ /******/ var __webpack_module_cache__ = {};
26
+ /******/
27
+ /******/ // The require function
28
+ /******/ function __webpack_require__(moduleId) {
29
+ /******/ // Check if module is in cache
30
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
31
+ /******/ if (cachedModule !== undefined) {
32
+ /******/ return cachedModule.exports;
33
+ /******/ }
34
+ /******/ // Create a new module (and put it into the cache)
35
+ /******/ var module = __webpack_module_cache__[moduleId] = {
36
+ /******/ // no module.id needed
37
+ /******/ // no module.loaded needed
38
+ /******/ exports: {}
39
+ /******/ };
40
+ /******/
41
+ /******/ // Execute the module function
42
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
43
+ /******/
44
+ /******/ // Return the exports of the module
45
+ /******/ return module.exports;
46
+ /******/ }
47
+ /******/
48
+ /************************************************************************/
49
+ /******/ /* webpack/runtime/define property getters */
50
+ /******/ !function() {
51
+ /******/ // define getter functions for harmony exports
52
+ /******/ __webpack_require__.d = function(exports, definition) {
53
+ /******/ for(var key in definition) {
54
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
55
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
56
+ /******/ }
57
+ /******/ }
58
+ /******/ };
59
+ /******/ }();
60
+ /******/
61
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
62
+ /******/ !function() {
63
+ /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
64
+ /******/ }();
65
+ /******/
66
+ /******/ /* webpack/runtime/make namespace object */
67
+ /******/ !function() {
68
+ /******/ // define __esModule on exports
69
+ /******/ __webpack_require__.r = function(exports) {
70
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
71
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
72
+ /******/ }
73
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
74
+ /******/ };
75
+ /******/ }();
76
+ /******/
77
+ /************************************************************************/
78
+ var __webpack_exports__ = {};
79
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
80
+ !function() {
81
+ // ESM COMPAT FLAG
82
+ __webpack_require__.r(__webpack_exports__);
83
+
84
+ // EXPORTS
85
+ __webpack_require__.d(__webpack_exports__, {
86
+ "useBreakpoints": function() { return /* reexport */ useBreakpoints; },
87
+ "useContainerSize": function() { return /* reexport */ useContainerSize; }
88
+ });
89
+
90
+ // EXTERNAL MODULE: external "react"
91
+ var external_react_ = __webpack_require__(8156);
92
+ ;// CONCATENATED MODULE: ./src/components/_utils/responsiveObserve.ts
93
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
94
+
95
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
96
+
97
+ 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; }
98
+
99
+ var MOBILE_SMALL = 'MOBILE_SMALL';
100
+ var MOBILE_LARGE = 'MOBILE_LARGE';
101
+ var TABLET_SMALL = 'TABLET_SMALL';
102
+ var TABLET_LARGE = 'TABLET_LARGE';
103
+ var DESKTOP_SMALL = 'DESKTOP_SMALL';
104
+ var DESKTOP_LARGE = 'DESKTOP_LARGE';
105
+ var BREAKPOINTS = [MOBILE_SMALL, MOBILE_LARGE, TABLET_SMALL, TABLET_LARGE, DESKTOP_SMALL, DESKTOP_LARGE];
106
+ var responsiveMap = {
107
+ MOBILE_SMALL: '(min-width: 0px)',
108
+ MOBILE_LARGE: '(min-width: 360px)',
109
+ TABLET_SMALL: '(min-width: 480px)',
110
+ TABLET_LARGE: '(min-width: 768px)',
111
+ DESKTOP_SMALL: '(min-width: 992px)',
112
+ DESKTOP_LARGE: '(min-width: 1200px)'
113
+ };
114
+ var subscribers = new Map();
115
+ var subUid = -1;
116
+ var screens = {};
117
+ var responsiveObserve = {
118
+ matchHandlers: {},
119
+ dispatch: function dispatch(pointMap) {
120
+ screens = pointMap;
121
+ subscribers.forEach(function (func) {
122
+ return func(screens);
123
+ });
124
+ return subscribers.size >= 1;
125
+ },
126
+ subscribe: function subscribe(func) {
127
+ if (!subscribers.size) this.register();
128
+ subUid += 1;
129
+ subscribers.set(subUid, func);
130
+ func(screens);
131
+ return subUid;
132
+ },
133
+ unsubscribe: function unsubscribe(token) {
134
+ subscribers.delete(token);
135
+ if (!subscribers.size) this.unregister();
136
+ },
137
+ unregister: function unregister() {
138
+ var _this = this;
139
+
140
+ Object.keys(responsiveMap).forEach(function (screen) {
141
+ var matchMediaQuery = responsiveMap[screen];
142
+ var handler = _this.matchHandlers[matchMediaQuery];
143
+ handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);
144
+ });
145
+ subscribers.clear();
146
+ },
147
+ register: function register() {
148
+ var _this2 = this;
149
+
150
+ Object.keys(responsiveMap).forEach(function (screen) {
151
+ var matchMediaQuery = responsiveMap[screen];
152
+
153
+ var listener = function listener(_ref) {
154
+ var matches = _ref.matches;
155
+
156
+ _this2.dispatch(_objectSpread(_objectSpread({}, screens), {}, _defineProperty({}, screen, matches)));
157
+ };
158
+
159
+ var mql = window.matchMedia(matchMediaQuery);
160
+ mql.addListener(listener);
161
+ _this2.matchHandlers[matchMediaQuery] = {
162
+ mql: mql,
163
+ listener: listener
164
+ };
165
+ listener(mql);
166
+ });
167
+ }
168
+ };
169
+ /* harmony default export */ var _utils_responsiveObserve = (responsiveObserve);
170
+ ;// CONCATENATED MODULE: ./src/components/_utils/hooks/usePatchElement.ts
171
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
172
+
173
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
174
+
175
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
176
+
177
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
178
+
179
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
180
+
181
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
182
+
183
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
184
+
185
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
186
+
187
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
188
+
189
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
190
+
191
+
192
+ function usePatchElement() {
193
+ var _useState = useState([]),
194
+ _useState2 = _slicedToArray(_useState, 2),
195
+ elements = _useState2[0],
196
+ setElements = _useState2[1];
197
+
198
+ var patchElement = useCallback(function (el) {
199
+ setElements(function (prev) {
200
+ return [].concat(_toConsumableArray(prev), [el]);
201
+ });
202
+ return function () {
203
+ setElements(function (prev) {
204
+ return prev.filter(function (item) {
205
+ return item != el;
206
+ });
207
+ });
208
+ };
209
+ }, []);
210
+ return [elements, patchElement];
211
+ }
212
+ ;// CONCATENATED MODULE: ./src/components/_utils/hooks/useContainerSize.ts
213
+ function useContainerSize_slicedToArray(arr, i) { return useContainerSize_arrayWithHoles(arr) || useContainerSize_iterableToArrayLimit(arr, i) || useContainerSize_unsupportedIterableToArray(arr, i) || useContainerSize_nonIterableRest(); }
214
+
215
+ function useContainerSize_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
216
+
217
+ function useContainerSize_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return useContainerSize_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return useContainerSize_arrayLikeToArray(o, minLen); }
218
+
219
+ function useContainerSize_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
220
+
221
+ function useContainerSize_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
222
+
223
+ function useContainerSize_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
224
+
225
+
226
+ function useContainerSize() {
227
+ var _useState = (0,external_react_.useState)({
228
+ width: 1200,
229
+ height: 1000
230
+ }),
231
+ _useState2 = useContainerSize_slicedToArray(_useState, 2),
232
+ size = _useState2[0],
233
+ setSize = _useState2[1];
234
+
235
+ var _useState3 = (0,external_react_.useState)(null),
236
+ _useState4 = useContainerSize_slicedToArray(_useState3, 2),
237
+ refElement = _useState4[0],
238
+ setRefElement = _useState4[1];
239
+
240
+ (0,external_react_.useEffect)(function () {
241
+ if (!refElement) return;
242
+ setSize({
243
+ width: refElement.offsetWidth,
244
+ height: refElement.offsetHeight
245
+ });
246
+ var observer = new ResizeObserver(function (entries) {
247
+ if (entries.length == 1) {
248
+ var entry = entries[0];
249
+ setSize({
250
+ width: entry.contentRect.width,
251
+ height: entry.contentRect.height
252
+ });
253
+ }
254
+ });
255
+ observer.observe(refElement);
256
+ return function () {
257
+ observer.unobserve(refElement);
258
+ };
259
+ }, [refElement]);
260
+ return [size, setRefElement];
261
+ }
262
+ ;// CONCATENATED MODULE: ./src/components/_utils/hooks/useForceUpdate.ts
263
+ function useForceUpdate_slicedToArray(arr, i) { return useForceUpdate_arrayWithHoles(arr) || useForceUpdate_iterableToArrayLimit(arr, i) || useForceUpdate_unsupportedIterableToArray(arr, i) || useForceUpdate_nonIterableRest(); }
264
+
265
+ function useForceUpdate_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
266
+
267
+ function useForceUpdate_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return useForceUpdate_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return useForceUpdate_arrayLikeToArray(o, minLen); }
268
+
269
+ function useForceUpdate_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
270
+
271
+ function useForceUpdate_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
272
+
273
+ function useForceUpdate_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
274
+
275
+
276
+ function useForceUpdate() {
277
+ var _React$useReducer = external_react_.useReducer(function (x) {
278
+ return x + 1;
279
+ }, 0),
280
+ _React$useReducer2 = useForceUpdate_slicedToArray(_React$useReducer, 2),
281
+ forceUpdate = _React$useReducer2[1];
282
+
283
+ return forceUpdate;
284
+ }
285
+ ;// CONCATENATED MODULE: ./src/components/_utils/hooks/index.ts
286
+
287
+
288
+
289
+
290
+ ;// CONCATENATED MODULE: ./src/components/_utils/hooks/useBreakpoints.tsx
291
+
292
+
293
+
294
+ function useBreakpoints() {
295
+ var refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
296
+ var screensRef = (0,external_react_.useRef)({});
297
+ var forceUpdate = useForceUpdate();
298
+ (0,external_react_.useEffect)(function () {
299
+ if (typeof window !== 'undefined') {
300
+ var token = _utils_responsiveObserve.subscribe(function (supportScreens) {
301
+ screensRef.current = supportScreens;
302
+
303
+ if (refreshOnChange) {
304
+ forceUpdate();
305
+ }
306
+ });
307
+ return function () {
308
+ return _utils_responsiveObserve.unsubscribe(token);
309
+ };
310
+ }
311
+ }, []);
312
+ return screensRef.current;
313
+ }
314
+ ;// CONCATENATED MODULE: ./src/hooks.ts
315
+
316
+
317
+ }();
318
+ /******/ return __webpack_exports__;
319
+ /******/ })()
320
+ ;
321
+ });