@invoicebox/ui 0.1.0-alpha.79 → 0.1.0-alpha.80

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.
@@ -0,0 +1 @@
1
+ export declare const useUnupdatableHandler: <THandler extends Function>(handler: THandler) => THandler;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useUnupdatableHandler = void 0;
7
+ var _react = require("react");
8
+ // eslint-disable-next-line @typescript-eslint/ban-types
9
+ var useUnupdatableHandler = exports.useUnupdatableHandler = function useUnupdatableHandler(handler) {
10
+ var ref = (0, _react.useRef)(handler);
11
+ ref.current = handler;
12
+ var unupdatableHandler = (0, _react.useCallback)(function () {
13
+ return ref.current.apply(ref, arguments);
14
+ }, []);
15
+ return unupdatableHandler;
16
+ };
@@ -0,0 +1,4 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const Default: StoryObj;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = void 0;
7
+ var _addonActions = require("@storybook/addon-actions");
8
+ var _ = require(".");
9
+ var _react = require("react");
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ 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."); }
12
+ 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); }
13
+ 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; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable react-hooks/rules-of-hooks */
16
+ var meta = {
17
+ title: 'hooks/useUnupdatableHandler',
18
+ tags: ['autodocs']
19
+ };
20
+ var _default = exports["default"] = meta;
21
+ var Default = exports.Default = {
22
+ render: function render() {
23
+ var _useState = (0, _react.useState)(false),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ setFlag = _useState2[1];
26
+ var triggerRerander = (0, _react.useCallback)(function () {
27
+ return setFlag(function (flag) {
28
+ return !flag;
29
+ });
30
+ }, []);
31
+ var updatableHandler = (0, _addonActions.action)('updatable');
32
+ (0, _react.useEffect)(function () {
33
+ // срабатывает при каждом ререндере
34
+ updatableHandler();
35
+ }, [updatableHandler]);
36
+ var unupdatableHandler = (0, _.useUnupdatableHandler)((0, _addonActions.action)('unupdatable'));
37
+ (0, _react.useEffect)(function () {
38
+ // срабатывает один раз при первом рендере
39
+ unupdatableHandler();
40
+ }, [unupdatableHandler]);
41
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
42
+ onClick: triggerRerander
43
+ }, "trigger rerander"));
44
+ }
45
+ };
package/dist/index.d.ts CHANGED
@@ -34,3 +34,4 @@ export { PaletteProvider } from './palette';
34
34
  export type { TAbstractPalette } from './palette';
35
35
  export { useOutsideClick } from './hooks/useOutsideClick';
36
36
  export { useInputFocus } from './hooks/useInputFocus';
37
+ export { useUnupdatableHandler } from './hooks/useUnupdatableHandler';
package/dist/index.js CHANGED
@@ -147,6 +147,12 @@ Object.defineProperty(exports, "useOutsideClick", {
147
147
  return _useOutsideClick.useOutsideClick;
148
148
  }
149
149
  });
150
+ Object.defineProperty(exports, "useUnupdatableHandler", {
151
+ enumerable: true,
152
+ get: function get() {
153
+ return _useUnupdatableHandler.useUnupdatableHandler;
154
+ }
155
+ });
150
156
  var _Skeleton = require("./components/common/Skeleton");
151
157
  var _InvoiceboxLoader = require("./components/common/InvoiceboxLoader");
152
158
  var _Typography = require("./components/common/Typography");
@@ -170,4 +176,5 @@ var _PhoneInput = require("./components/form/PhoneInput");
170
176
  var _externalPhoneLogic = require("./components/form/PhoneInput/externalPhoneLogic");
171
177
  var _palette = require("./palette");
172
178
  var _useOutsideClick = require("./hooks/useOutsideClick");
173
- var _useInputFocus = require("./hooks/useInputFocus");
179
+ var _useInputFocus = require("./hooks/useInputFocus");
180
+ var _useUnupdatableHandler = require("./hooks/useUnupdatableHandler");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicebox/ui",
3
- "version": "0.1.0-alpha.79",
3
+ "version": "0.1.0-alpha.80",
4
4
  "description": "Invoicebox UI",
5
5
  "license": "Apache License 2.0",
6
6
  "scripts": {