react-native-hold-menu-actions 0.1.6

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 (219) hide show
  1. package/LICENCE +21 -0
  2. package/README.md +38 -0
  3. package/lib/commonjs/components/backdrop/Backdrop.js +104 -0
  4. package/lib/commonjs/components/backdrop/Backdrop.js.map +1 -0
  5. package/lib/commonjs/components/backdrop/constants.js +14 -0
  6. package/lib/commonjs/components/backdrop/constants.js.map +1 -0
  7. package/lib/commonjs/components/backdrop/index.js +16 -0
  8. package/lib/commonjs/components/backdrop/index.js.map +1 -0
  9. package/lib/commonjs/components/backdrop/styles.js +17 -0
  10. package/lib/commonjs/components/backdrop/styles.js.map +1 -0
  11. package/lib/commonjs/components/flatList/FlatList.js +35 -0
  12. package/lib/commonjs/components/flatList/FlatList.js.map +1 -0
  13. package/lib/commonjs/components/flatList/index.js +16 -0
  14. package/lib/commonjs/components/flatList/index.js.map +1 -0
  15. package/lib/commonjs/components/holdItem/HoldItem.js +369 -0
  16. package/lib/commonjs/components/holdItem/HoldItem.js.map +1 -0
  17. package/lib/commonjs/components/holdItem/index.js +16 -0
  18. package/lib/commonjs/components/holdItem/index.js.map +1 -0
  19. package/lib/commonjs/components/holdItem/styles.js +22 -0
  20. package/lib/commonjs/components/holdItem/styles.js.map +1 -0
  21. package/lib/commonjs/components/holdItem/types.d.js +2 -0
  22. package/lib/commonjs/components/holdItem/types.d.js.map +1 -0
  23. package/lib/commonjs/components/icon/Icon.js +43 -0
  24. package/lib/commonjs/components/icon/Icon.js.map +1 -0
  25. package/lib/commonjs/components/icon/index.js +16 -0
  26. package/lib/commonjs/components/icon/index.js.map +1 -0
  27. package/lib/commonjs/components/menu/Menu.js +57 -0
  28. package/lib/commonjs/components/menu/Menu.js.map +1 -0
  29. package/lib/commonjs/components/menu/MenuItem.js +85 -0
  30. package/lib/commonjs/components/menu/MenuItem.js.map +1 -0
  31. package/lib/commonjs/components/menu/MenuItems.js +35 -0
  32. package/lib/commonjs/components/menu/MenuItems.js.map +1 -0
  33. package/lib/commonjs/components/menu/MenuList.js +121 -0
  34. package/lib/commonjs/components/menu/MenuList.js.map +1 -0
  35. package/lib/commonjs/components/menu/Separator.js +47 -0
  36. package/lib/commonjs/components/menu/Separator.js.map +1 -0
  37. package/lib/commonjs/components/menu/calculations.js +31 -0
  38. package/lib/commonjs/components/menu/calculations.js.map +1 -0
  39. package/lib/commonjs/components/menu/constants.js +21 -0
  40. package/lib/commonjs/components/menu/constants.js.map +1 -0
  41. package/lib/commonjs/components/menu/index.js +16 -0
  42. package/lib/commonjs/components/menu/index.js.map +1 -0
  43. package/lib/commonjs/components/menu/styles.js +77 -0
  44. package/lib/commonjs/components/menu/styles.js.map +1 -0
  45. package/lib/commonjs/components/menu/types.d.js +2 -0
  46. package/lib/commonjs/components/menu/types.d.js.map +1 -0
  47. package/lib/commonjs/components/provider/Provider.js +98 -0
  48. package/lib/commonjs/components/provider/Provider.js.map +1 -0
  49. package/lib/commonjs/components/provider/index.js +16 -0
  50. package/lib/commonjs/components/provider/index.js.map +1 -0
  51. package/lib/commonjs/components/provider/reducer.js +50 -0
  52. package/lib/commonjs/components/provider/reducer.js.map +1 -0
  53. package/lib/commonjs/components/provider/types.d.js +2 -0
  54. package/lib/commonjs/components/provider/types.d.js.map +1 -0
  55. package/lib/commonjs/constants.js +60 -0
  56. package/lib/commonjs/constants.js.map +1 -0
  57. package/lib/commonjs/context/index.js +14 -0
  58. package/lib/commonjs/context/index.js.map +1 -0
  59. package/lib/commonjs/context/internal.js +13 -0
  60. package/lib/commonjs/context/internal.js.map +1 -0
  61. package/lib/commonjs/hooks/index.js +24 -0
  62. package/lib/commonjs/hooks/index.js.map +1 -0
  63. package/lib/commonjs/hooks/useDeviceOrientation.js +38 -0
  64. package/lib/commonjs/hooks/useDeviceOrientation.js.map +1 -0
  65. package/lib/commonjs/hooks/useInternal.js +15 -0
  66. package/lib/commonjs/hooks/useInternal.js.map +1 -0
  67. package/lib/commonjs/index.js +40 -0
  68. package/lib/commonjs/index.js.map +1 -0
  69. package/lib/commonjs/styleGuide.js +39 -0
  70. package/lib/commonjs/styleGuide.js.map +1 -0
  71. package/lib/commonjs/utils/calculations.js +73 -0
  72. package/lib/commonjs/utils/calculations.js.map +1 -0
  73. package/lib/commonjs/utils/validations.js +43 -0
  74. package/lib/commonjs/utils/validations.js.map +1 -0
  75. package/lib/module/components/backdrop/Backdrop.js +83 -0
  76. package/lib/module/components/backdrop/Backdrop.js.map +1 -0
  77. package/lib/module/components/backdrop/constants.js +4 -0
  78. package/lib/module/components/backdrop/constants.js.map +1 -0
  79. package/lib/module/components/backdrop/index.js +2 -0
  80. package/lib/module/components/backdrop/index.js.map +1 -0
  81. package/lib/module/components/backdrop/styles.js +7 -0
  82. package/lib/module/components/backdrop/styles.js.map +1 -0
  83. package/lib/module/components/flatList/FlatList.js +17 -0
  84. package/lib/module/components/flatList/FlatList.js.map +1 -0
  85. package/lib/module/components/flatList/index.js +2 -0
  86. package/lib/module/components/flatList/index.js.map +1 -0
  87. package/lib/module/components/holdItem/HoldItem.js +344 -0
  88. package/lib/module/components/holdItem/HoldItem.js.map +1 -0
  89. package/lib/module/components/holdItem/index.js +2 -0
  90. package/lib/module/components/holdItem/index.js.map +1 -0
  91. package/lib/module/components/holdItem/styles.js +12 -0
  92. package/lib/module/components/holdItem/styles.js.map +1 -0
  93. package/lib/module/components/holdItem/types.d.js +2 -0
  94. package/lib/module/components/holdItem/types.d.js.map +1 -0
  95. package/lib/module/components/icon/Icon.js +26 -0
  96. package/lib/module/components/icon/Icon.js.map +1 -0
  97. package/lib/module/components/icon/index.js +2 -0
  98. package/lib/module/components/icon/index.js.map +1 -0
  99. package/lib/module/components/menu/Menu.js +37 -0
  100. package/lib/module/components/menu/Menu.js.map +1 -0
  101. package/lib/module/components/menu/MenuItem.js +59 -0
  102. package/lib/module/components/menu/MenuItem.js.map +1 -0
  103. package/lib/module/components/menu/MenuItems.js +19 -0
  104. package/lib/module/components/menu/MenuItems.js.map +1 -0
  105. package/lib/module/components/menu/MenuList.js +93 -0
  106. package/lib/module/components/menu/MenuList.js.map +1 -0
  107. package/lib/module/components/menu/Separator.js +29 -0
  108. package/lib/module/components/menu/Separator.js.map +1 -0
  109. package/lib/module/components/menu/calculations.js +17 -0
  110. package/lib/module/components/menu/calculations.js.map +1 -0
  111. package/lib/module/components/menu/constants.js +8 -0
  112. package/lib/module/components/menu/constants.js.map +1 -0
  113. package/lib/module/components/menu/index.js +2 -0
  114. package/lib/module/components/menu/index.js.map +1 -0
  115. package/lib/module/components/menu/styles.js +63 -0
  116. package/lib/module/components/menu/styles.js.map +1 -0
  117. package/lib/module/components/menu/types.d.js +2 -0
  118. package/lib/module/components/menu/types.d.js.map +1 -0
  119. package/lib/module/components/provider/Provider.js +75 -0
  120. package/lib/module/components/provider/Provider.js.map +1 -0
  121. package/lib/module/components/provider/index.js +2 -0
  122. package/lib/module/components/provider/index.js.map +1 -0
  123. package/lib/module/components/provider/reducer.js +38 -0
  124. package/lib/module/components/provider/reducer.js.map +1 -0
  125. package/lib/module/components/provider/types.d.js +2 -0
  126. package/lib/module/components/provider/types.d.js.map +1 -0
  127. package/lib/module/constants.js +37 -0
  128. package/lib/module/constants.js.map +1 -0
  129. package/lib/module/context/index.js +2 -0
  130. package/lib/module/context/index.js.map +1 -0
  131. package/lib/module/context/internal.js +4 -0
  132. package/lib/module/context/internal.js.map +1 -0
  133. package/lib/module/hooks/index.js +3 -0
  134. package/lib/module/hooks/index.js.map +1 -0
  135. package/lib/module/hooks/useDeviceOrientation.js +27 -0
  136. package/lib/module/hooks/useDeviceOrientation.js.map +1 -0
  137. package/lib/module/hooks/useInternal.js +4 -0
  138. package/lib/module/hooks/useInternal.js.map +1 -0
  139. package/lib/module/index.js +5 -0
  140. package/lib/module/index.js.map +1 -0
  141. package/lib/module/styleGuide.js +30 -0
  142. package/lib/module/styleGuide.js.map +1 -0
  143. package/lib/module/utils/calculations.js +51 -0
  144. package/lib/module/utils/calculations.js.map +1 -0
  145. package/lib/module/utils/validations.js +38 -0
  146. package/lib/module/utils/validations.js.map +1 -0
  147. package/lib/typescript/components/backdrop/Backdrop.d.ts +3 -0
  148. package/lib/typescript/components/backdrop/constants.d.ts +2 -0
  149. package/lib/typescript/components/backdrop/index.d.ts +1 -0
  150. package/lib/typescript/components/backdrop/styles.d.ts +10 -0
  151. package/lib/typescript/components/flatList/FlatList.d.ts +5 -0
  152. package/lib/typescript/components/flatList/index.d.ts +2 -0
  153. package/lib/typescript/components/holdItem/HoldItem.d.ts +4 -0
  154. package/lib/typescript/components/holdItem/index.d.ts +2 -0
  155. package/lib/typescript/components/holdItem/styles.d.ts +15 -0
  156. package/lib/typescript/components/holdItem/types.d.ts +131 -0
  157. package/lib/typescript/components/icon/Icon.d.ts +7 -0
  158. package/lib/typescript/components/icon/index.d.ts +1 -0
  159. package/lib/typescript/components/menu/Menu.d.ts +3 -0
  160. package/lib/typescript/components/menu/MenuItem.d.ts +8 -0
  161. package/lib/typescript/components/menu/MenuItems.d.ts +6 -0
  162. package/lib/typescript/components/menu/MenuList.d.ts +3 -0
  163. package/lib/typescript/components/menu/Separator.d.ts +3 -0
  164. package/lib/typescript/components/menu/calculations.d.ts +4 -0
  165. package/lib/typescript/components/menu/constants.d.ts +7 -0
  166. package/lib/typescript/components/menu/index.d.ts +1 -0
  167. package/lib/typescript/components/menu/styles.d.ts +59 -0
  168. package/lib/typescript/components/menu/types.d.ts +28 -0
  169. package/lib/typescript/components/provider/Provider.d.ts +10 -0
  170. package/lib/typescript/components/provider/index.d.ts +2 -0
  171. package/lib/typescript/components/provider/reducer.d.ts +20 -0
  172. package/lib/typescript/components/provider/types.d.ts +33 -0
  173. package/lib/typescript/constants.d.ts +29 -0
  174. package/lib/typescript/context/index.d.ts +1 -0
  175. package/lib/typescript/context/internal.d.ts +16 -0
  176. package/lib/typescript/hooks/index.d.ts +2 -0
  177. package/lib/typescript/hooks/useDeviceOrientation.d.ts +3 -0
  178. package/lib/typescript/hooks/useInternal.d.ts +1 -0
  179. package/lib/typescript/index.d.ts +4 -0
  180. package/lib/typescript/styleGuide.d.ts +28 -0
  181. package/lib/typescript/utils/calculations.d.ts +14 -0
  182. package/lib/typescript/utils/validations.d.ts +3 -0
  183. package/package.json +106 -0
  184. package/src/components/backdrop/Backdrop.tsx +138 -0
  185. package/src/components/backdrop/constants.ts +8 -0
  186. package/src/components/backdrop/index.ts +1 -0
  187. package/src/components/backdrop/styles.ts +8 -0
  188. package/src/components/flatList/FlatList.tsx +23 -0
  189. package/src/components/flatList/index.ts +2 -0
  190. package/src/components/holdItem/HoldItem.tsx +449 -0
  191. package/src/components/holdItem/index.ts +2 -0
  192. package/src/components/holdItem/styles.ts +11 -0
  193. package/src/components/holdItem/types.d.ts +131 -0
  194. package/src/components/icon/Icon.tsx +33 -0
  195. package/src/components/icon/index.ts +1 -0
  196. package/src/components/menu/Menu.tsx +57 -0
  197. package/src/components/menu/MenuItem.tsx +79 -0
  198. package/src/components/menu/MenuItems.tsx +26 -0
  199. package/src/components/menu/MenuList.tsx +151 -0
  200. package/src/components/menu/Separator.tsx +28 -0
  201. package/src/components/menu/calculations.ts +49 -0
  202. package/src/components/menu/constants.ts +9 -0
  203. package/src/components/menu/index.ts +1 -0
  204. package/src/components/menu/styles.ts +64 -0
  205. package/src/components/menu/types.d.ts +28 -0
  206. package/src/components/provider/Provider.tsx +105 -0
  207. package/src/components/provider/index.ts +2 -0
  208. package/src/components/provider/reducer.ts +48 -0
  209. package/src/components/provider/types.d.ts +33 -0
  210. package/src/constants.ts +54 -0
  211. package/src/context/index.ts +1 -0
  212. package/src/context/internal.ts +19 -0
  213. package/src/hooks/index.ts +2 -0
  214. package/src/hooks/useDeviceOrientation.ts +28 -0
  215. package/src/hooks/useInternal.ts +4 -0
  216. package/src/index.ts +4 -0
  217. package/src/styleGuide.ts +31 -0
  218. package/src/utils/calculations.ts +110 -0
  219. package/src/utils/validations.ts +42 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Provider.default;
10
+ }
11
+ });
12
+
13
+ var _Provider = _interopRequireDefault(require("./Provider"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default } from './Provider';\nexport type { HoldMenuProviderProps } from './types';\n"]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.initialState = exports.reducer = exports.ActionType = void 0;
7
+
8
+ var _constants = require("../../constants");
9
+
10
+ let ActionType;
11
+ exports.ActionType = ActionType;
12
+
13
+ (function (ActionType) {
14
+ ActionType["Active"] = "Active";
15
+ ActionType["End"] = "End";
16
+ ActionType["Theme"] = "Theme";
17
+ })(ActionType || (exports.ActionType = ActionType = {}));
18
+
19
+ const reducer = (state, action) => {
20
+ switch (action.type) {
21
+ case ActionType.Active:
22
+ return { ...state,
23
+ active: _constants.CONTEXT_MENU_STATE.ACTIVE,
24
+ activeItem: action.activeItem
25
+ };
26
+
27
+ case ActionType.End:
28
+ return { ...state,
29
+ active: _constants.CONTEXT_MENU_STATE.END,
30
+ activeItem: null
31
+ };
32
+
33
+ case ActionType.Theme:
34
+ return { ...state,
35
+ theme: state.theme === 'dark' ? 'light' : 'dark'
36
+ };
37
+
38
+ default:
39
+ return state;
40
+ }
41
+ };
42
+
43
+ exports.reducer = reducer;
44
+ const initialState = {
45
+ active: 0,
46
+ activeItem: null,
47
+ theme: 'light'
48
+ };
49
+ exports.initialState = initialState;
50
+ //# sourceMappingURL=reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["reducer.ts"],"names":["ActionType","reducer","state","action","type","Active","active","CONTEXT_MENU_STATE","ACTIVE","activeItem","End","END","Theme","theme","initialState"],"mappings":";;;;;;;AAAA;;IAQYA,U;;;WAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;GAAAA,U,0BAAAA,U;;AAWL,MAAMC,OAAO,GAAG,CAACC,KAAD,EAAoBC,MAApB,KAAmD;AACxE,UAAQA,MAAM,CAACC,IAAf;AACE,SAAKJ,UAAU,CAACK,MAAhB;AACE,aAAO,EACL,GAAGH,KADE;AAELI,QAAAA,MAAM,EAAEC,8BAAmBC,MAFtB;AAGLC,QAAAA,UAAU,EAAEN,MAAM,CAACM;AAHd,OAAP;;AAKF,SAAKT,UAAU,CAACU,GAAhB;AACE,aAAO,EACL,GAAGR,KADE;AAELI,QAAAA,MAAM,EAAEC,8BAAmBI,GAFtB;AAGLF,QAAAA,UAAU,EAAE;AAHP,OAAP;;AAKF,SAAKT,UAAU,CAACY,KAAhB;AACE,aAAO,EACL,GAAGV,KADE;AAELW,QAAAA,KAAK,EAAEX,KAAK,CAACW,KAAN,KAAgB,MAAhB,GAAyB,OAAzB,GAAmC;AAFrC,OAAP;;AAIF;AACE,aAAOX,KAAP;AAnBJ;AAqBD,CAtBM;;;AAwBA,MAAMY,YAAwB,GAAG;AACtCR,EAAAA,MAAM,EAAE,CAD8B;AAEtCG,EAAAA,UAAU,EAAE,IAF0B;AAGtCI,EAAAA,KAAK,EAAE;AAH+B,CAAjC","sourcesContent":["import { CONTEXT_MENU_STATE } from '../../constants';\n\nexport type StateProps = {\n active: number;\n activeItem: string | null;\n theme: 'light' | 'dark';\n};\n\nexport enum ActionType {\n Active = 'Active',\n End = 'End',\n Theme = 'Theme',\n}\n\nexport type Action =\n | { type: ActionType.Active; activeItem: string | null }\n | { type: ActionType.End }\n | { type: ActionType.Theme };\n\nexport const reducer = (state: StateProps, action: Action): StateProps => {\n switch (action.type) {\n case ActionType.Active:\n return {\n ...state,\n active: CONTEXT_MENU_STATE.ACTIVE,\n activeItem: action.activeItem,\n };\n case ActionType.End:\n return {\n ...state,\n active: CONTEXT_MENU_STATE.END,\n activeItem: null,\n };\n case ActionType.Theme:\n return {\n ...state,\n theme: state.theme === 'dark' ? 'light' : 'dark',\n };\n default:\n return state;\n }\n};\n\nexport const initialState: StateProps = {\n active: 0,\n activeItem: null,\n theme: 'light',\n};\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FONT_SCALE = exports.IS_IOS = exports.MENU_TRANSFORM_ORIGIN_TOLERENCE = exports.SPRING_CONFIGURATION_MENU = exports.SPRING_CONFIGURATION = exports.HOLD_ITEM_SCALE_DOWN_DURATION = exports.HOLD_ITEM_SCALE_DOWN_VALUE = exports.HOLD_ITEM_TRANSFORM_DURATION = exports.MENU_CONTAINER_WIDTH = exports.MENU_WIDTH = exports.WINDOW_WIDTH = exports.WINDOW_HEIGHT = exports.CONTEXT_MENU_STATE = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ const HOLD_ITEM_TRANSFORM_DURATION = 150;
11
+ exports.HOLD_ITEM_TRANSFORM_DURATION = HOLD_ITEM_TRANSFORM_DURATION;
12
+ const HOLD_ITEM_SCALE_DOWN_VALUE = 0.95;
13
+ exports.HOLD_ITEM_SCALE_DOWN_VALUE = HOLD_ITEM_SCALE_DOWN_VALUE;
14
+ const HOLD_ITEM_SCALE_DOWN_DURATION = 210;
15
+ exports.HOLD_ITEM_SCALE_DOWN_DURATION = HOLD_ITEM_SCALE_DOWN_DURATION;
16
+ const SPRING_CONFIGURATION = {
17
+ damping: 33,
18
+ mass: 1.03,
19
+ stiffness: 500,
20
+ restDisplacementThreshold: 0.001,
21
+ restSpeedThreshold: 0.001
22
+ };
23
+ exports.SPRING_CONFIGURATION = SPRING_CONFIGURATION;
24
+ const SPRING_CONFIGURATION_MENU = {
25
+ damping: 39,
26
+ mass: 1.09,
27
+ stiffness: 500,
28
+ restDisplacementThreshold: 0.001,
29
+ restSpeedThreshold: 0.001
30
+ };
31
+ exports.SPRING_CONFIGURATION_MENU = SPRING_CONFIGURATION_MENU;
32
+ var CONTEXT_MENU_STATE;
33
+ exports.CONTEXT_MENU_STATE = CONTEXT_MENU_STATE;
34
+
35
+ (function (CONTEXT_MENU_STATE) {
36
+ CONTEXT_MENU_STATE[CONTEXT_MENU_STATE["UNDETERMINED"] = 0] = "UNDETERMINED";
37
+ CONTEXT_MENU_STATE[CONTEXT_MENU_STATE["ACTIVE"] = 1] = "ACTIVE";
38
+ CONTEXT_MENU_STATE[CONTEXT_MENU_STATE["END"] = 2] = "END";
39
+ })(CONTEXT_MENU_STATE || (exports.CONTEXT_MENU_STATE = CONTEXT_MENU_STATE = {}));
40
+
41
+ const {
42
+ height: WINDOW_HEIGHT,
43
+ width: WINDOW_WIDTH
44
+ } = _reactNative.Dimensions.get('screen');
45
+
46
+ exports.WINDOW_WIDTH = WINDOW_WIDTH;
47
+ exports.WINDOW_HEIGHT = WINDOW_HEIGHT;
48
+ const MENU_CONTAINER_WIDTH = 100;
49
+ exports.MENU_CONTAINER_WIDTH = MENU_CONTAINER_WIDTH;
50
+ const MENU_WIDTH = WINDOW_WIDTH * 60 / 100;
51
+ exports.MENU_WIDTH = MENU_WIDTH;
52
+ const MENU_TRANSFORM_ORIGIN_TOLERENCE = 10;
53
+ exports.MENU_TRANSFORM_ORIGIN_TOLERENCE = MENU_TRANSFORM_ORIGIN_TOLERENCE;
54
+ const IS_IOS = _reactNative.Platform.OS === 'ios';
55
+ exports.IS_IOS = IS_IOS;
56
+
57
+ const FONT_SCALE = _reactNative.Dimensions.get('screen').fontScale;
58
+
59
+ exports.FONT_SCALE = FONT_SCALE;
60
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["constants.ts"],"names":["HOLD_ITEM_TRANSFORM_DURATION","HOLD_ITEM_SCALE_DOWN_VALUE","HOLD_ITEM_SCALE_DOWN_DURATION","SPRING_CONFIGURATION","damping","mass","stiffness","restDisplacementThreshold","restSpeedThreshold","SPRING_CONFIGURATION_MENU","CONTEXT_MENU_STATE","height","WINDOW_HEIGHT","width","WINDOW_WIDTH","Dimensions","get","MENU_CONTAINER_WIDTH","MENU_WIDTH","MENU_TRANSFORM_ORIGIN_TOLERENCE","IS_IOS","Platform","OS","FONT_SCALE","fontScale"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,4BAA4B,GAAG,GAArC;;AACA,MAAMC,0BAA0B,GAAG,IAAnC;;AACA,MAAMC,6BAA6B,GAAG,GAAtC;;AAEA,MAAMC,oBAAoB,GAAG;AAC3BC,EAAAA,OAAO,EAAE,EADkB;AAE3BC,EAAAA,IAAI,EAAE,IAFqB;AAG3BC,EAAAA,SAAS,EAAE,GAHgB;AAI3BC,EAAAA,yBAAyB,EAAE,KAJA;AAK3BC,EAAAA,kBAAkB,EAAE;AALO,CAA7B;;AAQA,MAAMC,yBAAyB,GAAG;AAChCL,EAAAA,OAAO,EAAE,EADuB;AAEhCC,EAAAA,IAAI,EAAE,IAF0B;AAGhCC,EAAAA,SAAS,EAAE,GAHqB;AAIhCC,EAAAA,yBAAyB,EAAE,KAJK;AAKhCC,EAAAA,kBAAkB,EAAE;AALY,CAAlC;;IAQKE,kB;;;WAAAA,kB;AAAAA,EAAAA,kB,CAAAA,kB;AAAAA,EAAAA,kB,CAAAA,kB;AAAAA,EAAAA,kB,CAAAA,kB;GAAAA,kB,kCAAAA,kB;;AAML,MAAM;AAAEC,EAAAA,MAAM,EAAEC,aAAV;AAAyBC,EAAAA,KAAK,EAAEC;AAAhC,IAAiDC,wBAAWC,GAAX,CAAe,QAAf,CAAvD;;;;AAEA,MAAMC,oBAAoB,GAAG,GAA7B;;AACA,MAAMC,UAAU,GAAIJ,YAAY,GAAG,EAAhB,GAAsB,GAAzC;;AAEA,MAAMK,+BAA+B,GAAG,EAAxC;;AAEA,MAAMC,MAAM,GAAGC,sBAASC,EAAT,KAAgB,KAA/B;;;AAEA,MAAMC,UAAU,GAAGR,wBAAWC,GAAX,CAAe,QAAf,EAAyBQ,SAA5C","sourcesContent":["import { Dimensions, Platform } from 'react-native';\n\nconst HOLD_ITEM_TRANSFORM_DURATION = 150;\nconst HOLD_ITEM_SCALE_DOWN_VALUE = 0.95;\nconst HOLD_ITEM_SCALE_DOWN_DURATION = 210;\n\nconst SPRING_CONFIGURATION = {\n damping: 33,\n mass: 1.03,\n stiffness: 500,\n restDisplacementThreshold: 0.001,\n restSpeedThreshold: 0.001,\n};\n\nconst SPRING_CONFIGURATION_MENU = {\n damping: 39,\n mass: 1.09,\n stiffness: 500,\n restDisplacementThreshold: 0.001,\n restSpeedThreshold: 0.001,\n};\n\nenum CONTEXT_MENU_STATE {\n UNDETERMINED = 0,\n ACTIVE,\n END,\n}\n\nconst { height: WINDOW_HEIGHT, width: WINDOW_WIDTH } = Dimensions.get('screen');\n\nconst MENU_CONTAINER_WIDTH = 100;\nconst MENU_WIDTH = (WINDOW_WIDTH * 60) / 100;\n\nconst MENU_TRANSFORM_ORIGIN_TOLERENCE = 10;\n\nconst IS_IOS = Platform.OS === 'ios';\n\nconst FONT_SCALE = Dimensions.get('screen').fontScale;\n\nexport {\n CONTEXT_MENU_STATE,\n WINDOW_HEIGHT,\n WINDOW_WIDTH,\n MENU_WIDTH,\n MENU_CONTAINER_WIDTH,\n HOLD_ITEM_TRANSFORM_DURATION,\n HOLD_ITEM_SCALE_DOWN_VALUE,\n HOLD_ITEM_SCALE_DOWN_DURATION,\n SPRING_CONFIGURATION,\n SPRING_CONFIGURATION_MENU,\n MENU_TRANSFORM_ORIGIN_TOLERENCE,\n IS_IOS,\n FONT_SCALE,\n};\n"]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "InternalContext", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _internal.InternalContext;
10
+ }
11
+ });
12
+
13
+ var _internal = require("./internal");
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { InternalContext } from './internal';\n"]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InternalContext = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ // @ts-ignore
11
+ const InternalContext = /*#__PURE__*/(0, _react.createContext)();
12
+ exports.InternalContext = InternalContext;
13
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["internal.ts"],"names":["InternalContext"],"mappings":";;;;;;;AAAA;;AAiBA;AACO,MAAMA,eAAe,gBAAG,2BAAxB","sourcesContent":["import { createContext } from 'react';\nimport type Animated from 'react-native-reanimated';\nimport type { CONTEXT_MENU_STATE } from '../constants';\nimport { MenuInternalProps } from '../components/menu/types';\n\nexport type InternalContextType = {\n state: Animated.SharedValue<CONTEXT_MENU_STATE>;\n theme: Animated.SharedValue<'light' | 'dark'>;\n menuProps: Animated.SharedValue<MenuInternalProps>;\n safeAreaInsets?: {\n top: number;\n right: number;\n bottom: number;\n left: number;\n };\n};\n\n// @ts-ignore\nexport const InternalContext = createContext<InternalContextType>();\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useDeviceOrientation", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useDeviceOrientation.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useInternal", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useInternal.useInternal;
16
+ }
17
+ });
18
+
19
+ var _useDeviceOrientation = _interopRequireDefault(require("./useDeviceOrientation"));
20
+
21
+ var _useInternal = require("./useInternal");
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["export { default as useDeviceOrientation } from './useDeviceOrientation';\nexport { useInternal } from './useInternal';\n"]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ function getWindowOrientation() {
13
+ const {
14
+ width,
15
+ height
16
+ } = _reactNative.Dimensions.get('window');
17
+
18
+ return height >= width ? 'portrait' : 'landscape';
19
+ }
20
+
21
+ function useDeviceOrientation() {
22
+ const [deviceOrientation, setDeviceOrientation] = (0, _react.useState)(getWindowOrientation());
23
+ (0, _react.useEffect)(() => {
24
+ function updateState() {
25
+ setDeviceOrientation(getWindowOrientation());
26
+ }
27
+
28
+ const changeEvent = _reactNative.Dimensions.addEventListener('change', updateState); // @ts-ignore
29
+
30
+
31
+ return () => changeEvent.remove();
32
+ }, []);
33
+ return deviceOrientation;
34
+ }
35
+
36
+ var _default = useDeviceOrientation;
37
+ exports.default = _default;
38
+ //# sourceMappingURL=useDeviceOrientation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useDeviceOrientation.ts"],"names":["getWindowOrientation","width","height","Dimensions","get","useDeviceOrientation","deviceOrientation","setDeviceOrientation","updateState","changeEvent","addEventListener","remove"],"mappings":";;;;;;;AAAA;;AACA;;AAIA,SAASA,oBAAT,GAA6C;AAC3C,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAoBC,wBAAWC,GAAX,CAAe,QAAf,CAA1B;;AACA,SAAOF,MAAM,IAAID,KAAV,GAAkB,UAAlB,GAA+B,WAAtC;AACD;;AAED,SAASI,oBAAT,GAAgC;AAC9B,QAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4C,qBAChDP,oBAAoB,EAD4B,CAAlD;AAIA,wBAAU,MAAM;AACd,aAASQ,WAAT,GAAuB;AACrBD,MAAAA,oBAAoB,CAACP,oBAAoB,EAArB,CAApB;AACD;;AACD,UAAMS,WAAW,GAAGN,wBAAWO,gBAAX,CAA4B,QAA5B,EAAsCF,WAAtC,CAApB,CAJc,CAKd;;;AACA,WAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;AACD,GAPD,EAOG,EAPH;AASA,SAAOL,iBAAP;AACD;;eAEcD,oB","sourcesContent":["import { useState, useEffect } from 'react';\nimport { Dimensions } from 'react-native';\n\ntype Orientation = 'landscape' | 'portrait';\n\nfunction getWindowOrientation(): Orientation {\n const { width, height } = Dimensions.get('window');\n return height >= width ? 'portrait' : 'landscape';\n}\n\nfunction useDeviceOrientation() {\n const [deviceOrientation, setDeviceOrientation] = useState<Orientation>(\n getWindowOrientation()\n );\n\n useEffect(() => {\n function updateState() {\n setDeviceOrientation(getWindowOrientation());\n }\n const changeEvent = Dimensions.addEventListener('change', updateState);\n // @ts-ignore\n return () => changeEvent.remove();\n }, []);\n\n return deviceOrientation;\n}\n\nexport default useDeviceOrientation;\n"]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useInternal = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _context = require("../context");
11
+
12
+ const useInternal = () => (0, _react.useContext)(_context.InternalContext);
13
+
14
+ exports.useInternal = useInternal;
15
+ //# sourceMappingURL=useInternal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useInternal.ts"],"names":["useInternal","InternalContext"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,WAAW,GAAG,MAAM,uBAAWC,wBAAX,CAA1B","sourcesContent":["import { useContext } from 'react';\nimport { InternalContext } from '../context';\n\nexport const useInternal = () => useContext(InternalContext);\n"]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "HoldItem", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _holdItem.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "HoldMenuProvider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _provider.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "HoldMenuFlatList", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _flatList.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "HoldMenuIcon", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _icon.default;
28
+ }
29
+ });
30
+
31
+ var _holdItem = _interopRequireDefault(require("./components/holdItem"));
32
+
33
+ var _provider = _interopRequireDefault(require("./components/provider"));
34
+
35
+ var _flatList = _interopRequireDefault(require("./components/flatList"));
36
+
37
+ var _icon = _interopRequireDefault(require("./components/icon"));
38
+
39
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["export { default as HoldItem } from './components/holdItem';\nexport { default as HoldMenuProvider } from './components/provider';\nexport { default as HoldMenuFlatList } from './components/flatList';\nexport { default as HoldMenuIcon } from './components/icon';\n"]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ const styleGuide = {
11
+ spacing: 8,
12
+ dimensionWidth: _reactNative.Dimensions.get('screen').width,
13
+ dimensionHeight: _reactNative.Dimensions.get('screen').height,
14
+ palette: {
15
+ primary: '#0072ff',
16
+ secondary: '#e2e2e2',
17
+ common: {
18
+ white: '#fff',
19
+ black: '#000'
20
+ }
21
+ },
22
+ typography: {
23
+ body: {
24
+ fontSize: 17,
25
+ lineHeight: 20
26
+ },
27
+ callout: {
28
+ fontSize: 16,
29
+ lineHeight: 20
30
+ },
31
+ callout2: {
32
+ fontSize: 14,
33
+ lineHeight: 18
34
+ }
35
+ }
36
+ };
37
+ var _default = styleGuide;
38
+ exports.default = _default;
39
+ //# sourceMappingURL=styleGuide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["styleGuide.ts"],"names":["styleGuide","spacing","dimensionWidth","Dimensions","get","width","dimensionHeight","height","palette","primary","secondary","common","white","black","typography","body","fontSize","lineHeight","callout","callout2"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,OAAO,EAAE,CADQ;AAEjBC,EAAAA,cAAc,EAAEC,wBAAWC,GAAX,CAAe,QAAf,EAAyBC,KAFxB;AAGjBC,EAAAA,eAAe,EAAEH,wBAAWC,GAAX,CAAe,QAAf,EAAyBG,MAHzB;AAIjBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAE,SADF;AAEPC,IAAAA,SAAS,EAAE,SAFJ;AAGPC,IAAAA,MAAM,EAAE;AACNC,MAAAA,KAAK,EAAE,MADD;AAENC,MAAAA,KAAK,EAAE;AAFD;AAHD,GAJQ;AAYjBC,EAAAA,UAAU,EAAE;AACVC,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE,EADN;AAEJC,MAAAA,UAAU,EAAE;AAFR,KADI;AAKVC,IAAAA,OAAO,EAAE;AACPF,MAAAA,QAAQ,EAAE,EADH;AAEPC,MAAAA,UAAU,EAAE;AAFL,KALC;AASVE,IAAAA,QAAQ,EAAE;AACRH,MAAAA,QAAQ,EAAE,EADF;AAERC,MAAAA,UAAU,EAAE;AAFJ;AATA;AAZK,CAAnB;eA4BejB,U","sourcesContent":["import { Dimensions } from 'react-native';\n\nconst styleGuide = {\n spacing: 8,\n dimensionWidth: Dimensions.get('screen').width,\n dimensionHeight: Dimensions.get('screen').height,\n palette: {\n primary: '#0072ff',\n secondary: '#e2e2e2',\n common: {\n white: '#fff',\n black: '#000',\n },\n },\n typography: {\n body: {\n fontSize: 17,\n lineHeight: 20,\n },\n callout: {\n fontSize: 16,\n lineHeight: 20,\n },\n callout2: {\n fontSize: 14,\n lineHeight: 18,\n },\n },\n};\n\nexport default styleGuide;\n"]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTransformOrigin = exports.menuAnimationAnchor = exports.calculateMenuHeight = exports.MenuItemHeight = void 0;
7
+
8
+ var _styleGuide = _interopRequireDefault(require("../styleGuide"));
9
+
10
+ var _constants = require("../constants");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const MenuItemHeight = () => {
15
+ 'worklet';
16
+
17
+ return _styleGuide.default.typography.callout.lineHeight * _constants.FONT_SCALE + _styleGuide.default.spacing * 2.5;
18
+ };
19
+
20
+ exports.MenuItemHeight = MenuItemHeight;
21
+
22
+ const calculateMenuHeight = (itemLength, separatorCount) => {
23
+ 'worklet';
24
+
25
+ return MenuItemHeight() * itemLength + (itemLength - 1) + separatorCount * _styleGuide.default.spacing;
26
+ };
27
+
28
+ exports.calculateMenuHeight = calculateMenuHeight;
29
+
30
+ const menuAnimationAnchor = (anchorPoint, itemWidth, itemLength, itemsWithSeparatorLength) => {
31
+ 'worklet';
32
+
33
+ const MenuHeight = calculateMenuHeight(itemLength, itemsWithSeparatorLength);
34
+ const splittetAnchorName = anchorPoint.split('-');
35
+ const Center1 = itemWidth;
36
+ const Center2 = 0;
37
+ const TyTop1 = -(MenuHeight / 2);
38
+ const TyTop2 = MenuHeight / 2;
39
+ const TxLeft1 = _constants.MENU_WIDTH / 2 * -1;
40
+ const TxLeft2 = _constants.MENU_WIDTH / 2 * 1;
41
+ return {
42
+ beginningTransformations: {
43
+ translateX: splittetAnchorName[1] === 'right' ? -TxLeft1 : splittetAnchorName[1] === 'left' ? TxLeft1 : Center1,
44
+ translateY: splittetAnchorName[0] === 'top' ? TyTop1 : splittetAnchorName[0] === 'bottom' ? TyTop1 : Center2
45
+ },
46
+ endingTransformations: {
47
+ translateX: splittetAnchorName[1] === 'right' ? -TxLeft2 : splittetAnchorName[1] === 'left' ? TxLeft2 : Center2,
48
+ translateY: splittetAnchorName[0] === 'top' ? TyTop2 : splittetAnchorName[0] === 'bottom' ? -TyTop2 : Center2
49
+ }
50
+ };
51
+ };
52
+
53
+ exports.menuAnimationAnchor = menuAnimationAnchor;
54
+
55
+ const getTransformOrigin = (posX, itemWidth, windowWidth, bottom) => {
56
+ 'worklet';
57
+
58
+ const distanceToLeft = Math.round(posX + itemWidth / 2);
59
+ const distanceToRight = Math.round(windowWidth - distanceToLeft);
60
+ let position = bottom ? 'bottom-right' : 'top-right';
61
+ const majority = Math.abs(distanceToLeft - distanceToRight);
62
+
63
+ if (majority < _constants.MENU_TRANSFORM_ORIGIN_TOLERENCE) {
64
+ position = bottom ? 'bottom-center' : 'top-center';
65
+ } else if (distanceToLeft < distanceToRight) {
66
+ position = bottom ? 'bottom-left' : 'top-left';
67
+ }
68
+
69
+ return position;
70
+ };
71
+
72
+ exports.getTransformOrigin = getTransformOrigin;
73
+ //# sourceMappingURL=calculations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["calculations.ts"],"names":["MenuItemHeight","styleGuide","typography","callout","lineHeight","FONT_SCALE","spacing","calculateMenuHeight","itemLength","separatorCount","menuAnimationAnchor","anchorPoint","itemWidth","itemsWithSeparatorLength","MenuHeight","splittetAnchorName","split","Center1","Center2","TyTop1","TyTop2","TxLeft1","MENU_WIDTH","TxLeft2","beginningTransformations","translateX","translateY","endingTransformations","getTransformOrigin","posX","windowWidth","bottom","distanceToLeft","Math","round","distanceToRight","position","majority","abs","MENU_TRANSFORM_ORIGIN_TOLERENCE"],"mappings":";;;;;;;AAAA;;AACA;;;;AAMO,MAAMA,cAAc,GAAG,MAAM;AAClC;;AACA,SACEC,oBAAWC,UAAX,CAAsBC,OAAtB,CAA8BC,UAA9B,GAA2CC,qBAA3C,GACAJ,oBAAWK,OAAX,GAAqB,GAFvB;AAID,CANM;;;;AAQA,MAAMC,mBAAmB,GAAG,CACjCC,UADiC,EAEjCC,cAFiC,KAG9B;AACH;;AACA,SACET,cAAc,KAAKQ,UAAnB,IACCA,UAAU,GAAG,CADd,IAEAC,cAAc,GAAGR,oBAAWK,OAH9B;AAKD,CAVM;;;;AAoBA,MAAMI,mBAAmB,GAAG,CACjCC,WADiC,EAEjCC,SAFiC,EAGjCJ,UAHiC,EAIjCK,wBAJiC,KAK9B;AACH;;AACA,QAAMC,UAAU,GAAGP,mBAAmB,CAACC,UAAD,EAAaK,wBAAb,CAAtC;AACA,QAAME,kBAA4B,GAAGJ,WAAW,CAACK,KAAZ,CAAkB,GAAlB,CAArC;AAEA,QAAMC,OAAO,GAAGL,SAAhB;AACA,QAAMM,OAAO,GAAG,CAAhB;AAEA,QAAMC,MAAM,GAAG,EAAEL,UAAU,GAAG,CAAf,CAAf;AACA,QAAMM,MAAM,GAAGN,UAAU,GAAG,CAA5B;AAEA,QAAMO,OAAO,GAAIC,wBAAa,CAAd,GAAmB,CAAC,CAApC;AACA,QAAMC,OAAO,GAAID,wBAAa,CAAd,GAAmB,CAAnC;AAEA,SAAO;AACLE,IAAAA,wBAAwB,EAAE;AACxBC,MAAAA,UAAU,EACRV,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,OAA1B,GACI,CAACM,OADL,GAEIN,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,MAA1B,GACAM,OADA,GAEAJ,OANkB;AAOxBS,MAAAA,UAAU,EACRX,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,KAA1B,GACII,MADJ,GAEIJ,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,QAA1B,GACAI,MADA,GAEAD;AAZkB,KADrB;AAeLS,IAAAA,qBAAqB,EAAE;AACrBF,MAAAA,UAAU,EACRV,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,OAA1B,GACI,CAACQ,OADL,GAEIR,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,MAA1B,GACAQ,OADA,GAEAL,OANe;AAOrBQ,MAAAA,UAAU,EACRX,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,KAA1B,GACIK,MADJ,GAEIL,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,QAA1B,GACA,CAACK,MADD,GAEAF;AAZe;AAflB,GAAP;AA8BD,CAjDM;;;;AAmDA,MAAMU,kBAAkB,GAAG,CAChCC,IADgC,EAEhCjB,SAFgC,EAGhCkB,WAHgC,EAIhCC,MAJgC,KAKE;AAClC;;AACA,QAAMC,cAAc,GAAGC,IAAI,CAACC,KAAL,CAAWL,IAAI,GAAGjB,SAAS,GAAG,CAA9B,CAAvB;AACA,QAAMuB,eAAe,GAAGF,IAAI,CAACC,KAAL,CAAWJ,WAAW,GAAGE,cAAzB,CAAxB;AAEA,MAAII,QAAuC,GAAGL,MAAM,GAChD,cADgD,GAEhD,WAFJ;AAIA,QAAMM,QAAQ,GAAGJ,IAAI,CAACK,GAAL,CAASN,cAAc,GAAGG,eAA1B,CAAjB;;AAEA,MAAIE,QAAQ,GAAGE,0CAAf,EAAgD;AAC9CH,IAAAA,QAAQ,GAAGL,MAAM,GAAG,eAAH,GAAqB,YAAtC;AACD,GAFD,MAEO,IAAIC,cAAc,GAAGG,eAArB,EAAsC;AAC3CC,IAAAA,QAAQ,GAAGL,MAAM,GAAG,aAAH,GAAmB,UAApC;AACD;;AAED,SAAOK,QAAP;AACD,CAvBM","sourcesContent":["import styleGuide from '../styleGuide';\nimport {\n MENU_WIDTH,\n MENU_TRANSFORM_ORIGIN_TOLERENCE,\n FONT_SCALE,\n} from '../constants';\n\nexport const MenuItemHeight = () => {\n 'worklet';\n return (\n styleGuide.typography.callout.lineHeight * FONT_SCALE +\n styleGuide.spacing * 2.5\n );\n};\n\nexport const calculateMenuHeight = (\n itemLength: number,\n separatorCount: number\n) => {\n 'worklet';\n return (\n MenuItemHeight() * itemLength +\n (itemLength - 1) +\n separatorCount * styleGuide.spacing\n );\n};\n\nexport type TransformOriginAnchorPosition =\n | 'top-right'\n | 'top-left'\n | 'top-center'\n | 'bottom-right'\n | 'bottom-left'\n | 'bottom-center';\n\nexport const menuAnimationAnchor = (\n anchorPoint: TransformOriginAnchorPosition,\n itemWidth: number,\n itemLength: number,\n itemsWithSeparatorLength: number\n) => {\n 'worklet';\n const MenuHeight = calculateMenuHeight(itemLength, itemsWithSeparatorLength);\n const splittetAnchorName: string[] = anchorPoint.split('-');\n\n const Center1 = itemWidth;\n const Center2 = 0;\n\n const TyTop1 = -(MenuHeight / 2);\n const TyTop2 = MenuHeight / 2;\n\n const TxLeft1 = (MENU_WIDTH / 2) * -1;\n const TxLeft2 = (MENU_WIDTH / 2) * 1;\n\n return {\n beginningTransformations: {\n translateX:\n splittetAnchorName[1] === 'right'\n ? -TxLeft1\n : splittetAnchorName[1] === 'left'\n ? TxLeft1\n : Center1,\n translateY:\n splittetAnchorName[0] === 'top'\n ? TyTop1\n : splittetAnchorName[0] === 'bottom'\n ? TyTop1\n : Center2,\n },\n endingTransformations: {\n translateX:\n splittetAnchorName[1] === 'right'\n ? -TxLeft2\n : splittetAnchorName[1] === 'left'\n ? TxLeft2\n : Center2,\n translateY:\n splittetAnchorName[0] === 'top'\n ? TyTop2\n : splittetAnchorName[0] === 'bottom'\n ? -TyTop2\n : Center2,\n },\n };\n};\n\nexport const getTransformOrigin = (\n posX: number,\n itemWidth: number,\n windowWidth: number,\n bottom?: boolean\n): TransformOriginAnchorPosition => {\n 'worklet';\n const distanceToLeft = Math.round(posX + itemWidth / 2);\n const distanceToRight = Math.round(windowWidth - distanceToLeft);\n\n let position: TransformOriginAnchorPosition = bottom\n ? 'bottom-right'\n : 'top-right';\n\n const majority = Math.abs(distanceToLeft - distanceToRight);\n\n if (majority < MENU_TRANSFORM_ORIGIN_TOLERENCE) {\n position = bottom ? 'bottom-center' : 'top-center';\n } else if (distanceToLeft < distanceToRight) {\n position = bottom ? 'bottom-left' : 'top-left';\n }\n\n return position;\n};\n"]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deepEqual = deepEqual;
7
+
8
+ function fieldAreSame(obj1, obj2) {
9
+ 'worklet';
10
+
11
+ const keys = Object.keys(obj1);
12
+ return keys.every(key => {
13
+ // @ts-ignore
14
+ const val1 = obj1[key]; // @ts-ignore
15
+
16
+ const val2 = obj2[key];
17
+
18
+ if (val1 !== val2) {
19
+ if (typeof val1 === 'function' && typeof val2 === 'function') return val1.toString() === val2.toString();
20
+ return false;
21
+ }
22
+
23
+ return true;
24
+ });
25
+ }
26
+
27
+ function deepEqual(array1, array2) {
28
+ 'worklet';
29
+
30
+ const areArrays = Array.isArray(array1) && Array.isArray(array2);
31
+ const areSameLength = areArrays && array2 && array1.length === array2.length;
32
+
33
+ if (areArrays && areSameLength && array2) {
34
+ return array1.every((menuItem, index) => {
35
+ const obj1 = menuItem;
36
+ const obj2 = array2[index];
37
+ return fieldAreSame(obj1, obj2);
38
+ });
39
+ }
40
+
41
+ return false;
42
+ }
43
+ //# sourceMappingURL=validations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["validations.ts"],"names":["fieldAreSame","obj1","obj2","keys","Object","every","key","val1","val2","toString","deepEqual","array1","array2","areArrays","Array","isArray","areSameLength","length","menuItem","index"],"mappings":";;;;;;;AAEA,SAASA,YAAT,CAAsBC,IAAtB,EAA2CC,IAA3C,EAAgE;AAC9D;;AAEA,QAAMC,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAYF,IAAZ,CAAb;AAEA,SAAOE,IAAI,CAACE,KAAL,CAAWC,GAAG,IAAI;AACvB;AACA,UAAMC,IAAI,GAAGN,IAAI,CAACK,GAAD,CAAjB,CAFuB,CAGvB;;AACA,UAAME,IAAI,GAAGN,IAAI,CAACI,GAAD,CAAjB;;AAEA,QAAIC,IAAI,KAAKC,IAAb,EAAmB;AACjB,UAAI,OAAOD,IAAP,KAAgB,UAAhB,IAA8B,OAAOC,IAAP,KAAgB,UAAlD,EACE,OAAOD,IAAI,CAACE,QAAL,OAAoBD,IAAI,CAACC,QAAL,EAA3B;AACF,aAAO,KAAP;AACD;;AAED,WAAO,IAAP;AACD,GAbM,CAAP;AAcD;;AAED,SAASC,SAAT,CAAmBC,MAAnB,EAA4CC,MAA5C,EAAqE;AACnE;;AAEA,QAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcJ,MAAd,KAAyBG,KAAK,CAACC,OAAN,CAAcH,MAAd,CAA3C;AACA,QAAMI,aAAa,GAAGH,SAAS,IAAID,MAAb,IAAuBD,MAAM,CAACM,MAAP,KAAkBL,MAAM,CAACK,MAAtE;;AAEA,MAAIJ,SAAS,IAAIG,aAAb,IAA8BJ,MAAlC,EAA0C;AACxC,WAAOD,MAAM,CAACN,KAAP,CAAa,CAACa,QAAD,EAA0BC,KAA1B,KAAoC;AACtD,YAAMlB,IAAI,GAAGiB,QAAb;AACA,YAAMhB,IAAI,GAAGU,MAAM,CAACO,KAAD,CAAnB;AAEA,aAAOnB,YAAY,CAACC,IAAD,EAAOC,IAAP,CAAnB;AACD,KALM,CAAP;AAMD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { MenuItemProps } from '../components/menu/types';\n\nfunction fieldAreSame(obj1: MenuItemProps, obj2: MenuItemProps) {\n 'worklet';\n\n const keys = Object.keys(obj1);\n\n return keys.every(key => {\n // @ts-ignore\n const val1 = obj1[key];\n // @ts-ignore\n const val2 = obj2[key];\n\n if (val1 !== val2) {\n if (typeof val1 === 'function' && typeof val2 === 'function')\n return val1.toString() === val2.toString();\n return false;\n }\n\n return true;\n });\n}\n\nfunction deepEqual(array1: MenuItemProps[], array2: MenuItemProps[]) {\n 'worklet';\n\n const areArrays = Array.isArray(array1) && Array.isArray(array2);\n const areSameLength = areArrays && array2 && array1.length === array2.length;\n\n if (areArrays && areSameLength && array2) {\n return array1.every((menuItem: MenuItemProps, index) => {\n const obj1 = menuItem;\n const obj2 = array2[index];\n\n return fieldAreSame(obj1, obj2);\n });\n }\n\n return false;\n}\n\nexport { deepEqual };\n"]}
@@ -0,0 +1,83 @@
1
+ import React, { memo } from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import Animated, { useAnimatedGestureHandler, useAnimatedProps, useAnimatedStyle, withDelay, withTiming } from 'react-native-reanimated';
4
+ import { TapGestureHandler } from 'react-native-gesture-handler'; // Components
5
+ // @ts-ignore
6
+
7
+ import { BlurView } from '@react-native-community/blur'; // Utils
8
+
9
+ import { styles } from './styles';
10
+ import { CONTEXT_MENU_STATE, HOLD_ITEM_TRANSFORM_DURATION, IS_IOS, WINDOW_HEIGHT } from '../../constants';
11
+ import { BACKDROP_LIGHT_BACKGROUND_COLOR, BACKDROP_DARK_BACKGROUND_COLOR } from './constants';
12
+ import { useInternal } from '../../hooks';
13
+ const AnimatedBlurView = IS_IOS ? Animated.createAnimatedComponent(BlurView) : Animated.View;
14
+
15
+ const BackdropComponent = () => {
16
+ const {
17
+ state,
18
+ theme
19
+ } = useInternal();
20
+ const tapGestureEvent = useAnimatedGestureHandler({
21
+ onStart: (event, context) => {
22
+ context.startPosition = {
23
+ x: event.x,
24
+ y: event.y
25
+ };
26
+ },
27
+ onCancel: () => {
28
+ state.value = CONTEXT_MENU_STATE.END;
29
+ },
30
+ onEnd: (event, context) => {
31
+ const distance = Math.hypot(event.x - context.startPosition.x, event.y - context.startPosition.y);
32
+ const shouldClose = distance < 10;
33
+ const isStateActive = state.value === CONTEXT_MENU_STATE.ACTIVE;
34
+
35
+ if (shouldClose && isStateActive) {
36
+ state.value = CONTEXT_MENU_STATE.END;
37
+ }
38
+ }
39
+ }, [state]);
40
+ const animatedContainerStyle = useAnimatedStyle(() => {
41
+ const topValueAnimation = () => state.value === CONTEXT_MENU_STATE.ACTIVE ? 0 : withDelay(HOLD_ITEM_TRANSFORM_DURATION, withTiming(WINDOW_HEIGHT, {
42
+ duration: 0
43
+ }));
44
+
45
+ const opacityValueAnimation = () => withTiming(state.value === CONTEXT_MENU_STATE.ACTIVE ? 1 : 0, {
46
+ duration: HOLD_ITEM_TRANSFORM_DURATION
47
+ });
48
+
49
+ return {
50
+ top: topValueAnimation(),
51
+ opacity: opacityValueAnimation()
52
+ };
53
+ });
54
+ const animatedContainerProps = useAnimatedProps(() => {
55
+ return {
56
+ blurAmount: withTiming(state.value === CONTEXT_MENU_STATE.ACTIVE ? 100 : 0, {
57
+ duration: HOLD_ITEM_TRANSFORM_DURATION
58
+ })
59
+ };
60
+ });
61
+ const animatedInnerContainerStyle = useAnimatedStyle(() => {
62
+ const backgroundColor = theme.value === 'light' ? BACKDROP_LIGHT_BACKGROUND_COLOR : BACKDROP_DARK_BACKGROUND_COLOR;
63
+ return {
64
+ backgroundColor
65
+ };
66
+ }, [theme]);
67
+ return /*#__PURE__*/React.createElement(TapGestureHandler, {
68
+ onHandlerStateChange: tapGestureEvent
69
+ }, /*#__PURE__*/React.createElement(AnimatedBlurView // @ts-ignore
70
+ , {
71
+ tint: "default" // @ts-ignore
72
+ ,
73
+ animatedProps: animatedContainerProps,
74
+ style: [styles.container, animatedContainerStyle]
75
+ }, /*#__PURE__*/React.createElement(Animated.View, {
76
+ style: [{ ...StyleSheet.absoluteFillObject
77
+ }, animatedInnerContainerStyle]
78
+ })));
79
+ };
80
+
81
+ const Backdrop = /*#__PURE__*/memo(BackdropComponent);
82
+ export default Backdrop;
83
+ //# sourceMappingURL=Backdrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Backdrop.tsx"],"names":["React","memo","StyleSheet","Animated","useAnimatedGestureHandler","useAnimatedProps","useAnimatedStyle","withDelay","withTiming","TapGestureHandler","BlurView","styles","CONTEXT_MENU_STATE","HOLD_ITEM_TRANSFORM_DURATION","IS_IOS","WINDOW_HEIGHT","BACKDROP_LIGHT_BACKGROUND_COLOR","BACKDROP_DARK_BACKGROUND_COLOR","useInternal","AnimatedBlurView","createAnimatedComponent","View","BackdropComponent","state","theme","tapGestureEvent","onStart","event","context","startPosition","x","y","onCancel","value","END","onEnd","distance","Math","hypot","shouldClose","isStateActive","ACTIVE","animatedContainerStyle","topValueAnimation","duration","opacityValueAnimation","top","opacity","animatedContainerProps","blurAmount","animatedInnerContainerStyle","backgroundColor","container","absoluteFillObject","Backdrop"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,IAAhB,QAA4B,OAA5B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,QAAP,IACEC,yBADF,EAEEC,gBAFF,EAGEC,gBAHF,EAIEC,SAJF,EAKEC,UALF,QAMO,yBANP;AAOA,SACEC,iBADF,QAGO,8BAHP,C,CAKA;AACA;;AACA,SAASC,QAAT,QAAyB,8BAAzB,C,CAEA;;AACA,SAASC,MAAT,QAAuB,UAAvB;AACA,SACEC,kBADF,EAEEC,4BAFF,EAGEC,MAHF,EAIEC,aAJF,QAKO,iBALP;AAMA,SACEC,+BADF,EAEEC,8BAFF,QAGO,aAHP;AAIA,SAASC,WAAT,QAA4B,aAA5B;AAEA,MAAMC,gBAAgB,GAAGL,MAAM,GAC3BX,QAAQ,CAACiB,uBAAT,CAAiCV,QAAjC,CAD2B,GAE3BP,QAAQ,CAACkB,IAFb;;AAWA,MAAMC,iBAAiB,GAAG,MAAM;AAC9B,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAmBN,WAAW,EAApC;AAEA,QAAMO,eAAe,GAAGrB,yBAAyB,CAI/C;AACEsB,IAAAA,OAAO,EAAE,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC3BA,MAAAA,OAAO,CAACC,aAAR,GAAwB;AAAEC,QAAAA,CAAC,EAAEH,KAAK,CAACG,CAAX;AAAcC,QAAAA,CAAC,EAAEJ,KAAK,CAACI;AAAvB,OAAxB;AACD,KAHH;AAIEC,IAAAA,QAAQ,EAAE,MAAM;AACdT,MAAAA,KAAK,CAACU,KAAN,GAAcrB,kBAAkB,CAACsB,GAAjC;AACD,KANH;AAOEC,IAAAA,KAAK,EAAE,CAACR,KAAD,EAAQC,OAAR,KAAoB;AACzB,YAAMQ,QAAQ,GAAGC,IAAI,CAACC,KAAL,CACfX,KAAK,CAACG,CAAN,GAAUF,OAAO,CAACC,aAAR,CAAsBC,CADjB,EAEfH,KAAK,CAACI,CAAN,GAAUH,OAAO,CAACC,aAAR,CAAsBE,CAFjB,CAAjB;AAIA,YAAMQ,WAAW,GAAGH,QAAQ,GAAG,EAA/B;AACA,YAAMI,aAAa,GAAGjB,KAAK,CAACU,KAAN,KAAgBrB,kBAAkB,CAAC6B,MAAzD;;AAEA,UAAIF,WAAW,IAAIC,aAAnB,EAAkC;AAChCjB,QAAAA,KAAK,CAACU,KAAN,GAAcrB,kBAAkB,CAACsB,GAAjC;AACD;AACF;AAlBH,GAJ+C,EAwB/C,CAACX,KAAD,CAxB+C,CAAjD;AA2BA,QAAMmB,sBAAsB,GAAGpC,gBAAgB,CAAC,MAAM;AACpD,UAAMqC,iBAAiB,GAAG,MACxBpB,KAAK,CAACU,KAAN,KAAgBrB,kBAAkB,CAAC6B,MAAnC,GACI,CADJ,GAEIlC,SAAS,CACPM,4BADO,EAEPL,UAAU,CAACO,aAAD,EAAgB;AACxB6B,MAAAA,QAAQ,EAAE;AADc,KAAhB,CAFH,CAHf;;AAUA,UAAMC,qBAAqB,GAAG,MAC5BrC,UAAU,CAACe,KAAK,CAACU,KAAN,KAAgBrB,kBAAkB,CAAC6B,MAAnC,GAA4C,CAA5C,GAAgD,CAAjD,EAAoD;AAC5DG,MAAAA,QAAQ,EAAE/B;AADkD,KAApD,CADZ;;AAKA,WAAO;AACLiC,MAAAA,GAAG,EAAEH,iBAAiB,EADjB;AAELI,MAAAA,OAAO,EAAEF,qBAAqB;AAFzB,KAAP;AAID,GApB8C,CAA/C;AAsBA,QAAMG,sBAAsB,GAAG3C,gBAAgB,CAAC,MAAM;AACpD,WAAO;AACL4C,MAAAA,UAAU,EAAEzC,UAAU,CACpBe,KAAK,CAACU,KAAN,KAAgBrB,kBAAkB,CAAC6B,MAAnC,GAA4C,GAA5C,GAAkD,CAD9B,EAEpB;AACEG,QAAAA,QAAQ,EAAE/B;AADZ,OAFoB;AADjB,KAAP;AAQD,GAT8C,CAA/C;AAWA,QAAMqC,2BAA2B,GAAG5C,gBAAgB,CAAC,MAAM;AACzD,UAAM6C,eAAe,GACnB3B,KAAK,CAACS,KAAN,KAAgB,OAAhB,GACIjB,+BADJ,GAEIC,8BAHN;AAKA,WAAO;AAAEkC,MAAAA;AAAF,KAAP;AACD,GAPmD,EAOjD,CAAC3B,KAAD,CAPiD,CAApD;AASA,sBACE,oBAAC,iBAAD;AAAmB,IAAA,oBAAoB,EAAEC;AAAzC,kBACE,oBAAC,gBAAD,CACE;AADF;AAEE,IAAA,IAAI,EAAC,SAFP,CAGE;AAHF;AAIE,IAAA,aAAa,EAAEuB,sBAJjB;AAKE,IAAA,KAAK,EAAE,CAACrC,MAAM,CAACyC,SAAR,EAAmBV,sBAAnB;AALT,kBAOE,oBAAC,QAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACL,EAAE,GAAGxC,UAAU,CAACmD;AAAhB,KADK,EAELH,2BAFK;AADT,IAPF,CADF,CADF;AAkBD,CA1FD;;AA4FA,MAAMI,QAAQ,gBAAGrD,IAAI,CAACqB,iBAAD,CAArB;AAEA,eAAegC,QAAf","sourcesContent":["import React, { memo } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedStyle,\n withDelay,\n withTiming,\n} from 'react-native-reanimated';\nimport {\n TapGestureHandler,\n TapGestureHandlerGestureEvent,\n} from 'react-native-gesture-handler';\n\n// Components\n// @ts-ignore\nimport { BlurView } from '@react-native-community/blur';\n\n// Utils\nimport { styles } from './styles';\nimport {\n CONTEXT_MENU_STATE,\n HOLD_ITEM_TRANSFORM_DURATION,\n IS_IOS,\n WINDOW_HEIGHT,\n} from '../../constants';\nimport {\n BACKDROP_LIGHT_BACKGROUND_COLOR,\n BACKDROP_DARK_BACKGROUND_COLOR,\n} from './constants';\nimport { useInternal } from '../../hooks';\n\nconst AnimatedBlurView = IS_IOS\n ? Animated.createAnimatedComponent(BlurView)\n : Animated.View;\n\ntype Context = {\n startPosition: {\n x: number;\n y: number;\n };\n};\n\nconst BackdropComponent = () => {\n const { state, theme } = useInternal();\n\n const tapGestureEvent = useAnimatedGestureHandler<\n TapGestureHandlerGestureEvent,\n Context\n >(\n {\n onStart: (event, context) => {\n context.startPosition = { x: event.x, y: event.y };\n },\n onCancel: () => {\n state.value = CONTEXT_MENU_STATE.END;\n },\n onEnd: (event, context) => {\n const distance = Math.hypot(\n event.x - context.startPosition.x,\n event.y - context.startPosition.y\n );\n const shouldClose = distance < 10;\n const isStateActive = state.value === CONTEXT_MENU_STATE.ACTIVE;\n\n if (shouldClose && isStateActive) {\n state.value = CONTEXT_MENU_STATE.END;\n }\n },\n },\n [state]\n );\n\n const animatedContainerStyle = useAnimatedStyle(() => {\n const topValueAnimation = () =>\n state.value === CONTEXT_MENU_STATE.ACTIVE\n ? 0\n : withDelay(\n HOLD_ITEM_TRANSFORM_DURATION,\n withTiming(WINDOW_HEIGHT, {\n duration: 0,\n })\n );\n\n const opacityValueAnimation = () =>\n withTiming(state.value === CONTEXT_MENU_STATE.ACTIVE ? 1 : 0, {\n duration: HOLD_ITEM_TRANSFORM_DURATION,\n });\n\n return {\n top: topValueAnimation(),\n opacity: opacityValueAnimation(),\n };\n });\n\n const animatedContainerProps = useAnimatedProps(() => {\n return {\n blurAmount: withTiming(\n state.value === CONTEXT_MENU_STATE.ACTIVE ? 100 : 0,\n {\n duration: HOLD_ITEM_TRANSFORM_DURATION,\n }\n ),\n };\n });\n\n const animatedInnerContainerStyle = useAnimatedStyle(() => {\n const backgroundColor =\n theme.value === 'light'\n ? BACKDROP_LIGHT_BACKGROUND_COLOR\n : BACKDROP_DARK_BACKGROUND_COLOR;\n\n return { backgroundColor };\n }, [theme]);\n\n return (\n <TapGestureHandler onHandlerStateChange={tapGestureEvent}>\n <AnimatedBlurView\n // @ts-ignore\n tint=\"default\"\n // @ts-ignore\n animatedProps={animatedContainerProps}\n style={[styles.container, animatedContainerStyle]}\n >\n <Animated.View\n style={[\n { ...StyleSheet.absoluteFillObject },\n animatedInnerContainerStyle,\n ]}\n />\n </AnimatedBlurView>\n </TapGestureHandler>\n );\n};\n\nconst Backdrop = memo(BackdropComponent);\n\nexport default Backdrop;\n"]}
@@ -0,0 +1,4 @@
1
+ import { IS_IOS } from '../../constants';
2
+ export const BACKDROP_LIGHT_BACKGROUND_COLOR = IS_IOS ? 'rgba(0,0,0,0.2)' : 'rgba(19, 19, 19, 0.95)';
3
+ export const BACKDROP_DARK_BACKGROUND_COLOR = IS_IOS ? 'rgba(0,0,0,0.75)' : 'rgba(0,0,0,0.95)';
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["constants.ts"],"names":["IS_IOS","BACKDROP_LIGHT_BACKGROUND_COLOR","BACKDROP_DARK_BACKGROUND_COLOR"],"mappings":"AAAA,SAASA,MAAT,QAAuB,iBAAvB;AAEA,OAAO,MAAMC,+BAA+B,GAAGD,MAAM,GACjD,iBADiD,GAEjD,wBAFG;AAGP,OAAO,MAAME,8BAA8B,GAAGF,MAAM,GAChD,kBADgD,GAEhD,kBAFG","sourcesContent":["import { IS_IOS } from '../../constants';\n\nexport const BACKDROP_LIGHT_BACKGROUND_COLOR = IS_IOS\n ? 'rgba(0,0,0,0.2)'\n : 'rgba(19, 19, 19, 0.95)';\nexport const BACKDROP_DARK_BACKGROUND_COLOR = IS_IOS\n ? 'rgba(0,0,0,0.75)'\n : 'rgba(0,0,0,0.95)';\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as Backdrop } from './Backdrop';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["default","Backdrop"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAApB,QAAoC,YAApC","sourcesContent":["export { default as Backdrop } from './Backdrop';\n"]}
@@ -0,0 +1,7 @@
1
+ import { StyleSheet } from 'react-native';
2
+ export const styles = StyleSheet.create({
3
+ container: { ...StyleSheet.absoluteFillObject,
4
+ zIndex: 0
5
+ }
6
+ });
7
+ //# sourceMappingURL=styles.js.map