@tecsinapse/react-native-kit 1.22.6 → 1.22.8

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 (171) hide show
  1. package/dist/cjs/components/atoms/Avatar/Avatar.js +3 -21
  2. package/dist/cjs/components/atoms/Avatar/Avatar.js.map +1 -1
  3. package/dist/cjs/components/atoms/Badge/Badge.js +9 -43
  4. package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
  5. package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js +14 -43
  6. package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  7. package/dist/cjs/components/atoms/BottomNavigator/Item.js +13 -43
  8. package/dist/cjs/components/atoms/BottomNavigator/Item.js.map +1 -1
  9. package/dist/cjs/components/atoms/Button/Button.js +9 -42
  10. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  11. package/dist/cjs/components/atoms/Button/States/Error.js +5 -23
  12. package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
  13. package/dist/cjs/components/atoms/Button/States/Loading.js +3 -21
  14. package/dist/cjs/components/atoms/Button/States/Loading.js.map +1 -1
  15. package/dist/cjs/components/atoms/Button/States/Success.js +3 -21
  16. package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
  17. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js +3 -21
  18. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  19. package/dist/cjs/components/atoms/Header/Header.d.ts +1 -0
  20. package/dist/cjs/components/atoms/Header/Header.js +25 -51
  21. package/dist/cjs/components/atoms/Header/Header.js.map +1 -1
  22. package/dist/cjs/components/atoms/Header/styled.js +1 -0
  23. package/dist/cjs/components/atoms/Header/styled.js.map +1 -1
  24. package/dist/cjs/components/atoms/Input/Input.js +32 -84
  25. package/dist/cjs/components/atoms/Input/Input.js.map +1 -1
  26. package/dist/cjs/components/atoms/InputMask/InputMask.js +29 -83
  27. package/dist/cjs/components/atoms/InputMask/InputMask.js.map +1 -1
  28. package/dist/cjs/components/atoms/Modal/ModalGroupManager.js +5 -33
  29. package/dist/cjs/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  30. package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js +67 -86
  31. package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  32. package/dist/cjs/components/atoms/Modal/useLazyModalManager.js +1 -1
  33. package/dist/cjs/components/atoms/Modal/useLazyModalManager.js.map +1 -1
  34. package/dist/cjs/components/atoms/Modal/useModalManager.js +1 -1
  35. package/dist/cjs/components/atoms/Modal/useModalManager.js.map +1 -1
  36. package/dist/cjs/components/atoms/Skeleton/Pulse.js +4 -5
  37. package/dist/cjs/components/atoms/Skeleton/Pulse.js.map +1 -1
  38. package/dist/cjs/components/atoms/Skeleton/Skeleton.js +13 -47
  39. package/dist/cjs/components/atoms/Skeleton/Skeleton.js.map +1 -1
  40. package/dist/cjs/components/atoms/Skeleton/Wave.js +5 -6
  41. package/dist/cjs/components/atoms/Skeleton/Wave.js.map +1 -1
  42. package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js +11 -43
  43. package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  44. package/dist/cjs/components/atoms/Tag/Tag.js +5 -33
  45. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  46. package/dist/cjs/components/atoms/Text/Text.js +4 -31
  47. package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
  48. package/dist/cjs/components/atoms/Text/styled.js +3 -3
  49. package/dist/cjs/components/atoms/Text/styled.js.map +1 -1
  50. package/dist/cjs/components/atoms/TextArea/TextArea.js +29 -83
  51. package/dist/cjs/components/atoms/TextArea/TextArea.js.map +1 -1
  52. package/dist/cjs/components/molecules/Calendar/Calendar.js +8 -40
  53. package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
  54. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +15 -48
  55. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  56. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +12 -43
  57. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  58. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -40
  59. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  60. package/dist/cjs/components/molecules/Grid/Grid.js +20 -55
  61. package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
  62. package/dist/cjs/components/molecules/Grid/Item/Item.js +28 -75
  63. package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
  64. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js +13 -47
  65. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  66. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js +7 -23
  67. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  68. package/dist/cjs/components/molecules/IconTextButton/styled.js +3 -3
  69. package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
  70. package/dist/cjs/components/molecules/InputPassword/InputPassword.js +4 -35
  71. package/dist/cjs/components/molecules/InputPassword/InputPassword.js.map +1 -1
  72. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js +15 -47
  73. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  74. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js +14 -49
  75. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  76. package/dist/cjs/components/molecules/LabeledSwitch/styled.js +2 -2
  77. package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
  78. package/dist/cjs/components/molecules/Select/Modal.js +25 -71
  79. package/dist/cjs/components/molecules/Select/Modal.js.map +1 -1
  80. package/dist/cjs/components/molecules/Select/Select.js +37 -91
  81. package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
  82. package/dist/cjs/components/molecules/Select/styled.js +3 -6
  83. package/dist/cjs/components/molecules/Select/styled.js.map +1 -1
  84. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +10 -41
  85. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  86. package/dist/esm/components/atoms/Avatar/Avatar.js +3 -21
  87. package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  88. package/dist/esm/components/atoms/Badge/Badge.js +9 -43
  89. package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
  90. package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js +14 -43
  91. package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  92. package/dist/esm/components/atoms/BottomNavigator/Item.js +13 -43
  93. package/dist/esm/components/atoms/BottomNavigator/Item.js.map +1 -1
  94. package/dist/esm/components/atoms/Button/Button.js +9 -42
  95. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  96. package/dist/esm/components/atoms/Button/States/Error.js +6 -24
  97. package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
  98. package/dist/esm/components/atoms/Button/States/Loading.js +3 -21
  99. package/dist/esm/components/atoms/Button/States/Loading.js.map +1 -1
  100. package/dist/esm/components/atoms/Button/States/Success.js +3 -21
  101. package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
  102. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js +3 -21
  103. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  104. package/dist/esm/components/atoms/Header/Header.d.ts +1 -0
  105. package/dist/esm/components/atoms/Header/Header.js +26 -52
  106. package/dist/esm/components/atoms/Header/Header.js.map +1 -1
  107. package/dist/esm/components/atoms/Header/styled.js +2 -1
  108. package/dist/esm/components/atoms/Header/styled.js.map +1 -1
  109. package/dist/esm/components/atoms/Input/Input.js +32 -84
  110. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  111. package/dist/esm/components/atoms/InputMask/InputMask.js +29 -83
  112. package/dist/esm/components/atoms/InputMask/InputMask.js.map +1 -1
  113. package/dist/esm/components/atoms/Modal/ModalGroupManager.js +5 -33
  114. package/dist/esm/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  115. package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js +67 -86
  116. package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  117. package/dist/esm/components/atoms/Modal/useLazyModalManager.js +1 -1
  118. package/dist/esm/components/atoms/Modal/useLazyModalManager.js.map +1 -1
  119. package/dist/esm/components/atoms/Modal/useModalManager.js +1 -1
  120. package/dist/esm/components/atoms/Modal/useModalManager.js.map +1 -1
  121. package/dist/esm/components/atoms/Skeleton/Pulse.js +4 -5
  122. package/dist/esm/components/atoms/Skeleton/Pulse.js.map +1 -1
  123. package/dist/esm/components/atoms/Skeleton/Skeleton.js +13 -47
  124. package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
  125. package/dist/esm/components/atoms/Skeleton/Wave.js +5 -6
  126. package/dist/esm/components/atoms/Skeleton/Wave.js.map +1 -1
  127. package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js +11 -43
  128. package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  129. package/dist/esm/components/atoms/Tag/Tag.js +5 -33
  130. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  131. package/dist/esm/components/atoms/Text/Text.js +4 -31
  132. package/dist/esm/components/atoms/Text/Text.js.map +1 -1
  133. package/dist/esm/components/atoms/Text/styled.js +3 -3
  134. package/dist/esm/components/atoms/Text/styled.js.map +1 -1
  135. package/dist/esm/components/atoms/TextArea/TextArea.js +29 -83
  136. package/dist/esm/components/atoms/TextArea/TextArea.js.map +1 -1
  137. package/dist/esm/components/molecules/Calendar/Calendar.js +8 -40
  138. package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  139. package/dist/esm/components/molecules/DatePicker/DatePicker.js +15 -48
  140. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  141. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +12 -43
  142. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  143. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -40
  144. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  145. package/dist/esm/components/molecules/Grid/Grid.js +20 -55
  146. package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
  147. package/dist/esm/components/molecules/Grid/Item/Item.js +28 -75
  148. package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
  149. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +13 -47
  150. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  151. package/dist/esm/components/molecules/IconTextButton/TextComponent.js +7 -23
  152. package/dist/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  153. package/dist/esm/components/molecules/IconTextButton/styled.js +3 -3
  154. package/dist/esm/components/molecules/IconTextButton/styled.js.map +1 -1
  155. package/dist/esm/components/molecules/InputPassword/InputPassword.js +4 -35
  156. package/dist/esm/components/molecules/InputPassword/InputPassword.js.map +1 -1
  157. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +15 -47
  158. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  159. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +14 -49
  160. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  161. package/dist/esm/components/molecules/LabeledSwitch/styled.js +2 -2
  162. package/dist/esm/components/molecules/LabeledSwitch/styled.js.map +1 -1
  163. package/dist/esm/components/molecules/Select/Modal.js +25 -71
  164. package/dist/esm/components/molecules/Select/Modal.js.map +1 -1
  165. package/dist/esm/components/molecules/Select/Select.js +38 -92
  166. package/dist/esm/components/molecules/Select/Select.js.map +1 -1
  167. package/dist/esm/components/molecules/Select/styled.js +3 -6
  168. package/dist/esm/components/molecules/Select/styled.js.map +1 -1
  169. package/dist/esm/components/molecules/Snackbar/Snackbar.js +10 -41
  170. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  171. package/package.json +3 -3
@@ -1,97 +1,78 @@
1
1
  import React__default from 'react';
2
2
 
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
3
  class ModalLifecycleHandler {
4
+ nodeGroup;
5
+ state;
23
6
  constructor() {
24
- this.attach = (state) => {
25
- this.state = state;
26
- };
27
- this.update = () => {
28
- requestAnimationFrame(() => {
29
- const nodes = Array.from(this.nodeGroup.values()).filter((node) => node.visible || !!node.lastVisualization).sort(
30
- (nodeA, nodeB) => {
31
- var _a, _b;
32
- return (((_a = nodeA.lastVisualization) == null ? void 0 : _a.getTime()) || 0) - (((_b = nodeB.lastVisualization) == null ? void 0 : _b.getTime()) || 0);
7
+ this.nodeGroup = /* @__PURE__ */ new Map();
8
+ this.state = void 0;
9
+ }
10
+ attach = (state) => {
11
+ this.state = state;
12
+ };
13
+ update = () => {
14
+ requestAnimationFrame(() => {
15
+ const nodes = Array.from(this.nodeGroup.values()).filter((node) => node.visible || !!node.lastVisualization).sort(
16
+ (nodeA, nodeB) => (nodeA.lastVisualization?.getTime() || 0) - (nodeB.lastVisualization?.getTime() || 0)
17
+ ).map((node, index, filteredNodes) => {
18
+ const modalElement = node.modal();
19
+ const { props } = modalElement;
20
+ return React__default.cloneElement(modalElement, {
21
+ ...props,
22
+ key: node.id,
23
+ visible: node.visible,
24
+ isLastShown: filteredNodes.length - 1 === index,
25
+ close: () => this.close(node.id),
26
+ onClose: () => {
27
+ this.remove(node.id);
28
+ props.onClose?.();
33
29
  }
34
- ).map((node, index, filteredNodes) => {
35
- const modalElement = node.modal();
36
- const { props } = modalElement;
37
- return React__default.cloneElement(modalElement, __spreadProps(__spreadValues({}, props), {
38
- key: node.id,
39
- visible: node.visible,
40
- isLastShown: filteredNodes.length - 1 === index,
41
- close: () => this.close(node.id),
42
- onClose: () => {
43
- var _a;
44
- this.remove(node.id);
45
- (_a = props.onClose) == null ? void 0 : _a.call(props);
46
- }
47
- }));
48
30
  });
49
- const [, updateState] = this.state || [];
50
- updateState == null ? void 0 : updateState(nodes);
51
31
  });
52
- };
53
- this.render = () => {
54
- const [modals] = this.state || [];
55
- return modals || [];
56
- };
57
- this.sync = (id, modal) => {
58
- if (this.nodeGroup.has(id)) {
59
- const savedNode = this.findNode(id);
60
- savedNode && this.nodeGroup.set(id, __spreadProps(__spreadValues({}, savedNode), { modal }));
61
- return;
62
- }
63
- this.nodeGroup.set(id, { id, modal });
64
- };
65
- this.destroy = (id) => {
66
- this.nodeGroup.delete(id);
67
- this.update();
68
- };
69
- this.remove = (id) => {
70
- const savedNode = this.findNode(id);
71
- savedNode && this.nodeGroup.set(id, __spreadProps(__spreadValues({}, savedNode), { lastVisualization: void 0 }));
72
- this.update();
73
- };
74
- this.findNode = (id) => {
75
- const node = this.nodeGroup.get(id);
76
- !node && console.warn(`No modal was found with the id "${id}"`);
77
- return node;
78
- };
79
- this.show = (id) => {
32
+ const [, updateState] = this.state || [];
33
+ updateState?.(nodes);
34
+ });
35
+ };
36
+ render = () => {
37
+ const [modals] = this.state || [];
38
+ return modals || [];
39
+ };
40
+ sync = (id, modal) => {
41
+ if (this.nodeGroup.has(id)) {
80
42
  const savedNode = this.findNode(id);
81
- savedNode && this.nodeGroup.set(id, __spreadProps(__spreadValues({}, savedNode), {
82
- visible: true,
83
- lastVisualization: new Date()
84
- }));
85
- this.update();
86
- };
87
- this.close = (id) => {
88
- const savedNode = this.findNode(id);
89
- savedNode && this.nodeGroup.set(id, __spreadProps(__spreadValues({}, savedNode), { visible: false }));
90
- this.update();
91
- };
92
- this.nodeGroup = /* @__PURE__ */ new Map();
93
- this.state = void 0;
94
- }
43
+ savedNode && this.nodeGroup.set(id, { ...savedNode, modal });
44
+ return;
45
+ }
46
+ this.nodeGroup.set(id, { id, modal });
47
+ };
48
+ destroy = (id) => {
49
+ this.nodeGroup.delete(id);
50
+ this.update();
51
+ };
52
+ remove = (id) => {
53
+ const savedNode = this.findNode(id);
54
+ savedNode && this.nodeGroup.set(id, { ...savedNode, lastVisualization: void 0 });
55
+ this.update();
56
+ };
57
+ findNode = (id) => {
58
+ const node = this.nodeGroup.get(id);
59
+ !node && console.warn(`No modal was found with the id "${id}"`);
60
+ return node;
61
+ };
62
+ show = (id) => {
63
+ const savedNode = this.findNode(id);
64
+ savedNode && this.nodeGroup.set(id, {
65
+ ...savedNode,
66
+ visible: true,
67
+ lastVisualization: new Date()
68
+ });
69
+ this.update();
70
+ };
71
+ close = (id) => {
72
+ const savedNode = this.findNode(id);
73
+ savedNode && this.nodeGroup.set(id, { ...savedNode, visible: false });
74
+ this.update();
75
+ };
95
76
  }
96
77
  const createModalLifecycleHandler = () => {
97
78
  return new ModalLifecycleHandler();
@@ -1 +1 @@
1
- {"version":3,"file":"ModalLifecycleHandler.js","sources":["../../../../../src/components/atoms/Modal/ModalLifecycleHandler.ts"],"sourcesContent":["import React, { Dispatch, ReactElement } from 'react';\nimport { IBaseModal } from './ui/types';\n\n/**\n * It Represents a node (usually a modal component) in the modal's lifecycle handler.\n */\ninterface ModalNode {\n id: string;\n visible?: boolean;\n lastVisualization?: Date;\n modal: () => ReactElement<IBaseModal>;\n}\n\n/**\n * Manage all modal's lifecycle.\n */\nexport class ModalLifecycleHandler {\n nodeGroup: Map<string, ModalNode>;\n state:\n | [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n | undefined;\n\n constructor() {\n this.nodeGroup = new Map();\n this.state = undefined;\n }\n\n /**\n * Holds the ModalGroupManager state.\n *\n * @param state\n */\n public attach = (\n state: [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n ) => {\n this.state = state;\n };\n\n /**\n * Updates all the modal components.\n */\n public update = () => {\n requestAnimationFrame(() => {\n const nodes = Array.from(this.nodeGroup.values())\n .filter(node => node.visible || !!node.lastVisualization)\n .sort(\n (nodeA, nodeB) =>\n (nodeA.lastVisualization?.getTime() || 0) -\n (nodeB.lastVisualization?.getTime() || 0)\n )\n .map((node, index, filteredNodes) => {\n const modalElement = node.modal();\n const { props } = modalElement;\n return React.cloneElement(modalElement, {\n ...props,\n key: node.id,\n visible: node.visible,\n isLastShown: filteredNodes.length - 1 === index,\n close: () => this.close(node.id),\n onClose: () => {\n this.remove(node.id);\n props.onClose?.();\n },\n });\n });\n\n const [, updateState] = this.state || [];\n updateState?.(nodes);\n });\n };\n\n /**\n * Renders all selected modals.\n *\n * @returns\n */\n public render = (): ReactElement<IBaseModal>[] => {\n const [modals] = this.state || [];\n return modals || [];\n };\n\n /**\n * Tells to the lifecycle handler that a modal component needs to be handled.\n *\n * @param id\n * @param modal\n * @returns\n */\n public sync = (id: string, modal: () => ReactElement<IBaseModal>) => {\n if (this.nodeGroup.has(id)) {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, modal });\n return;\n }\n this.nodeGroup.set(id, { id, modal });\n };\n\n /**\n * Destroy a modal from the lifecycle handler.\n *\n * @param id\n */\n public destroy = (id: string) => {\n this.nodeGroup.delete(id);\n this.update();\n };\n\n /**\n * Removes a modal from the rendering stack. It tells to the lifecycle handler that a modal\n * component is no longer used by the application.\n *\n * @param id\n */\n private remove = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, { ...savedNode, lastVisualization: undefined });\n this.update();\n };\n\n /**\n * Find a modal node by id.\n *\n * @param id\n */\n private findNode = (id: string) => {\n const node = this.nodeGroup.get(id);\n !node && console.warn(`No modal was found with the id \"${id}\"`);\n return node;\n };\n\n /**\n * Makes a modal appears.\n *\n * @param id\n */\n public show = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, {\n ...savedNode,\n visible: true,\n lastVisualization: new Date(),\n });\n this.update();\n };\n\n /**\n * Makes a modal disappears.\n *\n * @param id\n */\n public close = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, visible: false });\n this.update();\n };\n}\n\n/**\n * Creates a new ModalLifecycleHandlere instance.\n *\n * @returns\n */\nexport const createModalLifecycleHandler = () => {\n return new ModalLifecycleHandler();\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"ModalLifecycleHandler.js","sources":["../../../../../src/components/atoms/Modal/ModalLifecycleHandler.ts"],"sourcesContent":["import React, { Dispatch, ReactElement } from 'react';\nimport { IBaseModal } from './ui/types';\n\n/**\n * It Represents a node (usually a modal component) in the modal's lifecycle handler.\n */\ninterface ModalNode {\n id: string;\n visible?: boolean;\n lastVisualization?: Date;\n modal: () => ReactElement<IBaseModal>;\n}\n\n/**\n * Manage all modal's lifecycle.\n */\nexport class ModalLifecycleHandler {\n nodeGroup: Map<string, ModalNode>;\n state:\n | [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n | undefined;\n\n constructor() {\n this.nodeGroup = new Map();\n this.state = undefined;\n }\n\n /**\n * Holds the ModalGroupManager state.\n *\n * @param state\n */\n public attach = (\n state: [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n ) => {\n this.state = state;\n };\n\n /**\n * Updates all the modal components.\n */\n public update = () => {\n requestAnimationFrame(() => {\n const nodes = Array.from(this.nodeGroup.values())\n .filter(node => node.visible || !!node.lastVisualization)\n .sort(\n (nodeA, nodeB) =>\n (nodeA.lastVisualization?.getTime() || 0) -\n (nodeB.lastVisualization?.getTime() || 0)\n )\n .map((node, index, filteredNodes) => {\n const modalElement = node.modal();\n const { props } = modalElement;\n return React.cloneElement(modalElement, {\n ...props,\n key: node.id,\n visible: node.visible,\n isLastShown: filteredNodes.length - 1 === index,\n close: () => this.close(node.id),\n onClose: () => {\n this.remove(node.id);\n props.onClose?.();\n },\n });\n });\n\n const [, updateState] = this.state || [];\n updateState?.(nodes);\n });\n };\n\n /**\n * Renders all selected modals.\n *\n * @returns\n */\n public render = (): ReactElement<IBaseModal>[] => {\n const [modals] = this.state || [];\n return modals || [];\n };\n\n /**\n * Tells to the lifecycle handler that a modal component needs to be handled.\n *\n * @param id\n * @param modal\n * @returns\n */\n public sync = (id: string, modal: () => ReactElement<IBaseModal>) => {\n if (this.nodeGroup.has(id)) {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, modal });\n return;\n }\n this.nodeGroup.set(id, { id, modal });\n };\n\n /**\n * Destroy a modal from the lifecycle handler.\n *\n * @param id\n */\n public destroy = (id: string) => {\n this.nodeGroup.delete(id);\n this.update();\n };\n\n /**\n * Removes a modal from the rendering stack. It tells to the lifecycle handler that a modal\n * component is no longer used by the application.\n *\n * @param id\n */\n private remove = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, { ...savedNode, lastVisualization: undefined });\n this.update();\n };\n\n /**\n * Find a modal node by id.\n *\n * @param id\n */\n private findNode = (id: string) => {\n const node = this.nodeGroup.get(id);\n !node && console.warn(`No modal was found with the id \"${id}\"`);\n return node;\n };\n\n /**\n * Makes a modal appears.\n *\n * @param id\n */\n public show = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, {\n ...savedNode,\n visible: true,\n lastVisualization: new Date(),\n });\n this.update();\n };\n\n /**\n * Makes a modal disappears.\n *\n * @param id\n */\n public close = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, visible: false });\n this.update();\n };\n}\n\n/**\n * Creates a new ModalLifecycleHandlere instance.\n *\n * @returns\n */\nexport const createModalLifecycleHandler = () => {\n return new ModalLifecycleHandler();\n};\n"],"names":["React"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { v4 } from 'uuid';
3
3
  import { modalLifecycle } from './ModalGroupManager.js';
4
4
 
5
5
  const useLazyModalManager = (modalId) => {
6
- const [id] = useState(modalId != null ? modalId : v4());
6
+ const [id] = useState(modalId ?? v4());
7
7
  const requestUpdate = useCallback(() => modalLifecycle.update(), []);
8
8
  const sync = useCallback(
9
9
  (modal) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useLazyModalManager.js","sources":["../../../../../src/components/atoms/Modal/useLazyModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @returns\n * @param modalId\n */\nexport const useLazyModalManager = (modalId?: string) => {\n const [id] = useState(modalId ?? uuidv4());\n\n const requestUpdate = useCallback(() => modalLifecycle.update(), []);\n\n const sync = useCallback(\n (modal: ReactElement<IBaseModal>) => {\n modalLifecycle.sync(id, () => modal);\n return null;\n },\n [id]\n );\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n requestUpdate,\n sync,\n show,\n close,\n };\n};\n"],"names":["uuidv4"],"mappings":";;;;AAYa,MAAA,mBAAA,GAAsB,CAAC,OAAqB,KAAA;AACvD,EAAA,MAAM,CAAC,EAAE,CAAA,GAAI,QAAS,CAAA,OAAA,IAAA,IAAA,GAAA,OAAA,GAAWA,IAAQ,CAAA,CAAA;AAEzC,EAAA,MAAM,gBAAgB,WAAY,CAAA,MAAM,eAAe,MAAO,EAAA,EAAG,EAAE,CAAA,CAAA;AAEnE,EAAA,MAAM,IAAO,GAAA,WAAA;AAAA,IACX,CAAC,KAAoC,KAAA;AACnC,MAAe,cAAA,CAAA,IAAA,CAAK,EAAI,EAAA,MAAM,KAAK,CAAA,CAAA;AACnC,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,EAAE,CAAA;AAAA,GACL,CAAA;AAEA,EAAM,MAAA,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,cAAA,CAAe,KAAK,EAAE,CAAA,CAAA;AAAA,GACxB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAM,MAAA,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,cAAA,CAAe,MAAM,EAAE,CAAA,CAAA;AAAA,GACzB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAA,SAAA,CAAU,MAAM;AACd,IAAO,OAAA,MAAM,cAAe,CAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA;AAAA,IACL,aAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"useLazyModalManager.js","sources":["../../../../../src/components/atoms/Modal/useLazyModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @returns\n * @param modalId\n */\nexport const useLazyModalManager = (modalId?: string) => {\n const [id] = useState(modalId ?? uuidv4());\n\n const requestUpdate = useCallback(() => modalLifecycle.update(), []);\n\n const sync = useCallback(\n (modal: ReactElement<IBaseModal>) => {\n modalLifecycle.sync(id, () => modal);\n return null;\n },\n [id]\n );\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n requestUpdate,\n sync,\n show,\n close,\n };\n};\n"],"names":["uuidv4"],"mappings":";;;;AAYa,MAAA,mBAAA,GAAsB,CAAC,OAAqB,KAAA;AACvD,EAAA,MAAM,CAAC,EAAE,CAAA,GAAI,QAAS,CAAA,OAAA,IAAWA,IAAQ,CAAA,CAAA;AAEzC,EAAA,MAAM,gBAAgB,WAAY,CAAA,MAAM,eAAe,MAAO,EAAA,EAAG,EAAE,CAAA,CAAA;AAEnE,EAAA,MAAM,IAAO,GAAA,WAAA;AAAA,IACX,CAAC,KAAoC,KAAA;AACnC,MAAe,cAAA,CAAA,IAAA,CAAK,EAAI,EAAA,MAAM,KAAK,CAAA,CAAA;AACnC,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,EAAE,CAAA;AAAA,GACL,CAAA;AAEA,EAAM,MAAA,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,cAAA,CAAe,KAAK,EAAE,CAAA,CAAA;AAAA,GACxB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAM,MAAA,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,cAAA,CAAe,MAAM,EAAE,CAAA,CAAA;AAAA,GACzB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAA,SAAA,CAAU,MAAM;AACd,IAAO,OAAA,MAAM,cAAe,CAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA;AAAA,IACL,aAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -3,7 +3,7 @@ import { v4 } from 'uuid';
3
3
  import { modalLifecycle } from './ModalGroupManager.js';
4
4
 
5
5
  const useModalManager = (modal, modalId) => {
6
- const [id] = useState(modalId != null ? modalId : v4());
6
+ const [id] = useState(modalId ?? v4());
7
7
  modalLifecycle.sync(id, modal);
8
8
  const show = useCallback(() => {
9
9
  modalLifecycle.show(id);
@@ -1 +1 @@
1
- {"version":3,"file":"useModalManager.js","sources":["../../../../../src/components/atoms/Modal/useModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @param id\n * @param modal\n * @returns\n */\nexport const useModalManager = (\n modal: () => ReactElement<IBaseModal>,\n modalId?: string\n) => {\n const [id] = useState(modalId ?? uuidv4());\n modalLifecycle.sync(id, modal);\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n show,\n close,\n };\n};\n"],"names":["uuidv4"],"mappings":";;;;AAaa,MAAA,eAAA,GAAkB,CAC7B,KAAA,EACA,OACG,KAAA;AACH,EAAA,MAAM,CAAC,EAAE,CAAA,GAAI,QAAS,CAAA,OAAA,IAAA,IAAA,GAAA,OAAA,GAAWA,IAAQ,CAAA,CAAA;AACzC,EAAe,cAAA,CAAA,IAAA,CAAK,IAAI,KAAK,CAAA,CAAA;AAE7B,EAAM,MAAA,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,cAAA,CAAe,KAAK,EAAE,CAAA,CAAA;AAAA,GACxB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAM,MAAA,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,cAAA,CAAe,MAAM,EAAE,CAAA,CAAA;AAAA,GACzB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAA,SAAA,CAAU,MAAM;AACd,IAAO,OAAA,MAAM,cAAe,CAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"useModalManager.js","sources":["../../../../../src/components/atoms/Modal/useModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @param id\n * @param modal\n * @returns\n */\nexport const useModalManager = (\n modal: () => ReactElement<IBaseModal>,\n modalId?: string\n) => {\n const [id] = useState(modalId ?? uuidv4());\n modalLifecycle.sync(id, modal);\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n show,\n close,\n };\n};\n"],"names":["uuidv4"],"mappings":";;;;AAaa,MAAA,eAAA,GAAkB,CAC7B,KAAA,EACA,OACG,KAAA;AACH,EAAA,MAAM,CAAC,EAAE,CAAA,GAAI,QAAS,CAAA,OAAA,IAAWA,IAAQ,CAAA,CAAA;AACzC,EAAe,cAAA,CAAA,IAAA,CAAK,IAAI,KAAK,CAAA,CAAA;AAE7B,EAAM,MAAA,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,cAAA,CAAe,KAAK,EAAE,CAAA,CAAA;AAAA,GACxB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAM,MAAA,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,cAAA,CAAe,MAAM,EAAE,CAAA,CAAA;AAAA,GACzB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAA,SAAA,CAAU,MAAM;AACd,IAAO,OAAA,MAAM,cAAe,CAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -8,19 +8,18 @@ const Pulse = ({
8
8
  height,
9
9
  childrenLayout
10
10
  }) => {
11
- var _a, _b;
12
11
  const animatedValue = useRef(new Animated.Value(0)).current;
13
12
  useEffect(() => {
14
13
  pulseAnimation(active, animatedValue);
15
14
  }, [active]);
16
15
  return /* @__PURE__ */ React__default.createElement(Animated.View, {
17
16
  style: {
18
- width: width != null ? width : childrenLayout.width,
19
- height: height != null ? height : childrenLayout.height,
17
+ width: width ?? childrenLayout.width,
18
+ height: height ?? childrenLayout.height,
20
19
  backgroundColor: "rgba(0,0,0,0.05)",
21
20
  position: "absolute",
22
- top: (_a = childrenLayout.x) != null ? _a : 0,
23
- left: (_b = childrenLayout.y) != null ? _b : 0,
21
+ top: childrenLayout.x ?? 0,
22
+ left: childrenLayout.y ?? 0,
24
23
  zIndex: 2,
25
24
  overflow: "hidden",
26
25
  opacity: animatedValue
@@ -1 +1 @@
1
- {"version":3,"file":"Pulse.js","sources":["../../../../../src/components/atoms/Skeleton/Pulse.tsx"],"sourcesContent":["import { Animated } from 'react-native';\nimport React, { useEffect, useRef } from 'react';\nimport { pulseAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nexport const Pulse = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n pulseAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <Animated.View\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n backgroundColor: 'rgba(0,0,0,0.05)',\n position: 'absolute',\n top: childrenLayout.x ?? 0,\n left: childrenLayout.y ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n opacity: animatedValue,\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;AAKO,MAAM,QAAQ,CAAC;AAAA,EACpB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AAV3B,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAWE,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,QAAQ,aAAa,CAAA,CAAA;AAAA,GACtC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,SAAS,IAAT,EAAA;AAAA,IACC,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,wBAAS,cAAe,CAAA,KAAA;AAAA,MAC/B,MAAA,EAAQ,0BAAU,cAAe,CAAA,MAAA;AAAA,MACjC,eAAiB,EAAA,kBAAA;AAAA,MACjB,QAAU,EAAA,UAAA;AAAA,MACV,GAAA,EAAA,CAAK,EAAe,GAAA,cAAA,CAAA,CAAA,KAAf,IAAoB,GAAA,EAAA,GAAA,CAAA;AAAA,MACzB,IAAA,EAAA,CAAM,EAAe,GAAA,cAAA,CAAA,CAAA,KAAf,IAAoB,GAAA,EAAA,GAAA,CAAA;AAAA,MAC1B,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,QAAA;AAAA,MACV,OAAS,EAAA,aAAA;AAAA,KACX;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Pulse.js","sources":["../../../../../src/components/atoms/Skeleton/Pulse.tsx"],"sourcesContent":["import { Animated } from 'react-native';\nimport React, { useEffect, useRef } from 'react';\nimport { pulseAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nexport const Pulse = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n pulseAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <Animated.View\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n backgroundColor: 'rgba(0,0,0,0.05)',\n position: 'absolute',\n top: childrenLayout.x ?? 0,\n left: childrenLayout.y ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n opacity: animatedValue,\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;AAKO,MAAM,QAAQ,CAAC;AAAA,EACpB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,QAAQ,aAAa,CAAA,CAAA;AAAA,GACtC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,SAAS,IAAT,EAAA;AAAA,IACC,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,MAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,MACjC,eAAiB,EAAA,kBAAA;AAAA,MACjB,QAAU,EAAA,UAAA;AAAA,MACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,MACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,MAC1B,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,QAAA;AAAA,MACV,OAAS,EAAA,aAAA;AAAA,KACX;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -4,50 +4,15 @@ import { Wrapper } from './styled.js';
4
4
  import { Wave } from './Wave.js';
5
5
  import { Pulse } from './Pulse.js';
6
6
 
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __objRest = (source, exclude) => {
24
- var target = {};
25
- for (var prop in source)
26
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
27
- target[prop] = source[prop];
28
- if (source != null && __getOwnPropSymbols)
29
- for (var prop of __getOwnPropSymbols(source)) {
30
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
31
- target[prop] = source[prop];
32
- }
33
- return target;
34
- };
35
- const Skeleton = (_a) => {
36
- var _b = _a, {
37
- children,
38
- width,
39
- height,
40
- radius,
41
- active = true,
42
- animation = "wave"
43
- } = _b, rest = __objRest(_b, [
44
- "children",
45
- "width",
46
- "height",
47
- "radius",
48
- "active",
49
- "animation"
50
- ]);
7
+ const Skeleton = ({
8
+ children,
9
+ width,
10
+ height,
11
+ radius,
12
+ active = true,
13
+ animation = "wave",
14
+ ...rest
15
+ }) => {
51
16
  const [childrenLayout, setChildrenLayout] = useState({
52
17
  width: 0,
53
18
  height: 0,
@@ -62,11 +27,12 @@ const Skeleton = (_a) => {
62
27
  const getChildrenLayout = (event) => {
63
28
  setChildrenLayout(event.nativeEvent.layout);
64
29
  };
65
- return /* @__PURE__ */ React__default.createElement(Wrapper, __spreadValues({
30
+ return /* @__PURE__ */ React__default.createElement(Wrapper, {
66
31
  width,
67
32
  height,
68
- radius
69
- }, rest), active && animation === "wave" ? /* @__PURE__ */ React__default.createElement(Wave, {
33
+ radius,
34
+ ...rest
35
+ }, active && animation === "wave" ? /* @__PURE__ */ React__default.createElement(Wave, {
70
36
  active,
71
37
  width,
72
38
  height,
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/atoms/Skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { BorderRadiusType } from '@tecsinapse/react-core';\nimport { LayoutChangeEvent, View, ViewProps } from 'react-native';\nimport { Wrapper } from './styled';\nimport { Wave } from './Wave';\nimport { Pulse } from './Pulse';\nimport { ChildrenLayout } from './types';\n\nexport interface SkeletonProps extends ViewProps {\n width?: number;\n height?: number;\n radius?: BorderRadiusType;\n active?: boolean;\n animation?: 'wave' | 'pulse';\n}\n\nconst Skeleton: React.FC<SkeletonProps> = ({\n children,\n width,\n height,\n radius,\n active = true,\n animation = 'wave',\n ...rest\n}) => {\n const [childrenLayout, setChildrenLayout] = useState<ChildrenLayout>({\n width: 0,\n height: 0,\n y: 0,\n x: 0,\n });\n\n if (!width && !height && !children) {\n throw new Error(\n '[Skeleton] You should provide children or specify width and height'\n );\n }\n\n const getChildrenLayout = (event: LayoutChangeEvent) => {\n setChildrenLayout(event.nativeEvent.layout);\n };\n\n return (\n <Wrapper width={width} height={height} radius={radius} {...rest}>\n {active && animation === 'wave' ? (\n <Wave\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n\n {active && animation === 'pulse' ? (\n <Pulse\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n <View\n onLayout={event => getChildrenLayout(event)}\n style={{ opacity: active ? 0 : 1 }}\n pointerEvents={active ? 'none' : 'auto'}\n >\n {children}\n </View>\n </Wrapper>\n );\n};\n\nexport default Skeleton;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBM,MAAA,QAAA,GAAoC,CAAC,EAQrC,KAAA;AARqC,EACzC,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAS,GAAA,IAAA;AAAA,IACT,SAAY,GAAA,MAAA;AAAA,GAtBd,GAgB2C,EAOtC,EAAA,IAAA,GAAA,SAAA,CAPsC,EAOtC,EAAA;AAAA,IANH,UAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,QAAyB,CAAA;AAAA,IACnE,KAAO,EAAA,CAAA;AAAA,IACP,MAAQ,EAAA,CAAA;AAAA,IACR,CAAG,EAAA,CAAA;AAAA,IACH,CAAG,EAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AAED,EAAA,IAAI,CAAC,KAAA,IAAS,CAAC,MAAA,IAAU,CAAC,QAAU,EAAA;AAClC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,oEAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,KAA6B,KAAA;AACtD,IAAkB,iBAAA,CAAA,KAAA,CAAM,YAAY,MAAM,CAAA,CAAA;AAAA,GAC5C,CAAA;AAEA,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,cAAA,CAAA;AAAA,IAAQ,KAAA;AAAA,IAAc,MAAA;AAAA,IAAgB,MAAA;AAAA,GAAA,EAAoB,IACxD,CAAA,EAAA,MAAA,IAAU,SAAc,KAAA,MAAA,mBACtBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF,oBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,EAGH,MAAU,IAAA,SAAA,KAAc,0BACtBA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA,mBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,kBAEHA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,QAAA,EAAU,CAAS,KAAA,KAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IAC1C,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,GAAS,IAAI,CAAE,EAAA;AAAA,IACjC,aAAA,EAAe,SAAS,MAAS,GAAA,MAAA;AAAA,GAAA,EAEhC,QACH,CACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/atoms/Skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { BorderRadiusType } from '@tecsinapse/react-core';\nimport { LayoutChangeEvent, View, ViewProps } from 'react-native';\nimport { Wrapper } from './styled';\nimport { Wave } from './Wave';\nimport { Pulse } from './Pulse';\nimport { ChildrenLayout } from './types';\n\nexport interface SkeletonProps extends ViewProps {\n width?: number;\n height?: number;\n radius?: BorderRadiusType;\n active?: boolean;\n animation?: 'wave' | 'pulse';\n}\n\nconst Skeleton: React.FC<SkeletonProps> = ({\n children,\n width,\n height,\n radius,\n active = true,\n animation = 'wave',\n ...rest\n}) => {\n const [childrenLayout, setChildrenLayout] = useState<ChildrenLayout>({\n width: 0,\n height: 0,\n y: 0,\n x: 0,\n });\n\n if (!width && !height && !children) {\n throw new Error(\n '[Skeleton] You should provide children or specify width and height'\n );\n }\n\n const getChildrenLayout = (event: LayoutChangeEvent) => {\n setChildrenLayout(event.nativeEvent.layout);\n };\n\n return (\n <Wrapper width={width} height={height} radius={radius} {...rest}>\n {active && animation === 'wave' ? (\n <Wave\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n\n {active && animation === 'pulse' ? (\n <Pulse\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n <View\n onLayout={event => getChildrenLayout(event)}\n style={{ opacity: active ? 0 : 1 }}\n pointerEvents={active ? 'none' : 'auto'}\n >\n {children}\n </View>\n </Wrapper>\n );\n};\n\nexport default Skeleton;\n"],"names":["React"],"mappings":";;;;;;AAgBA,MAAM,WAAoC,CAAC;AAAA,EACzC,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAS,GAAA,IAAA;AAAA,EACT,SAAY,GAAA,MAAA;AAAA,EACT,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,QAAyB,CAAA;AAAA,IACnE,KAAO,EAAA,CAAA;AAAA,IACP,MAAQ,EAAA,CAAA;AAAA,IACR,CAAG,EAAA,CAAA;AAAA,IACH,CAAG,EAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AAED,EAAA,IAAI,CAAC,KAAA,IAAS,CAAC,MAAA,IAAU,CAAC,QAAU,EAAA;AAClC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,oEAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,KAA6B,KAAA;AACtD,IAAkB,iBAAA,CAAA,KAAA,CAAM,YAAY,MAAM,CAAA,CAAA;AAAA,GAC5C,CAAA;AAEA,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,IAAQ,KAAA;AAAA,IAAc,MAAA;AAAA,IAAgB,MAAA;AAAA,IAAiB,GAAG,IAAA;AAAA,GACxD,EAAA,MAAA,IAAU,SAAc,KAAA,MAAA,mBACtBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF,oBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,EAGH,MAAU,IAAA,SAAA,KAAc,0BACtBA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA,mBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,kBAEHA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,QAAA,EAAU,CAAS,KAAA,KAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IAC1C,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,GAAS,IAAI,CAAE,EAAA;AAAA,IACjC,aAAA,EAAe,SAAS,MAAS,GAAA,MAAA;AAAA,GAAA,EAEhC,QACH,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -10,8 +10,7 @@ const Wave = ({
10
10
  height,
11
11
  childrenLayout
12
12
  }) => {
13
- var _a, _b;
14
- const range = width != null ? width : childrenLayout.width;
13
+ const range = width ?? childrenLayout.width;
15
14
  const animatedValue = useRef(new Animated.Value(0)).current;
16
15
  const translateX = animatedValue.interpolate({
17
16
  inputRange: [0, 1],
@@ -30,11 +29,11 @@ const Wave = ({
30
29
  start: { x: 0, y: 0 },
31
30
  end: { x: 1, y: 0 },
32
31
  style: {
33
- width: width != null ? width : childrenLayout.width,
34
- height: height != null ? height : childrenLayout.height,
32
+ width: width ?? childrenLayout.width,
33
+ height: height ?? childrenLayout.height,
35
34
  position: "absolute",
36
- top: (_a = childrenLayout.y) != null ? _a : 0,
37
- left: (_b = childrenLayout.x) != null ? _b : 0,
35
+ top: childrenLayout.y ?? 0,
36
+ left: childrenLayout.x ?? 0,
38
37
  zIndex: 2,
39
38
  overflow: "hidden",
40
39
  transform: [
@@ -1 +1 @@
1
- {"version":3,"file":"Wave.js","sources":["../../../../../src/components/atoms/Skeleton/Wave.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { waveAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport const Wave = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const range = width ?? childrenLayout.width;\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n const translateX = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [-range, range],\n });\n\n useEffect(() => {\n waveAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <AnimatedLinearGradient\n colors={[\n 'transparent',\n 'rgba(0,0,0,0.05)',\n 'rgba(0,0,0,0.1)',\n 'transparent',\n ]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n position: 'absolute',\n top: childrenLayout.y ?? 0,\n left: childrenLayout.x ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n transform: [\n {\n translateX: translateX,\n },\n ],\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;;AAMA,MAAM,sBAAA,GAAyB,QAAS,CAAA,uBAAA,CAAwB,cAAc,CAAA,CAAA;AAEvE,MAAM,OAAO,CAAC;AAAA,EACnB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AAb3B,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAcE,EAAM,MAAA,KAAA,GAAQ,wBAAS,cAAe,CAAA,KAAA,CAAA;AACtC,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,IAC3C,UAAA,EAAY,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IACjB,WAAa,EAAA,CAAC,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,GAC5B,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,QAAQ,aAAa,CAAA,CAAA;AAAA,GACrC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,IACC,MAAQ,EAAA;AAAA,MACN,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,iBAAA;AAAA,MACA,aAAA;AAAA,KACF;AAAA,IACA,KAAO,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,IACpB,GAAK,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,IAClB,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,wBAAS,cAAe,CAAA,KAAA;AAAA,MAC/B,MAAA,EAAQ,0BAAU,cAAe,CAAA,MAAA;AAAA,MACjC,QAAU,EAAA,UAAA;AAAA,MACV,GAAA,EAAA,CAAK,EAAe,GAAA,cAAA,CAAA,CAAA,KAAf,IAAoB,GAAA,EAAA,GAAA,CAAA;AAAA,MACzB,IAAA,EAAA,CAAM,EAAe,GAAA,cAAA,CAAA,CAAA,KAAf,IAAoB,GAAA,EAAA,GAAA,CAAA;AAAA,MAC1B,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,QAAA;AAAA,MACV,SAAW,EAAA;AAAA,QACT;AAAA,UACE,UAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Wave.js","sources":["../../../../../src/components/atoms/Skeleton/Wave.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { waveAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport const Wave = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const range = width ?? childrenLayout.width;\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n const translateX = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [-range, range],\n });\n\n useEffect(() => {\n waveAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <AnimatedLinearGradient\n colors={[\n 'transparent',\n 'rgba(0,0,0,0.05)',\n 'rgba(0,0,0,0.1)',\n 'transparent',\n ]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n position: 'absolute',\n top: childrenLayout.y ?? 0,\n left: childrenLayout.x ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n transform: [\n {\n translateX: translateX,\n },\n ],\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;;AAMA,MAAM,sBAAA,GAAyB,QAAS,CAAA,uBAAA,CAAwB,cAAc,CAAA,CAAA;AAEvE,MAAM,OAAO,CAAC;AAAA,EACnB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,SAAS,cAAe,CAAA,KAAA,CAAA;AACtC,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,IAC3C,UAAA,EAAY,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IACjB,WAAa,EAAA,CAAC,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,GAC5B,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,QAAQ,aAAa,CAAA,CAAA;AAAA,GACrC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,IACC,MAAQ,EAAA;AAAA,MACN,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,iBAAA;AAAA,MACA,aAAA;AAAA,KACF;AAAA,IACA,KAAO,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,IACpB,GAAK,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,IAClB,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,MAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,MACjC,QAAU,EAAA,UAAA;AAAA,MACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,MACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,MAC1B,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,QAAA;AAAA,MACV,SAAW,EAAA;AAAA,QACT;AAAA,UACE,UAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -3,46 +3,13 @@ import { Dimensions, ScrollView, View } from 'react-native';
3
3
  import { extractNumbersFromString } from '@tecsinapse/react-core';
4
4
  import { useTheme } from '@emotion/react';
5
5
 
6
- var __defProp = Object.defineProperty;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {}))
13
- if (__hasOwnProp.call(b, prop))
14
- __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols)
16
- for (var prop of __getOwnPropSymbols(b)) {
17
- if (__propIsEnum.call(b, prop))
18
- __defNormalProp(a, prop, b[prop]);
19
- }
20
- return a;
21
- };
22
- var __objRest = (source, exclude) => {
23
- var target = {};
24
- for (var prop in source)
25
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
26
- target[prop] = source[prop];
27
- if (source != null && __getOwnPropSymbols)
28
- for (var prop of __getOwnPropSymbols(source)) {
29
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
30
- target[prop] = source[prop];
31
- }
32
- return target;
33
- };
34
- const SnappingSlider = (_a) => {
35
- var _b = _a, {
36
- children,
37
- showAmount,
38
- scrollAmount,
39
- spacing
40
- } = _b, rest = __objRest(_b, [
41
- "children",
42
- "showAmount",
43
- "scrollAmount",
44
- "spacing"
45
- ]);
6
+ const SnappingSlider = ({
7
+ children,
8
+ showAmount,
9
+ scrollAmount,
10
+ spacing,
11
+ ...rest
12
+ }) => {
46
13
  const theme = useTheme();
47
14
  const childCount = React.Children.count(children);
48
15
  const screenWidth = Dimensions.get("window").width;
@@ -55,13 +22,14 @@ const SnappingSlider = (_a) => {
55
22
  const padCompensation = horizontalPadding * Math.sign(index);
56
23
  return offset + padCompensation;
57
24
  });
58
- return /* @__PURE__ */ React.createElement(ScrollView, __spreadValues({
25
+ return /* @__PURE__ */ React.createElement(ScrollView, {
59
26
  horizontal: true,
60
27
  snapToOffsets,
61
28
  snapToStart: true,
62
29
  snapToEnd: true,
63
- showsHorizontalScrollIndicator: false
64
- }, rest), React.Children.map(children, (child, index) => {
30
+ showsHorizontalScrollIndicator: false,
31
+ ...rest
32
+ }, React.Children.map(children, (child, index) => {
65
33
  const isFirst = index === 0;
66
34
  const isLast = index === childCount - 1;
67
35
  return /* @__PURE__ */ React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"file":"SnappingSlider.js","sources":["../../../../../src/components/atoms/SnappingSlider/SnappingSlider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dimensions, ScrollView, ScrollViewProps, View } from 'react-native';\nimport {\n extractNumbersFromString,\n SpacingType,\n ThemeProp,\n} from '@tecsinapse/react-core';\nimport { useTheme } from '@emotion/react';\n\nexport interface SnappingSliderProps\n extends Omit<ScrollViewProps, 'horizontal' | 'snapToOffsets'> {\n /**\n * Amount in screen elements.\n * Should never be lower than scrollAmount, otherwise some elements will be skipped.\n */\n showAmount: number;\n\n /**\n * Amount of items to scroll within a single swipe.\n * Should never be greater than showAmount, otherwise some elements will be skipped.\n */\n scrollAmount: number;\n\n /**\n * Spacing between elements.\n * Must be one of [nano, micro, mili, centi, deca, kilo, mega, giga, tera, peta, hexa]\n */\n spacing?: SpacingType;\n}\n\nconst SnappingSlider: React.FC<SnappingSliderProps> = ({\n children,\n showAmount,\n scrollAmount,\n spacing,\n ...rest\n}) => {\n const theme = useTheme() as ThemeProp;\n\n const childCount = React.Children.count(children);\n const screenWidth = Dimensions.get('window').width;\n const totalSlideWidth = Math.round(screenWidth / showAmount);\n const horizontalPadding = spacing\n ? extractNumbersFromString(theme.spacing[spacing]) / 2\n : 0;\n\n const snapToOffsets = [\n ...Array(Math.ceil(childCount / scrollAmount)).keys(),\n ].map(index => {\n const offset = totalSlideWidth * scrollAmount * index;\n const padCompensation = horizontalPadding * Math.sign(index);\n return offset + padCompensation;\n });\n\n return (\n <ScrollView\n horizontal\n snapToOffsets={snapToOffsets}\n snapToStart\n snapToEnd\n showsHorizontalScrollIndicator={false}\n {...rest}\n >\n {React.Children.map(children, (child, index) => {\n const isFirst = index === 0;\n const isLast = index === childCount - 1;\n\n return (\n <View\n style={{\n width: totalSlideWidth,\n paddingHorizontal: horizontalPadding,\n paddingLeft: isFirst ? 0 : horizontalPadding,\n paddingRight: isLast ? 0 : horizontalPadding,\n }}\n >\n {child}\n </View>\n );\n })}\n </ScrollView>\n );\n};\n\nexport default SnappingSlider;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BM,MAAA,cAAA,GAAgD,CAAC,EAMjD,KAAA;AANiD,EACrD,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,GAlCF,GA8BuD,EAKlD,EAAA,IAAA,GAAA,SAAA,CALkD,EAKlD,EAAA;AAAA,IAJH,UAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,EAAA,MAAM,UAAa,GAAA,KAAA,CAAM,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAChD,EAAA,MAAM,WAAc,GAAA,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA,KAAA,CAAA;AAC7C,EAAA,MAAM,eAAkB,GAAA,IAAA,CAAK,KAAM,CAAA,WAAA,GAAc,UAAU,CAAA,CAAA;AAC3D,EAAA,MAAM,oBAAoB,OACtB,GAAA,wBAAA,CAAyB,MAAM,OAAQ,CAAA,OAAA,CAAQ,IAAI,CACnD,GAAA,CAAA,CAAA;AAEJ,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,GAAG,MAAM,IAAK,CAAA,IAAA,CAAK,aAAa,YAAY,CAAC,EAAE,IAAK,EAAA;AAAA,GACtD,CAAE,IAAI,CAAS,KAAA,KAAA;AACb,IAAM,MAAA,MAAA,GAAS,kBAAkB,YAAe,GAAA,KAAA,CAAA;AAChD,IAAA,MAAM,eAAkB,GAAA,iBAAA,GAAoB,IAAK,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAC3D,IAAA,OAAO,MAAS,GAAA,eAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,cAAA,CAAA;AAAA,IACC,UAAU,EAAA,IAAA;AAAA,IACV,aAAA;AAAA,IACA,WAAW,EAAA,IAAA;AAAA,IACX,SAAS,EAAA,IAAA;AAAA,IACT,8BAAgC,EAAA,KAAA;AAAA,GAAA,EAC5B,OAEH,KAAM,CAAA,QAAA,CAAS,IAAI,QAAU,EAAA,CAAC,OAAO,KAAU,KAAA;AAC9C,IAAA,MAAM,UAAU,KAAU,KAAA,CAAA,CAAA;AAC1B,IAAM,MAAA,MAAA,GAAS,UAAU,UAAa,GAAA,CAAA,CAAA;AAEtC,IAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAO,EAAA,eAAA;AAAA,QACP,iBAAmB,EAAA,iBAAA;AAAA,QACnB,WAAA,EAAa,UAAU,CAAI,GAAA,iBAAA;AAAA,QAC3B,YAAA,EAAc,SAAS,CAAI,GAAA,iBAAA;AAAA,OAC7B;AAAA,KAAA,EAEC,KACH,CAAA,CAAA;AAAA,GAEH,CACH,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"SnappingSlider.js","sources":["../../../../../src/components/atoms/SnappingSlider/SnappingSlider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dimensions, ScrollView, ScrollViewProps, View } from 'react-native';\nimport {\n extractNumbersFromString,\n SpacingType,\n ThemeProp,\n} from '@tecsinapse/react-core';\nimport { useTheme } from '@emotion/react';\n\nexport interface SnappingSliderProps\n extends Omit<ScrollViewProps, 'horizontal' | 'snapToOffsets'> {\n /**\n * Amount in screen elements.\n * Should never be lower than scrollAmount, otherwise some elements will be skipped.\n */\n showAmount: number;\n\n /**\n * Amount of items to scroll within a single swipe.\n * Should never be greater than showAmount, otherwise some elements will be skipped.\n */\n scrollAmount: number;\n\n /**\n * Spacing between elements.\n * Must be one of [nano, micro, mili, centi, deca, kilo, mega, giga, tera, peta, hexa]\n */\n spacing?: SpacingType;\n}\n\nconst SnappingSlider: React.FC<SnappingSliderProps> = ({\n children,\n showAmount,\n scrollAmount,\n spacing,\n ...rest\n}) => {\n const theme = useTheme() as ThemeProp;\n\n const childCount = React.Children.count(children);\n const screenWidth = Dimensions.get('window').width;\n const totalSlideWidth = Math.round(screenWidth / showAmount);\n const horizontalPadding = spacing\n ? extractNumbersFromString(theme.spacing[spacing]) / 2\n : 0;\n\n const snapToOffsets = [\n ...Array(Math.ceil(childCount / scrollAmount)).keys(),\n ].map(index => {\n const offset = totalSlideWidth * scrollAmount * index;\n const padCompensation = horizontalPadding * Math.sign(index);\n return offset + padCompensation;\n });\n\n return (\n <ScrollView\n horizontal\n snapToOffsets={snapToOffsets}\n snapToStart\n snapToEnd\n showsHorizontalScrollIndicator={false}\n {...rest}\n >\n {React.Children.map(children, (child, index) => {\n const isFirst = index === 0;\n const isLast = index === childCount - 1;\n\n return (\n <View\n style={{\n width: totalSlideWidth,\n paddingHorizontal: horizontalPadding,\n paddingLeft: isFirst ? 0 : horizontalPadding,\n paddingRight: isLast ? 0 : horizontalPadding,\n }}\n >\n {child}\n </View>\n );\n })}\n </ScrollView>\n );\n};\n\nexport default SnappingSlider;\n"],"names":[],"mappings":";;;;;AA8BA,MAAM,iBAAgD,CAAC;AAAA,EACrD,QAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,EAAA,MAAM,UAAa,GAAA,KAAA,CAAM,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAChD,EAAA,MAAM,WAAc,GAAA,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA,KAAA,CAAA;AAC7C,EAAA,MAAM,eAAkB,GAAA,IAAA,CAAK,KAAM,CAAA,WAAA,GAAc,UAAU,CAAA,CAAA;AAC3D,EAAA,MAAM,oBAAoB,OACtB,GAAA,wBAAA,CAAyB,MAAM,OAAQ,CAAA,OAAA,CAAQ,IAAI,CACnD,GAAA,CAAA,CAAA;AAEJ,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,GAAG,MAAM,IAAK,CAAA,IAAA,CAAK,aAAa,YAAY,CAAC,EAAE,IAAK,EAAA;AAAA,GACtD,CAAE,IAAI,CAAS,KAAA,KAAA;AACb,IAAM,MAAA,MAAA,GAAS,kBAAkB,YAAe,GAAA,KAAA,CAAA;AAChD,IAAA,MAAM,eAAkB,GAAA,iBAAA,GAAoB,IAAK,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAC3D,IAAA,OAAO,MAAS,GAAA,eAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,IACC,UAAU,EAAA,IAAA;AAAA,IACV,aAAA;AAAA,IACA,WAAW,EAAA,IAAA;AAAA,IACX,SAAS,EAAA,IAAA;AAAA,IACT,8BAAgC,EAAA,KAAA;AAAA,IAC/B,GAAG,IAAA;AAAA,GAAA,EAEH,MAAM,QAAS,CAAA,GAAA,CAAI,QAAU,EAAA,CAAC,OAAO,KAAU,KAAA;AAC9C,IAAA,MAAM,UAAU,KAAU,KAAA,CAAA,CAAA;AAC1B,IAAM,MAAA,MAAA,GAAS,UAAU,UAAa,GAAA,CAAA,CAAA;AAEtC,IAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAO,EAAA,eAAA;AAAA,QACP,iBAAmB,EAAA,iBAAA;AAAA,QACnB,WAAA,EAAa,UAAU,CAAI,GAAA,iBAAA;AAAA,QAC3B,YAAA,EAAc,SAAS,CAAI,GAAA,iBAAA;AAAA,OAC7B;AAAA,KAAA,EAEC,KACH,CAAA,CAAA;AAAA,GAEH,CACH,CAAA,CAAA;AAEJ;;;;"}
@@ -2,45 +2,17 @@ import React__default from 'react';
2
2
  import { Tag as Tag$1 } from '@tecsinapse/react-core';
3
3
  import Text from '../Text/Text.js';
4
4
 
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __objRest = (source, exclude) => {
22
- var target = {};
23
- for (var prop in source)
24
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
- target[prop] = source[prop];
26
- if (source != null && __getOwnPropSymbols)
27
- for (var prop of __getOwnPropSymbols(source)) {
28
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
- target[prop] = source[prop];
30
- }
31
- return target;
32
- };
33
- const Tag = (_a) => {
34
- var _b = _a, { value } = _b, rest = __objRest(_b, ["value"]);
35
- return /* @__PURE__ */ React__default.createElement(Tag$1, __spreadValues({
5
+ const Tag = ({ value, ...rest }) => {
6
+ return /* @__PURE__ */ React__default.createElement(Tag$1, {
36
7
  value: /* @__PURE__ */ React__default.createElement(Text, {
37
8
  colorVariant: "secondary",
38
9
  colorTone: "dark",
39
10
  fontStack: "default",
40
11
  fontWeight: "bold",
41
12
  typography: rest.variant === "small" ? "sub" : "base"
42
- }, value)
43
- }, rest));
13
+ }, value),
14
+ ...rest
15
+ });
44
16
  };
45
17
 
46
18
  export { Tag as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../../src/components/atoms/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Tag as TagCore,\n TagProps as TagCoreProps,\n} from '@tecsinapse/react-core';\nimport { Text } from '../Text';\n\nexport interface TagProps extends Omit<TagCoreProps, 'value'> {\n value: string;\n}\n\nconst Tag: React.FC<TagProps> = ({ value, ...rest }): JSX.Element => {\n return (\n <TagCore\n value={\n <Text\n colorVariant=\"secondary\"\n colorTone=\"dark\"\n fontStack=\"default\"\n fontWeight=\"bold\"\n typography={rest.variant === 'small' ? 'sub' : 'base'}\n >\n {value}\n </Text>\n }\n {...rest}\n />\n );\n};\n\nexport default Tag;\n"],"names":["React","TagCore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWM,MAAA,GAAA,GAA0B,CAAC,EAAoC,KAAA;AAApC,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAXnC,KAAA,EAAA,GAWiC,EAAY,EAAA,IAAA,GAAA,SAAA,CAAZ,IAAY,CAAV,OAAA,CAAA,CAAA,CAAA;AACjC,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAAC,KAAA,EAAA,cAAA,CAAA;AAAA,IACC,uBACGD,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MACC,YAAa,EAAA,WAAA;AAAA,MACb,SAAU,EAAA,MAAA;AAAA,MACV,SAAU,EAAA,SAAA;AAAA,MACV,UAAW,EAAA,MAAA;AAAA,MACX,UAAY,EAAA,IAAA,CAAK,OAAY,KAAA,OAAA,GAAU,KAAQ,GAAA,MAAA;AAAA,KAAA,EAE9C,KACH,CAAA;AAAA,GAAA,EAEE,IACN,CAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../../src/components/atoms/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Tag as TagCore,\n TagProps as TagCoreProps,\n} from '@tecsinapse/react-core';\nimport { Text } from '../Text';\n\nexport interface TagProps extends Omit<TagCoreProps, 'value'> {\n value: string;\n}\n\nconst Tag: React.FC<TagProps> = ({ value, ...rest }): JSX.Element => {\n return (\n <TagCore\n value={\n <Text\n colorVariant=\"secondary\"\n colorTone=\"dark\"\n fontStack=\"default\"\n fontWeight=\"bold\"\n typography={rest.variant === 'small' ? 'sub' : 'base'}\n >\n {value}\n </Text>\n }\n {...rest}\n />\n );\n};\n\nexport default Tag;\n"],"names":["React","TagCore"],"mappings":";;;;AAWA,MAAM,GAA0B,GAAA,CAAC,EAAE,KAAA,EAAA,GAAU,MAAwB,KAAA;AACnE,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAAC,KAAA,EAAA;AAAA,IACC,uBACGD,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MACC,YAAa,EAAA,WAAA;AAAA,MACb,SAAU,EAAA,MAAA;AAAA,MACV,SAAU,EAAA,SAAA;AAAA,MACV,UAAW,EAAA,MAAA;AAAA,MACX,UAAY,EAAA,IAAA,CAAK,OAAY,KAAA,OAAA,GAAU,KAAQ,GAAA,MAAA;AAAA,KAAA,EAE9C,KACH,CAAA;AAAA,IAED,GAAG,IAAA;AAAA,GACN,CAAA,CAAA;AAEJ;;;;"}
@@ -1,37 +1,10 @@
1
1
  import React__default from 'react';
2
2
  import { StyledNativeText } from './styled.js';
3
3
 
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __spreadValues = (a, b) => {
10
- for (var prop in b || (b = {}))
11
- if (__hasOwnProp.call(b, prop))
12
- __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols)
14
- for (var prop of __getOwnPropSymbols(b)) {
15
- if (__propIsEnum.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
- const Text = (_a) => {
33
- var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
34
- return /* @__PURE__ */ React__default.createElement(StyledNativeText, __spreadValues({}, rest), children);
4
+ const Text = ({ children, ...rest }) => {
5
+ return /* @__PURE__ */ React__default.createElement(StyledNativeText, {
6
+ ...rest
7
+ }, children);
35
8
  };
36
9
 
37
10
  export { Text as default };