@apia/util 3.0.1 → 3.0.2

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 (270) hide show
  1. package/dist/index.d.ts +1865 -68
  2. package/dist/index.js +2650 -62
  3. package/dist/index.js.map +1 -1
  4. package/package.json +2 -2
  5. package/dist/animate/index.d.ts +0 -4
  6. package/dist/animate/index.d.ts.map +0 -1
  7. package/dist/animate/index.js +0 -24
  8. package/dist/animate/index.js.map +0 -1
  9. package/dist/array/arrayOrArray.d.ts +0 -4
  10. package/dist/array/arrayOrArray.d.ts.map +0 -1
  11. package/dist/array/arrayOrArray.js +0 -8
  12. package/dist/array/arrayOrArray.js.map +0 -1
  13. package/dist/array/getIndex.d.ts +0 -14
  14. package/dist/array/getIndex.d.ts.map +0 -1
  15. package/dist/array/getIndex.js +0 -12
  16. package/dist/array/getIndex.js.map +0 -1
  17. package/dist/crypto/decrypt.d.ts +0 -4
  18. package/dist/crypto/decrypt.d.ts.map +0 -1
  19. package/dist/crypto/decrypt.js +0 -16
  20. package/dist/crypto/decrypt.js.map +0 -1
  21. package/dist/crypto/encrypt.d.ts +0 -4
  22. package/dist/crypto/encrypt.d.ts.map +0 -1
  23. package/dist/crypto/encrypt.js +0 -13
  24. package/dist/crypto/encrypt.js.map +0 -1
  25. package/dist/crypto/generateKey.js +0 -11
  26. package/dist/crypto/generateKey.js.map +0 -1
  27. package/dist/date/apiaDateToStandarFormat.d.ts +0 -4
  28. package/dist/date/apiaDateToStandarFormat.d.ts.map +0 -1
  29. package/dist/date/apiaDateToStandarFormat.js +0 -12
  30. package/dist/date/apiaDateToStandarFormat.js.map +0 -1
  31. package/dist/date/dateToApiaFormat.d.ts +0 -4
  32. package/dist/date/dateToApiaFormat.d.ts.map +0 -1
  33. package/dist/date/dateToApiaFormat.js +0 -9
  34. package/dist/date/dateToApiaFormat.js.map +0 -1
  35. package/dist/date/getDateFormat.d.ts +0 -11
  36. package/dist/date/getDateFormat.d.ts.map +0 -1
  37. package/dist/date/getDateFormat.js +0 -20
  38. package/dist/date/getDateFormat.js.map +0 -1
  39. package/dist/debug/debugDispatcher.d.ts +0 -32
  40. package/dist/debug/debugDispatcher.d.ts.map +0 -1
  41. package/dist/debug/debugDispatcher.js +0 -72
  42. package/dist/debug/debugDispatcher.js.map +0 -1
  43. package/dist/debug/shortcutController.d.ts +0 -57
  44. package/dist/debug/shortcutController.d.ts.map +0 -1
  45. package/dist/debug/shortcutController.js +0 -152
  46. package/dist/debug/shortcutController.js.map +0 -1
  47. package/dist/documents/downloadStringAsDoc.d.ts +0 -8
  48. package/dist/documents/downloadStringAsDoc.d.ts.map +0 -1
  49. package/dist/documents/downloadStringAsDoc.js +0 -12
  50. package/dist/documents/downloadStringAsDoc.js.map +0 -1
  51. package/dist/documents/downloadUrl.d.ts +0 -20
  52. package/dist/documents/downloadUrl.d.ts.map +0 -1
  53. package/dist/documents/downloadUrl.js +0 -18
  54. package/dist/documents/downloadUrl.js.map +0 -1
  55. package/dist/documents/openAndReadFile.d.ts +0 -4
  56. package/dist/documents/openAndReadFile.d.ts.map +0 -1
  57. package/dist/documents/openAndReadFile.js +0 -29
  58. package/dist/documents/openAndReadFile.js.map +0 -1
  59. package/dist/dom/autoDisconnectMutationObserver.d.ts +0 -17
  60. package/dist/dom/autoDisconnectMutationObserver.d.ts.map +0 -1
  61. package/dist/dom/autoDisconnectMutationObserver.js +0 -35
  62. package/dist/dom/autoDisconnectMutationObserver.js.map +0 -1
  63. package/dist/dom/customEvents.d.ts +0 -40
  64. package/dist/dom/customEvents.d.ts.map +0 -1
  65. package/dist/dom/customEvents.js +0 -34
  66. package/dist/dom/customEvents.js.map +0 -1
  67. package/dist/dom/enableChildrenFocus.d.ts +0 -18
  68. package/dist/dom/enableChildrenFocus.d.ts.map +0 -1
  69. package/dist/dom/enableChildrenFocus.js +0 -26
  70. package/dist/dom/enableChildrenFocus.js.map +0 -1
  71. package/dist/dom/findOffsetRelativeToScrollParent.d.ts +0 -7
  72. package/dist/dom/findOffsetRelativeToScrollParent.d.ts.map +0 -1
  73. package/dist/dom/findOffsetRelativeToScrollParent.js +0 -19
  74. package/dist/dom/findOffsetRelativeToScrollParent.js.map +0 -1
  75. package/dist/dom/findScrollContainer.d.ts +0 -8
  76. package/dist/dom/findScrollContainer.d.ts.map +0 -1
  77. package/dist/dom/findScrollContainer.js +0 -9
  78. package/dist/dom/findScrollContainer.js.map +0 -1
  79. package/dist/dom/getFocusSelector.d.ts +0 -25
  80. package/dist/dom/getFocusSelector.d.ts.map +0 -1
  81. package/dist/dom/getFocusSelector.js +0 -30
  82. package/dist/dom/getFocusSelector.js.map +0 -1
  83. package/dist/dom/getSpecificParent.d.ts +0 -23
  84. package/dist/dom/getSpecificParent.d.ts.map +0 -1
  85. package/dist/dom/getSpecificParent.js +0 -19
  86. package/dist/dom/getSpecificParent.js.map +0 -1
  87. package/dist/dom/isChild.d.ts +0 -13
  88. package/dist/dom/isChild.d.ts.map +0 -1
  89. package/dist/dom/isChild.js +0 -8
  90. package/dist/dom/isChild.js.map +0 -1
  91. package/dist/dom/scrollParentIntoElement.d.ts +0 -9
  92. package/dist/dom/scrollParentIntoElement.d.ts.map +0 -1
  93. package/dist/dom/scrollParentIntoElement.js +0 -24
  94. package/dist/dom/scrollParentIntoElement.js.map +0 -1
  95. package/dist/dom/url.d.ts +0 -18
  96. package/dist/dom/url.d.ts.map +0 -1
  97. package/dist/dom/url.js +0 -52
  98. package/dist/dom/url.js.map +0 -1
  99. package/dist/dom/usePanAndZoom.d.ts +0 -14
  100. package/dist/dom/usePanAndZoom.d.ts.map +0 -1
  101. package/dist/dom/usePanAndZoom.js +0 -111
  102. package/dist/dom/usePanAndZoom.js.map +0 -1
  103. package/dist/encoding/index.d.ts +0 -8
  104. package/dist/encoding/index.d.ts.map +0 -1
  105. package/dist/encoding/index.js +0 -12
  106. package/dist/encoding/index.js.map +0 -1
  107. package/dist/events/BouncingEmitter.d.ts +0 -67
  108. package/dist/events/BouncingEmitter.d.ts.map +0 -1
  109. package/dist/events/BouncingEmitter.js +0 -72
  110. package/dist/events/BouncingEmitter.js.map +0 -1
  111. package/dist/events/EventEmitter.d.ts +0 -47
  112. package/dist/events/EventEmitter.d.ts.map +0 -1
  113. package/dist/events/EventEmitter.js +0 -75
  114. package/dist/events/EventEmitter.js.map +0 -1
  115. package/dist/events/StatefulEmitter.d.ts +0 -44
  116. package/dist/events/StatefulEmitter.d.ts.map +0 -1
  117. package/dist/events/StatefulEmitter.js +0 -57
  118. package/dist/events/StatefulEmitter.js.map +0 -1
  119. package/dist/events/types.d.ts +0 -29
  120. package/dist/events/types.d.ts.map +0 -1
  121. package/dist/focus/focusController.d.ts +0 -108
  122. package/dist/focus/focusController.d.ts.map +0 -1
  123. package/dist/focus/focusController.js +0 -295
  124. package/dist/focus/focusController.js.map +0 -1
  125. package/dist/focus/globalFocus.d.ts +0 -24
  126. package/dist/focus/globalFocus.d.ts.map +0 -1
  127. package/dist/focus/globalFocus.js +0 -87
  128. package/dist/focus/globalFocus.js.map +0 -1
  129. package/dist/history/History.d.ts +0 -81
  130. package/dist/history/History.d.ts.map +0 -1
  131. package/dist/history/History.js +0 -122
  132. package/dist/history/History.js.map +0 -1
  133. package/dist/hooks/useCombinedRefs.d.ts +0 -18
  134. package/dist/hooks/useCombinedRefs.d.ts.map +0 -1
  135. package/dist/hooks/useCombinedRefs.js +0 -20
  136. package/dist/hooks/useCombinedRefs.js.map +0 -1
  137. package/dist/hooks/useDebouncedCallback.d.ts +0 -7
  138. package/dist/hooks/useDebouncedCallback.d.ts.map +0 -1
  139. package/dist/hooks/useDebouncedCallback.js +0 -21
  140. package/dist/hooks/useDebouncedCallback.js.map +0 -1
  141. package/dist/hooks/useLatest.d.ts +0 -13
  142. package/dist/hooks/useLatest.d.ts.map +0 -1
  143. package/dist/hooks/useLatest.js +0 -10
  144. package/dist/hooks/useLatest.js.map +0 -1
  145. package/dist/hooks/useMount.d.ts +0 -6
  146. package/dist/hooks/useMount.d.ts.map +0 -1
  147. package/dist/hooks/useMount.js +0 -14
  148. package/dist/hooks/useMount.js.map +0 -1
  149. package/dist/hooks/usePrevious.d.ts +0 -6
  150. package/dist/hooks/usePrevious.d.ts.map +0 -1
  151. package/dist/hooks/usePrevious.js +0 -12
  152. package/dist/hooks/usePrevious.js.map +0 -1
  153. package/dist/hooks/useShallowMemo.d.ts +0 -9
  154. package/dist/hooks/useShallowMemo.d.ts.map +0 -1
  155. package/dist/hooks/useShallowMemo.js +0 -42
  156. package/dist/hooks/useShallowMemo.js.map +0 -1
  157. package/dist/hooks/useStateRef.d.ts +0 -10
  158. package/dist/hooks/useStateRef.d.ts.map +0 -1
  159. package/dist/hooks/useStateRef.js +0 -11
  160. package/dist/hooks/useStateRef.js.map +0 -1
  161. package/dist/hooks/useSubscription.d.ts +0 -31
  162. package/dist/hooks/useSubscription.d.ts.map +0 -1
  163. package/dist/hooks/useSubscription.js +0 -21
  164. package/dist/hooks/useSubscription.js.map +0 -1
  165. package/dist/hooks/useUnmount.d.ts +0 -4
  166. package/dist/hooks/useUnmount.d.ts.map +0 -1
  167. package/dist/hooks/useUnmount.js +0 -10
  168. package/dist/hooks/useUnmount.js.map +0 -1
  169. package/dist/hooks/useUpdateEffect.d.ts +0 -10
  170. package/dist/hooks/useUpdateEffect.d.ts.map +0 -1
  171. package/dist/hooks/useUpdateEffect.js +0 -16
  172. package/dist/hooks/useUpdateEffect.js.map +0 -1
  173. package/dist/imperative/makeImperativeComponent.d.ts +0 -56
  174. package/dist/imperative/makeImperativeComponent.d.ts.map +0 -1
  175. package/dist/imperative/makeImperativeComponent.js +0 -48
  176. package/dist/imperative/makeImperativeComponent.js.map +0 -1
  177. package/dist/imperative/makeSingleImperativeComponent.d.ts +0 -15
  178. package/dist/imperative/makeSingleImperativeComponent.d.ts.map +0 -1
  179. package/dist/imperative/makeSingleImperativeComponent.js +0 -31
  180. package/dist/imperative/makeSingleImperativeComponent.js.map +0 -1
  181. package/dist/imperative/types.d.ts +0 -22
  182. package/dist/imperative/types.d.ts.map +0 -1
  183. package/dist/imperative/types.js +0 -8
  184. package/dist/imperative/types.js.map +0 -1
  185. package/dist/imperative/useImperativeComponentEvents.d.ts +0 -6
  186. package/dist/imperative/useImperativeComponentEvents.d.ts.map +0 -1
  187. package/dist/imperative/useImperativeComponentEvents.js +0 -35
  188. package/dist/imperative/useImperativeComponentEvents.js.map +0 -1
  189. package/dist/imperative/useImperativeIdentifierContext.d.ts +0 -14
  190. package/dist/imperative/useImperativeIdentifierContext.d.ts.map +0 -1
  191. package/dist/imperative/useImperativeIdentifierContext.js +0 -10
  192. package/dist/imperative/useImperativeIdentifierContext.js.map +0 -1
  193. package/dist/labels/formatMessage.d.ts +0 -19
  194. package/dist/labels/formatMessage.d.ts.map +0 -1
  195. package/dist/labels/formatMessage.js +0 -13
  196. package/dist/labels/formatMessage.js.map +0 -1
  197. package/dist/labels/getLabel.d.ts +0 -34
  198. package/dist/labels/getLabel.d.ts.map +0 -1
  199. package/dist/labels/getLabel.js +0 -18
  200. package/dist/labels/getLabel.js.map +0 -1
  201. package/dist/number/index.d.ts +0 -29
  202. package/dist/number/index.d.ts.map +0 -1
  203. package/dist/number/index.js +0 -43
  204. package/dist/number/index.js.map +0 -1
  205. package/dist/objects/getValueByPath.d.ts +0 -23
  206. package/dist/objects/getValueByPath.d.ts.map +0 -1
  207. package/dist/objects/getValueByPath.js +0 -19
  208. package/dist/objects/getValueByPath.js.map +0 -1
  209. package/dist/objects/setValueByPath.d.ts +0 -33
  210. package/dist/objects/setValueByPath.d.ts.map +0 -1
  211. package/dist/objects/setValueByPath.js +0 -35
  212. package/dist/objects/setValueByPath.js.map +0 -1
  213. package/dist/propsStore/propsStore.d.ts +0 -42
  214. package/dist/propsStore/propsStore.d.ts.map +0 -1
  215. package/dist/propsStore/propsStore.js +0 -157
  216. package/dist/propsStore/propsStore.js.map +0 -1
  217. package/dist/propsStore/types.d.ts +0 -24
  218. package/dist/propsStore/types.d.ts.map +0 -1
  219. package/dist/propsStore/usePropsSelector.d.ts +0 -67
  220. package/dist/propsStore/usePropsSelector.d.ts.map +0 -1
  221. package/dist/propsStore/usePropsSelector.js +0 -92
  222. package/dist/propsStore/usePropsSelector.js.map +0 -1
  223. package/dist/screenLock/screenLocker.d.ts +0 -60
  224. package/dist/screenLock/screenLocker.d.ts.map +0 -1
  225. package/dist/screenLock/screenLocker.js +0 -95
  226. package/dist/screenLock/screenLocker.js.map +0 -1
  227. package/dist/states/useDebouncedState.d.ts +0 -10
  228. package/dist/states/useDebouncedState.d.ts.map +0 -1
  229. package/dist/states/useDebouncedState.js +0 -22
  230. package/dist/states/useDebouncedState.js.map +0 -1
  231. package/dist/states/useDomState.d.ts +0 -86
  232. package/dist/states/useDomState.d.ts.map +0 -1
  233. package/dist/states/useDomState.js +0 -35
  234. package/dist/states/useDomState.js.map +0 -1
  235. package/dist/storage/StatefulStore.d.ts +0 -205
  236. package/dist/storage/StatefulStore.d.ts.map +0 -1
  237. package/dist/storage/StatefulStore.js +0 -301
  238. package/dist/storage/StatefulStore.js.map +0 -1
  239. package/dist/storage/persistentStorage.d.ts +0 -12
  240. package/dist/storage/persistentStorage.d.ts.map +0 -1
  241. package/dist/storage/persistentStorage.js +0 -28
  242. package/dist/storage/persistentStorage.js.map +0 -1
  243. package/dist/storage/useLocalStorage.d.ts +0 -7
  244. package/dist/storage/useLocalStorage.d.ts.map +0 -1
  245. package/dist/storage/useLocalStorage.js +0 -40
  246. package/dist/storage/useLocalStorage.js.map +0 -1
  247. package/dist/string/alignment.d.ts +0 -25
  248. package/dist/string/alignment.d.ts.map +0 -1
  249. package/dist/string/alignment.js +0 -26
  250. package/dist/string/alignment.js.map +0 -1
  251. package/dist/string/ucfirst.d.ts +0 -4
  252. package/dist/string/ucfirst.d.ts.map +0 -1
  253. package/dist/string/ucfirst.js +0 -6
  254. package/dist/string/ucfirst.js.map +0 -1
  255. package/dist/typeGuards/toBoolean.d.ts +0 -26
  256. package/dist/typeGuards/toBoolean.d.ts.map +0 -1
  257. package/dist/typeGuards/toBoolean.js +0 -11
  258. package/dist/typeGuards/toBoolean.js.map +0 -1
  259. package/dist/types/apia/common.d.ts +0 -114
  260. package/dist/types/apia/common.d.ts.map +0 -1
  261. package/dist/types/apia/date.d.ts +0 -4
  262. package/dist/types/apia/date.d.ts.map +0 -1
  263. package/dist/types/apia/forms.d.ts +0 -221
  264. package/dist/types/apia/forms.d.ts.map +0 -1
  265. package/dist/types/misc.d.ts +0 -9
  266. package/dist/types/misc.d.ts.map +0 -1
  267. package/dist/xml/parseXmlAsync.d.ts +0 -4
  268. package/dist/xml/parseXmlAsync.d.ts.map +0 -1
  269. package/dist/xml/parseXmlAsync.js +0 -58
  270. package/dist/xml/parseXmlAsync.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalFocus.js","sources":["../../src/focus/globalFocus.ts"],"sourcesContent":["import isFunction from 'lodash-es/isFunction';\nimport { TFocusRetriever } from './focusController';\nimport { debugDispatcher } from '../debug';\n\nconst historySize = 50;\n\n/**\n * The GlobalFocus helper keeps a list of the last focused elements and allows\n * to retrieve the last focused element which matches against a query selector.\n */\nexport const globalFocus = new (class {\n focused: (HTMLElement | TFocusRetriever)[] = [];\n\n #onFocusCallbacks: (() => unknown)[] = [];\n\n offFocus(cb: () => unknown) {\n this.#onFocusCallbacks = this.#onFocusCallbacks.filter(\n (current) => current !== cb,\n );\n }\n\n onFocus(cb: () => unknown) {\n this.#onFocusCallbacks.push(cb);\n\n return () => {\n this.offFocus(cb);\n };\n }\n\n constructor() {\n debugDispatcher.on(\n 'focusHistory',\n () => {\n console.info(this.focused);\n },\n 'Muestra el historial de elementos que recibieron foco.',\n );\n }\n\n inDocument(el: HTMLElement | TFocusRetriever) {\n return (\n el instanceof Function ||\n (el instanceof HTMLElement && el.offsetParent !== null)\n );\n }\n\n set focus(element: HTMLElement | TFocusRetriever) {\n this.focused = this.focused.filter((el) => {\n const existsInDocument = this.inDocument(el) && element !== el;\n\n return existsInDocument;\n });\n this.focused.unshift(element);\n if (this.focused.length > historySize) {\n this.focused = this.focused.splice(0, historySize);\n }\n\n this.#onFocusCallbacks.forEach((cb) => cb());\n }\n\n get list() {\n return [...this.focused];\n }\n\n /**\n * @param querySelector A query selector against which the element should match\n * @returns The last HTMLElement if no querySelector argument provided or else, the last which matches\n * against that query selector.\n * */\n last(querySelector?: string, omit = 0) {\n if (querySelector)\n for (let i = omit; i <= this.focused.length; i++) {\n const storedElement = this.focused[i];\n const element =\n // eslint-disable-next-line no-nested-ternary\n (storedElement as HTMLElement)?.id !== undefined\n ? (storedElement as HTMLElement)\n : isFunction(storedElement)\n ? storedElement(false)\n : null;\n\n if (\n element &&\n this.inDocument(element) &&\n element.matches &&\n element.matches(querySelector)\n )\n return element;\n }\n else return this.focused[this.focused.length - 1];\n return null;\n }\n})();\n"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import { EventEmitter } from '../events/EventEmitter.js';
2
-
3
- type THistoryCount = {
4
- currentStep: number;
5
- stepCount: number;
6
- };
7
- type THistoryStep<T> = {
8
- content: T;
9
- } & THistoryCount;
10
- type THistoryStepChange<T> = THistoryCount & THistoryStep<T> & {
11
- fromPush?: boolean;
12
- hasPrevious: boolean;
13
- hasNext: boolean;
14
- };
15
- type THistoryConfiguration = {
16
- maxLength: number;
17
- };
18
- /**
19
- * # Cómo usar el historial
20
- *
21
- * Es muy sencillo: se instancia con un callback que recibirá un método push
22
- * cada vez que una ventana se cierre. En esos momentos, el usuario del History
23
- * puede hacer push al estado.
24
- *
25
- * ## La mecánica
26
- *
27
- * - Instancio la clase y recibo el método push
28
- * - Cuando se realizan cambios significativos, llamo al método openWindow
29
- * - El método openWindow da una ventana de 350ms antes de llamar al callback
30
- * - Si durante esa ventana se vuelve a llamar a openWindow, la ventana se
31
- * resetea
32
- * - Si al llamar al callback, se hace push al estado, ese estado es propagado
33
- * mediante el hook y mediante el evento on('stepChange')
34
- *
35
- * ## Cómo escuchar cambios
36
- *
37
- * ```ts
38
- * this.history.on('stepChange', (data) => {
39
- if (!data.fromPush) this.update(data.content);
40
- });
41
- ```
42
- *
43
- * ## Back y forward
44
- *
45
- * El back y forward son dos métodos del history que hacen un stepChange y
46
- * emiten a través de on('stepChange') y el hook
47
- */
48
- declare class History<T> extends EventEmitter<{
49
- stepChange: THistoryStepChange<T>;
50
- }> {
51
- private configuration;
52
- private autocloseTimeout;
53
- private currentStep;
54
- private content;
55
- private emitting;
56
- protected enabled: boolean;
57
- private _isOpen;
58
- private timeoutMs;
59
- constructor(onCloseWindow: (push: (newState: T) => void) => unknown, configuration?: THistoryConfiguration);
60
- private closeWindow;
61
- private getEvent;
62
- private onCloseWindow;
63
- private push;
64
- private shoutStepChange;
65
- hooks: {
66
- useCountChange: (onChange: (ev: THistoryStepChange<T>) => unknown) => void;
67
- };
68
- back: () => void;
69
- disable: () => void;
70
- emit<K extends 'stepChange'>(eventName: K, params?: THistoryStepChange<T>): void;
71
- enable: () => void;
72
- forward: () => void;
73
- get isOpen(): boolean;
74
- openWindow: () => void;
75
- reset: () => void;
76
- updateConfig: (newConfiguration: Partial<THistoryConfiguration>) => void;
77
- useStep: () => Pick<THistoryStepChange<T>, "hasNext" | "hasPrevious" | "currentStep">;
78
- }
79
-
80
- export { History, type THistoryConfiguration, type THistoryCount, type THistoryStep, type THistoryStepChange };
81
- //# sourceMappingURL=History.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"History.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,122 +0,0 @@
1
- import { useState } from 'react';
2
- import { EventEmitter } from '../events/EventEmitter.js';
3
- import { useMount } from '../hooks/useMount.js';
4
-
5
- class History extends EventEmitter {
6
- constructor(onCloseWindow, configuration = { maxLength: 100 }) {
7
- super();
8
- this.configuration = configuration;
9
- this.autocloseTimeout = -1;
10
- this.currentStep = 0;
11
- this.content = [];
12
- this.emitting = 0;
13
- this.enabled = true;
14
- this._isOpen = false;
15
- this.timeoutMs = 350;
16
- this.closeWindow = () => {
17
- if (this._isOpen) {
18
- this.onCloseWindow(this.push.bind(this));
19
- this._isOpen = false;
20
- }
21
- };
22
- this.getEvent = () => {
23
- const stepCount = this.content.length - 1;
24
- const event = {
25
- content: this.content[this.currentStep],
26
- currentStep: this.currentStep,
27
- stepCount,
28
- hasNext: this.currentStep < stepCount,
29
- hasPrevious: this.currentStep >= 0
30
- };
31
- return event;
32
- };
33
- this.push = (el) => {
34
- this.content = [...this.content.slice(0, this.currentStep + 1), el];
35
- this.content = this.content.slice(
36
- Math.max(0, this.content.length - this.configuration.maxLength)
37
- );
38
- this.currentStep = this.content.length - 1;
39
- this.shoutStepChange(true);
40
- };
41
- this.shoutStepChange = (fromPush) => {
42
- try {
43
- this.emit("stepChange", { ...this.getEvent(), fromPush });
44
- } catch (e) {
45
- console.error(e);
46
- }
47
- };
48
- this.hooks = {
49
- useCountChange: (onChange) => {
50
- useMount(() => {
51
- onChange(this.getEvent());
52
- this.on("stepChange", () => {
53
- onChange(this.getEvent());
54
- });
55
- });
56
- }
57
- };
58
- this.back = () => {
59
- clearTimeout(this.autocloseTimeout);
60
- if (this.currentStep >= 0) {
61
- this.currentStep -= 1;
62
- this.shoutStepChange();
63
- }
64
- };
65
- this.disable = () => {
66
- this.enabled = false;
67
- };
68
- this.enable = () => {
69
- this.enabled = true;
70
- };
71
- this.forward = () => {
72
- clearTimeout(this.autocloseTimeout);
73
- if (this.currentStep < this.content.length - 1) {
74
- this.currentStep += 1;
75
- this.shoutStepChange();
76
- }
77
- };
78
- this.openWindow = () => {
79
- if (!this.enabled || this.emitting !== 0)
80
- return;
81
- this._isOpen = true;
82
- clearTimeout(this.autocloseTimeout);
83
- this.autocloseTimeout = setTimeout(() => {
84
- this.closeWindow();
85
- }, this.timeoutMs);
86
- };
87
- this.reset = () => {
88
- clearTimeout(this.autocloseTimeout);
89
- this.content = [];
90
- this.currentStep = -1;
91
- this.openWindow();
92
- };
93
- this.updateConfig = (newConfiguration) => {
94
- this.configuration = { ...this.configuration, ...newConfiguration };
95
- };
96
- this.useStep = () => {
97
- const [hasPrevious, setHasPrevious] = useState({ hasNext: false, hasPrevious: false, currentStep: 0 });
98
- useMount(() => {
99
- return this.on("stepChange", (ev) => {
100
- setHasPrevious({
101
- currentStep: ev.currentStep,
102
- hasNext: ev.hasNext,
103
- hasPrevious: ev.hasPrevious
104
- });
105
- });
106
- });
107
- return hasPrevious;
108
- };
109
- this.onCloseWindow = onCloseWindow;
110
- }
111
- emit(eventName, params) {
112
- this.emitting++;
113
- super.emit(eventName, params);
114
- this.emitting--;
115
- }
116
- get isOpen() {
117
- return this._isOpen;
118
- }
119
- }
120
-
121
- export { History };
122
- //# sourceMappingURL=History.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"History.js","sources":["../../src/history/History.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { EventEmitter } from '../events/EventEmitter';\nimport { useMount } from '../hooks';\n\nexport type THistoryCount = {\n currentStep: number;\n stepCount: number;\n};\n\nexport type THistoryStep<T> = {\n content: T;\n} & THistoryCount;\n\nexport type THistoryStepChange<T> = THistoryCount &\n THistoryStep<T> & {\n fromPush?: boolean;\n hasPrevious: boolean;\n hasNext: boolean;\n };\n\nexport type THistoryConfiguration = {\n maxLength: number;\n};\n\n/**\n * # Cómo usar el historial\n *\n * Es muy sencillo: se instancia con un callback que recibirá un método push\n * cada vez que una ventana se cierre. En esos momentos, el usuario del History\n * puede hacer push al estado.\n *\n * ## La mecánica\n *\n * - Instancio la clase y recibo el método push\n * - Cuando se realizan cambios significativos, llamo al método openWindow\n * - El método openWindow da una ventana de 350ms antes de llamar al callback\n * - Si durante esa ventana se vuelve a llamar a openWindow, la ventana se\n * resetea\n * - Si al llamar al callback, se hace push al estado, ese estado es propagado\n * mediante el hook y mediante el evento on('stepChange')\n * \n * ## Cómo escuchar cambios\n * \n * ```ts\n * this.history.on('stepChange', (data) => {\n if (!data.fromPush) this.update(data.content);\n });\n ```\n *\n * ## Back y forward\n *\n * El back y forward son dos métodos del history que hacen un stepChange y\n * emiten a través de on('stepChange') y el hook\n */\nexport class History<T> extends EventEmitter<{\n stepChange: THistoryStepChange<T>;\n}> {\n private autocloseTimeout = -1;\n private currentStep = 0;\n private content: T[] = [];\n private emitting = 0;\n protected enabled = true;\n private _isOpen = false;\n private timeoutMs = 350;\n\n constructor(\n onCloseWindow: (push: (newState: T) => void) => unknown,\n private configuration: THistoryConfiguration = { maxLength: 100 },\n ) {\n super();\n\n this.onCloseWindow = onCloseWindow;\n }\n\n private closeWindow = () => {\n if (this._isOpen) {\n this.onCloseWindow(this.push.bind(this));\n this._isOpen = false;\n }\n };\n\n private getEvent = () => {\n const stepCount = this.content.length - 1;\n const event = {\n content: this.content[this.currentStep],\n currentStep: this.currentStep,\n stepCount,\n hasNext: this.currentStep < stepCount,\n hasPrevious: this.currentStep >= 0,\n };\n\n return event;\n };\n\n private onCloseWindow: (push: (newState: T) => void) => unknown;\n\n private push = (el: T) => {\n this.content = [...this.content.slice(0, this.currentStep + 1), el];\n this.content = this.content.slice(\n Math.max(0, this.content.length - this.configuration.maxLength),\n );\n this.currentStep = this.content.length - 1;\n this.shoutStepChange(true);\n };\n\n private shoutStepChange = (fromPush?: boolean) => {\n try {\n this.emit('stepChange', { ...this.getEvent(), fromPush });\n } catch (e) {\n console.error(e);\n }\n };\n\n hooks = {\n useCountChange: (onChange: (ev: THistoryStepChange<T>) => unknown) => {\n useMount(() => {\n onChange(this.getEvent());\n\n this.on('stepChange', () => {\n onChange(this.getEvent());\n });\n });\n },\n };\n\n back = () => {\n clearTimeout(this.autocloseTimeout);\n if (this.currentStep >= 0) {\n this.currentStep -= 1;\n this.shoutStepChange();\n }\n };\n\n disable = () => {\n this.enabled = false;\n };\n\n emit<K extends 'stepChange'>(\n eventName: K,\n params?: THistoryStepChange<T>,\n ): void {\n this.emitting++;\n\n super.emit(eventName, params as THistoryStepChange<T>);\n\n this.emitting--;\n }\n\n enable = () => {\n this.enabled = true;\n };\n\n forward = () => {\n clearTimeout(this.autocloseTimeout);\n if (this.currentStep < this.content.length - 1) {\n this.currentStep += 1;\n this.shoutStepChange();\n }\n };\n\n get isOpen() {\n return this._isOpen;\n }\n\n openWindow = () => {\n if (!this.enabled || this.emitting !== 0) return;\n\n this._isOpen = true;\n\n clearTimeout(this.autocloseTimeout);\n this.autocloseTimeout = setTimeout(() => {\n this.closeWindow();\n }, this.timeoutMs) as unknown as number;\n };\n\n reset = () => {\n clearTimeout(this.autocloseTimeout);\n this.content = [];\n this.currentStep = -1;\n this.openWindow();\n };\n\n updateConfig = (newConfiguration: Partial<THistoryConfiguration>) => {\n this.configuration = { ...this.configuration, ...newConfiguration };\n };\n\n useStep = () => {\n const [hasPrevious, setHasPrevious] = useState<\n Pick<THistoryStepChange<T>, 'hasNext' | 'hasPrevious' | 'currentStep'>\n >({ hasNext: false, hasPrevious: false, currentStep: 0 });\n\n useMount(() => {\n return this.on('stepChange', (ev) => {\n setHasPrevious({\n currentStep: ev.currentStep,\n hasNext: ev.hasNext,\n hasPrevious: ev.hasPrevious,\n });\n });\n });\n\n return hasPrevious;\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
-
3
- /**
4
- * Permite reasignar múltiples referencias desde un mismo componente.
5
- *
6
- * @example
7
- *
8
- * const ref1 = useRef(null)
9
- * const ref2 = useRef(null)
10
- *
11
- * const assignRefs = useMultipleRefs(ref1, ref2);
12
- *
13
- * return <Box ref={assignRefs} ...
14
- */
15
- declare function useCombinedRefs<RefType = HTMLInputElement>(...refs: (React.ForwardedRef<unknown> | undefined)[]): React.Dispatch<React.SetStateAction<RefType | undefined>>;
16
-
17
- export { useCombinedRefs };
18
- //# sourceMappingURL=useCombinedRefs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCombinedRefs.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
-
3
- function useCombinedRefs(...refs) {
4
- const [targetRef, setTargetRef] = React.useState();
5
- React.useEffect(() => {
6
- refs.forEach((ref) => {
7
- if (!ref)
8
- return;
9
- if (typeof ref === "function") {
10
- ref(targetRef);
11
- } else {
12
- ref.current = targetRef;
13
- }
14
- });
15
- }, [refs, targetRef]);
16
- return setTargetRef;
17
- }
18
-
19
- export { useCombinedRefs };
20
- //# sourceMappingURL=useCombinedRefs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCombinedRefs.js","sources":["../../src/hooks/useCombinedRefs.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Permite reasignar múltiples referencias desde un mismo componente.\n *\n * @example\n *\n * const ref1 = useRef(null)\n * const ref2 = useRef(null)\n *\n * const assignRefs = useMultipleRefs(ref1, ref2);\n *\n * return <Box ref={assignRefs} ...\n */\nexport function useCombinedRefs<RefType = HTMLInputElement>(\n ...refs: (React.ForwardedRef<unknown> | undefined)[]\n) {\n const [targetRef, setTargetRef] = React.useState<RefType>();\n\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (!ref) return;\n\n if (typeof ref === 'function') {\n ref(targetRef);\n } else {\n // eslint-disable-next-line no-param-reassign\n ref.current = targetRef;\n }\n });\n }, [refs, targetRef]);\n\n return setTargetRef;\n}\n"],"names":[],"mappings":";;AAcO,SAAS,mBACX,IACH,EAAA;AACA,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,MAAM,QAAkB,EAAA,CAAA;AAE1D,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACpB,MAAA,IAAI,CAAC,GAAA;AAAK,QAAA,OAAA;AAEV,MAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,QAAA,GAAA,CAAI,SAAS,CAAA,CAAA;AAAA,OACR,MAAA;AAEL,QAAA,GAAA,CAAI,OAAU,GAAA,SAAA,CAAA;AAAA,OAChB;AAAA,KACD,CAAA,CAAA;AAAA,GACA,EAAA,CAAC,IAAM,EAAA,SAAS,CAAC,CAAA,CAAA;AAEpB,EAAO,OAAA,YAAA,CAAA;AACT;;;;"}
@@ -1,7 +0,0 @@
1
- declare const useDebouncedCallback: <Params extends any[]>(callback: (...params: Params) => unknown, { runWhenTriggered, timeout }?: {
2
- runWhenTriggered: boolean;
3
- timeout: number;
4
- }) => (...params: Params) => void;
5
-
6
- export { useDebouncedCallback };
7
- //# sourceMappingURL=useDebouncedCallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDebouncedCallback.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import { useRef, useCallback } from 'react';
2
-
3
- const useDebouncedCallback = (callback, { runWhenTriggered, timeout } = { runWhenTriggered: false, timeout: 200 }) => {
4
- const timeoutRef = useRef(-1);
5
- return useCallback(
6
- (...params) => {
7
- if (runWhenTriggered)
8
- callback(...params);
9
- clearTimeout(timeoutRef.current);
10
- timeoutRef.current = setTimeout(
11
- () => callback(...params),
12
- timeout
13
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- );
15
- },
16
- [callback, runWhenTriggered, timeout]
17
- );
18
- };
19
-
20
- export { useDebouncedCallback };
21
- //# sourceMappingURL=useDebouncedCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDebouncedCallback.js","sources":["../../src/hooks/useDebouncedCallback.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const useDebouncedCallback = <Params extends any[]>(\n callback: (...params: Params) => unknown,\n { runWhenTriggered, timeout } = { runWhenTriggered: false, timeout: 200 },\n) => {\n const timeoutRef = useRef<number>(-1);\n\n return useCallback(\n (...params: Params) => {\n if (runWhenTriggered) callback(...params);\n\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(\n () => callback(...params),\n timeout,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) as any;\n },\n [callback, runWhenTriggered, timeout],\n );\n};\n"],"names":[],"mappings":";;AAGO,MAAM,oBAAuB,GAAA,CAClC,QACA,EAAA,EAAE,gBAAkB,EAAA,OAAA,EAAY,GAAA,EAAE,gBAAkB,EAAA,KAAA,EAAO,OAAS,EAAA,GAAA,EACjE,KAAA;AACH,EAAM,MAAA,UAAA,GAAa,OAAe,CAAE,CAAA,CAAA,CAAA;AAEpC,EAAO,OAAA,WAAA;AAAA,IACL,IAAI,MAAmB,KAAA;AACrB,MAAI,IAAA,gBAAA;AAAkB,QAAA,QAAA,CAAS,GAAG,MAAM,CAAA,CAAA;AAExC,MAAA,YAAA,CAAa,WAAW,OAAO,CAAA,CAAA;AAC/B,MAAA,UAAA,CAAW,OAAU,GAAA,UAAA;AAAA,QACnB,MAAM,QAAS,CAAA,GAAG,MAAM,CAAA;AAAA,QACxB,OAAA;AAAA;AAAA,OAEF,CAAA;AAAA,KACF;AAAA,IACA,CAAC,QAAU,EAAA,gBAAA,EAAkB,OAAO,CAAA;AAAA,GACtC,CAAA;AACF;;;;"}
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
-
3
- /**
4
- * Devuelve una referencia que mantiene siempre el último valor del elemento
5
- * pasado, es especialmente útil para acceder a valores del componente desde
6
- * dentro de efectos.
7
- *
8
- * *Investigar qué es 'react stale state'*
9
- */
10
- declare function useLatest<T>(value: T): React.MutableRefObject<T>;
11
-
12
- export { useLatest };
13
- //# sourceMappingURL=useLatest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLatest.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { useRef } from 'react';
2
-
3
- function useLatest(value) {
4
- const ref = useRef(value);
5
- ref.current = value;
6
- return ref;
7
- }
8
-
9
- export { useLatest };
10
- //# sourceMappingURL=useLatest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLatest.js","sources":["../../src/hooks/useLatest.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * Devuelve una referencia que mantiene siempre el último valor del elemento\n * pasado, es especialmente útil para acceder a valores del componente desde\n * dentro de efectos.\n *\n * *Investigar qué es 'react stale state'*\n */\nexport function useLatest<T>(value: T) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n"],"names":[],"mappings":";;AASO,SAAS,UAAa,KAAU,EAAA;AACrC,EAAM,MAAA,GAAA,GAAM,OAAO,KAAK,CAAA,CAAA;AACxB,EAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AACd,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}
@@ -1,6 +0,0 @@
1
- import { EffectCallback } from 'react';
2
-
3
- declare function useMount(effect: EffectCallback): void;
4
-
5
- export { useMount };
6
- //# sourceMappingURL=useMount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMount.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,14 +0,0 @@
1
- import { useRef, useEffect } from 'react';
2
-
3
- function useMount(effect) {
4
- const hasRun = useRef(false);
5
- useEffect(() => {
6
- if (!hasRun.current) {
7
- hasRun.current = true;
8
- return effect();
9
- }
10
- }, []);
11
- }
12
-
13
- export { useMount };
14
- //# sourceMappingURL=useMount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMount.js","sources":["../../src/hooks/useMount.ts"],"sourcesContent":["import { EffectCallback, useEffect, useRef } from 'react';\n\nexport function useMount(effect: EffectCallback) {\n const hasRun = useRef(false);\n\n useEffect(() => {\n if (!hasRun.current) {\n hasRun.current = true;\n return effect();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\n"],"names":[],"mappings":";;AAEO,SAAS,SAAS,MAAwB,EAAA;AAC/C,EAAM,MAAA,MAAA,GAAS,OAAO,KAAK,CAAA,CAAA;AAE3B,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,OAAO,OAAS,EAAA;AACnB,MAAA,MAAA,CAAO,OAAU,GAAA,IAAA,CAAA;AACjB,MAAA,OAAO,MAAO,EAAA,CAAA;AAAA,KAChB;AAAA,GAEF,EAAG,EAAE,CAAA,CAAA;AACP;;;;"}
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
-
3
- declare function usePrevious<T>(value: T): React.MutableRefObject<T | undefined>;
4
-
5
- export { usePrevious };
6
- //# sourceMappingURL=usePrevious.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePrevious.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { useRef } from 'react';
2
-
3
- function usePrevious(value) {
4
- const previousValue = useRef(void 0);
5
- const currentValue = useRef(void 0);
6
- previousValue.current = currentValue.current;
7
- currentValue.current = value;
8
- return previousValue;
9
- }
10
-
11
- export { usePrevious };
12
- //# sourceMappingURL=usePrevious.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePrevious.js","sources":["../../src/hooks/usePrevious.ts"],"sourcesContent":["import { useRef } from 'react';\n\nexport function usePrevious<T>(value: T) {\n const previousValue = useRef<T | undefined>(undefined);\n const currentValue = useRef<T>(undefined as unknown as T);\n\n previousValue.current = currentValue.current;\n currentValue.current = value;\n\n return previousValue;\n}\n"],"names":[],"mappings":";;AAEO,SAAS,YAAe,KAAU,EAAA;AACvC,EAAM,MAAA,aAAA,GAAgB,OAAsB,KAAS,CAAA,CAAA,CAAA;AACrD,EAAM,MAAA,YAAA,GAAe,OAAU,KAAyB,CAAA,CAAA,CAAA;AAExD,EAAA,aAAA,CAAc,UAAU,YAAa,CAAA,OAAA,CAAA;AACrC,EAAA,YAAA,CAAa,OAAU,GAAA,KAAA,CAAA;AAEvB,EAAO,OAAA,aAAA,CAAA;AACT;;;;"}
@@ -1,9 +0,0 @@
1
- declare function shallowEqual(a: unknown, b: unknown): boolean;
2
- /**
3
- * Compara con shallowEqual todos los ítems de dos arrays
4
- */
5
- declare function shallowCompareArrays(a: unknown[], b: unknown[]): boolean;
6
- declare function useShallowMemo<T>(creator: () => T, deps: unknown[]): T;
7
-
8
- export { shallowCompareArrays, shallowEqual, useShallowMemo };
9
- //# sourceMappingURL=useShallowMemo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useShallowMemo.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- import { useRef } from 'react';
2
- import { usePrevious } from './usePrevious.js';
3
-
4
- function shallowEqual(a, b) {
5
- if (typeof a !== typeof b)
6
- return false;
7
- if (typeof a === "object" && a && typeof b === "object" && b) {
8
- const aKeys = Object.keys(a);
9
- const bKeys = Object.keys(b);
10
- if (aKeys.length !== bKeys.length)
11
- return false;
12
- for (let i = 0; i < aKeys.length; i++) {
13
- if (a[aKeys[i]] !== b[bKeys[i]])
14
- return false;
15
- }
16
- } else {
17
- if (a !== b)
18
- return false;
19
- }
20
- return true;
21
- }
22
- function shallowCompareArrays(a, b) {
23
- if (a.length !== b.length)
24
- return false;
25
- for (let i = 0; i < a.length; i++) {
26
- const differ = shallowEqual(a, b);
27
- if (!differ)
28
- return false;
29
- }
30
- return true;
31
- }
32
- function useShallowMemo(creator, deps) {
33
- const value = useRef(creator());
34
- const previousDeps = usePrevious(deps);
35
- if (!shallowEqual(previousDeps.current ?? [], deps)) {
36
- value.current = creator();
37
- }
38
- return value.current;
39
- }
40
-
41
- export { shallowCompareArrays, shallowEqual, useShallowMemo };
42
- //# sourceMappingURL=useShallowMemo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useShallowMemo.js","sources":["../../src/hooks/useShallowMemo.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { usePrevious } from './usePrevious';\n\nexport function shallowEqual(a: unknown, b: unknown) {\n if (typeof a !== typeof b) return false;\n\n if (typeof a === 'object' && a && typeof b === 'object' && b) {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n for (let i = 0; i < aKeys.length; i++) {\n if (a[aKeys[i] as keyof typeof a] !== b[bKeys[i] as keyof typeof b])\n return false;\n }\n } else {\n if (a !== b) return false;\n }\n\n return true;\n}\n\n/**\n * Compara con shallowEqual todos los ítems de dos arrays\n */\nexport function shallowCompareArrays(a: unknown[], b: unknown[]): boolean {\n if (a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n const differ = shallowEqual(a, b);\n\n if (!differ) return false;\n }\n\n return true;\n}\n\nexport function useShallowMemo<T>(creator: () => T, deps: unknown[]): T {\n const value = useRef(creator());\n\n const previousDeps = usePrevious(deps);\n if (!shallowEqual(previousDeps.current ?? [], deps)) {\n value.current = creator();\n }\n\n return value.current;\n}\n"],"names":[],"mappings":";;;AAGgB,SAAA,YAAA,CAAa,GAAY,CAAY,EAAA;AACnD,EAAI,IAAA,OAAO,MAAM,OAAO,CAAA;AAAG,IAAO,OAAA,KAAA,CAAA;AAElC,EAAA,IAAI,OAAO,CAAM,KAAA,QAAA,IAAY,KAAK,OAAO,CAAA,KAAM,YAAY,CAAG,EAAA;AAC5D,IAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,IAAA,CAAK,CAAC,CAAA,CAAA;AAC3B,IAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,IAAA,CAAK,CAAC,CAAA,CAAA;AAE3B,IAAI,IAAA,KAAA,CAAM,WAAW,KAAM,CAAA,MAAA;AAAQ,MAAO,OAAA,KAAA,CAAA;AAE1C,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,MAAI,IAAA,CAAA,CAAE,MAAM,CAAC,CAAmB,MAAM,CAAE,CAAA,KAAA,CAAM,CAAC,CAAmB,CAAA;AAChE,QAAO,OAAA,KAAA,CAAA;AAAA,KACX;AAAA,GACK,MAAA;AACL,IAAA,IAAI,CAAM,KAAA,CAAA;AAAG,MAAO,OAAA,KAAA,CAAA;AAAA,GACtB;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAKgB,SAAA,oBAAA,CAAqB,GAAc,CAAuB,EAAA;AACxE,EAAI,IAAA,CAAA,CAAE,WAAW,CAAE,CAAA,MAAA;AAAQ,IAAO,OAAA,KAAA,CAAA;AAElC,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,CAAE,QAAQ,CAAK,EAAA,EAAA;AACjC,IAAM,MAAA,MAAA,GAAS,YAAa,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAEhC,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAO,OAAA,KAAA,CAAA;AAAA,GACtB;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAEgB,SAAA,cAAA,CAAkB,SAAkB,IAAoB,EAAA;AACtE,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,OAAA,EAAS,CAAA,CAAA;AAE9B,EAAM,MAAA,YAAA,GAAe,YAAY,IAAI,CAAA,CAAA;AACrC,EAAA,IAAI,CAAC,YAAa,CAAA,YAAA,CAAa,WAAW,EAAC,EAAG,IAAI,CAAG,EAAA;AACnD,IAAA,KAAA,CAAM,UAAU,OAAQ,EAAA,CAAA;AAAA,GAC1B;AAEA,EAAA,OAAO,KAAM,CAAA,OAAA,CAAA;AACf;;;;"}
@@ -1,10 +0,0 @@
1
- import { Dispatch, SetStateAction, MutableRefObject } from 'react';
2
-
3
- declare function useStateRef<T>(initialState?: T): [
4
- typeof initialState extends undefined ? T | undefined : T,
5
- Dispatch<SetStateAction<typeof initialState extends undefined ? T | undefined : T>>,
6
- MutableRefObject<typeof initialState extends undefined ? T | undefined : T>
7
- ];
8
-
9
- export { useStateRef };
10
- //# sourceMappingURL=useStateRef.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStateRef.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { useState, useRef } from 'react';
2
-
3
- function useStateRef(initialState) {
4
- const [state, setState] = useState(initialState);
5
- const stateRef = useRef(state);
6
- stateRef.current = state;
7
- return [state, setState, stateRef];
8
- }
9
-
10
- export { useStateRef };
11
- //# sourceMappingURL=useStateRef.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStateRef.js","sources":["../../src/hooks/useStateRef.ts"],"sourcesContent":["import {\n Dispatch,\n MutableRefObject,\n SetStateAction,\n useRef,\n useState,\n} from 'react';\n\nexport function useStateRef<T>(\n initialState?: T,\n): [\n typeof initialState extends undefined ? T | undefined : T,\n Dispatch<\n SetStateAction<typeof initialState extends undefined ? T | undefined : T>\n >,\n MutableRefObject<typeof initialState extends undefined ? T | undefined : T>,\n] {\n const [state, setState] = useState<\n typeof initialState extends undefined ? T | undefined : T\n >(initialState as typeof initialState extends undefined ? T | undefined : T);\n\n const stateRef = useRef(state);\n stateRef.current = state;\n\n return [state, setState, stateRef];\n}\n"],"names":[],"mappings":";;AAQO,SAAS,YACd,YAOA,EAAA;AACA,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAExB,YAAyE,CAAA,CAAA;AAE3E,EAAM,MAAA,QAAA,GAAW,OAAO,KAAK,CAAA,CAAA;AAC7B,EAAA,QAAA,CAAS,OAAU,GAAA,KAAA,CAAA;AAEnB,EAAO,OAAA,CAAC,KAAO,EAAA,QAAA,EAAU,QAAQ,CAAA,CAAA;AACnC;;;;"}
@@ -1,31 +0,0 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
-
3
- /**
4
- * Este hook es una simplificación de la dinámica de suscripción con cambio de
5
- * estado ante eventos.
6
- *
7
- * @example
8
- *
9
- * useIsAfter = (id: string) => {
10
- return useSubscription({
11
- getInitialState: () => {
12
- return { isAfter: this.#isAfter(id), isBefore: this.#isBefore(id) };
13
- },
14
- makeSubscription: (setState) => {
15
- return this.#emitter.on('hover', () => {
16
- setState({
17
- isAfter: this.#isAfter(id),
18
- isBefore: this.#isBefore(id),
19
- });
20
- });
21
- },
22
- });
23
- };
24
- */
25
- declare function useSubscription<T>({ getInitialState, makeSubscription, }: {
26
- getInitialState?: (() => T) | (() => () => T);
27
- makeSubscription: (setState: Dispatch<SetStateAction<T>>) => () => void;
28
- }): T;
29
-
30
- export { useSubscription };
31
- //# sourceMappingURL=useSubscription.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSubscription.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import { useState } from 'react';
2
- import { useMount } from './useMount.js';
3
-
4
- function useSubscription({
5
- getInitialState,
6
- makeSubscription
7
- }) {
8
- const [state, setState] = useState(getInitialState?.());
9
- useMount(() => {
10
- let newState = getInitialState?.();
11
- if (typeof newState === "function")
12
- newState = newState();
13
- if (newState !== void 0)
14
- setState(newState);
15
- return makeSubscription(setState);
16
- });
17
- return state;
18
- }
19
-
20
- export { useSubscription };
21
- //# sourceMappingURL=useSubscription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSubscription.js","sources":["../../src/hooks/useSubscription.ts"],"sourcesContent":["import { Dispatch, SetStateAction, useState } from 'react';\nimport { useMount } from './useMount';\n\n/**\n * Este hook es una simplificación de la dinámica de suscripción con cambio de\n * estado ante eventos.\n * \n * @example\n * \n * useIsAfter = (id: string) => {\n return useSubscription({\n getInitialState: () => {\n return { isAfter: this.#isAfter(id), isBefore: this.#isBefore(id) };\n },\n makeSubscription: (setState) => {\n return this.#emitter.on('hover', () => {\n setState({\n isAfter: this.#isAfter(id),\n isBefore: this.#isBefore(id),\n });\n });\n },\n });\n };\n */\nexport function useSubscription<T>({\n getInitialState,\n makeSubscription,\n}: {\n getInitialState?: (() => T) | (() => () => T);\n makeSubscription: (setState: Dispatch<SetStateAction<T>>) => () => void;\n}) {\n const [state, setState] = useState<T>(getInitialState?.() as T);\n\n useMount(() => {\n let newState = getInitialState?.();\n if (typeof newState === 'function') newState = (newState as () => T)();\n\n if (newState !== undefined) setState(newState);\n\n return makeSubscription(setState);\n });\n\n return state;\n}\n"],"names":[],"mappings":";;;AAyBO,SAAS,eAAmB,CAAA;AAAA,EACjC,eAAA;AAAA,EACA,gBAAA;AACF,CAGG,EAAA;AACD,EAAA,MAAM,CAAC,KAAO,EAAA,QAAQ,CAAI,GAAA,QAAA,CAAY,mBAAwB,CAAA,CAAA;AAE9D,EAAA,QAAA,CAAS,MAAM;AACb,IAAA,IAAI,WAAW,eAAkB,IAAA,CAAA;AACjC,IAAA,IAAI,OAAO,QAAa,KAAA,UAAA;AAAY,MAAA,QAAA,GAAY,QAAqB,EAAA,CAAA;AAErE,IAAA,IAAI,QAAa,KAAA,KAAA,CAAA;AAAW,MAAA,QAAA,CAAS,QAAQ,CAAA,CAAA;AAE7C,IAAA,OAAO,iBAAiB,QAAQ,CAAA,CAAA;AAAA,GACjC,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
@@ -1,4 +0,0 @@
1
- declare function useUnmount(unmountCallback: () => void): void;
2
-
3
- export { useUnmount };
4
- //# sourceMappingURL=useUnmount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUnmount.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- function useUnmount(unmountCallback) {
4
- useEffect(() => {
5
- return unmountCallback;
6
- }, []);
7
- }
8
-
9
- export { useUnmount };
10
- //# sourceMappingURL=useUnmount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUnmount.js","sources":["../../src/hooks/useUnmount.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nexport function useUnmount(unmountCallback: () => void) {\n useEffect(() => {\n return unmountCallback;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\n"],"names":[],"mappings":";;AAEO,SAAS,WAAW,eAA6B,EAAA;AACtD,EAAA,SAAA,CAAU,MAAM;AACd,IAAO,OAAA,eAAA,CAAA;AAAA,GAET,EAAG,EAAE,CAAA,CAAA;AACP;;;;"}
@@ -1,10 +0,0 @@
1
- import { EffectCallback, DependencyList } from 'react';
2
-
3
- /**
4
- * Este hook se comporta igual que useEffect, con la diferencia de que en el
5
- * primer renderizado no se va a ejecutar.
6
- */
7
- declare function useUpdateEffect(effect: EffectCallback, deps?: DependencyList): void;
8
-
9
- export { useUpdateEffect };
10
- //# sourceMappingURL=useUpdateEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpdateEffect.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}