@sunsama/event-calendar 0.2.0

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 (236) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +105 -0
  3. package/lib/commonjs/components/all-day-events.js +117 -0
  4. package/lib/commonjs/components/all-day-events.js.map +1 -0
  5. package/lib/commonjs/components/background-hours-content.js +43 -0
  6. package/lib/commonjs/components/background-hours-content.js.map +1 -0
  7. package/lib/commonjs/components/background-hours-layout.js +57 -0
  8. package/lib/commonjs/components/background-hours-layout.js.map +1 -0
  9. package/lib/commonjs/components/drag-bar.js +84 -0
  10. package/lib/commonjs/components/drag-bar.js.map +1 -0
  11. package/lib/commonjs/components/edit-event-container.js +114 -0
  12. package/lib/commonjs/components/edit-event-container.js.map +1 -0
  13. package/lib/commonjs/components/event-container.js +37 -0
  14. package/lib/commonjs/components/event-container.js.map +1 -0
  15. package/lib/commonjs/components/new-event-container.js +73 -0
  16. package/lib/commonjs/components/new-event-container.js.map +1 -0
  17. package/lib/commonjs/components/time-indicator.js +64 -0
  18. package/lib/commonjs/components/time-indicator.js.map +1 -0
  19. package/lib/commonjs/components/timed-event-container.js +91 -0
  20. package/lib/commonjs/components/timed-event-container.js.map +1 -0
  21. package/lib/commonjs/components/timed-events.js +68 -0
  22. package/lib/commonjs/components/timed-events.js.map +1 -0
  23. package/lib/commonjs/components/zoom-provider.js +109 -0
  24. package/lib/commonjs/components/zoom-provider.js.map +1 -0
  25. package/lib/commonjs/enums.js +2 -0
  26. package/lib/commonjs/enums.js.map +1 -0
  27. package/lib/commonjs/hooks/use-cloned-events.js +25 -0
  28. package/lib/commonjs/hooks/use-cloned-events.js.map +1 -0
  29. package/lib/commonjs/hooks/use-events-layout.js +34 -0
  30. package/lib/commonjs/hooks/use-events-layout.js.map +1 -0
  31. package/lib/commonjs/hooks/use-is-editing.js +83 -0
  32. package/lib/commonjs/hooks/use-is-editing.js.map +1 -0
  33. package/lib/commonjs/index.js +129 -0
  34. package/lib/commonjs/index.js.map +1 -0
  35. package/lib/commonjs/types.js +24 -0
  36. package/lib/commonjs/types.js.map +1 -0
  37. package/lib/commonjs/utils/calendar-layout.js +113 -0
  38. package/lib/commonjs/utils/calendar-layout.js.map +1 -0
  39. package/lib/commonjs/utils/compute-positioning.js +33 -0
  40. package/lib/commonjs/utils/compute-positioning.js.map +1 -0
  41. package/lib/commonjs/utils/date-utils.js +152 -0
  42. package/lib/commonjs/utils/date-utils.js.map +1 -0
  43. package/lib/commonjs/utils/double-tap-reset-zoom-gesture.js +19 -0
  44. package/lib/commonjs/utils/double-tap-reset-zoom-gesture.js.map +1 -0
  45. package/lib/commonjs/utils/generate-event-layouts.js +198 -0
  46. package/lib/commonjs/utils/generate-event-layouts.js.map +1 -0
  47. package/lib/commonjs/utils/globals.js +11 -0
  48. package/lib/commonjs/utils/globals.js.map +1 -0
  49. package/lib/commonjs/utils/pan-edit-event-gesture.js +41 -0
  50. package/lib/commonjs/utils/pan-edit-event-gesture.js.map +1 -0
  51. package/lib/module/components/all-day-events.js +110 -0
  52. package/lib/module/components/all-day-events.js.map +1 -0
  53. package/lib/module/components/background-hours-content.js +37 -0
  54. package/lib/module/components/background-hours-content.js.map +1 -0
  55. package/lib/module/components/background-hours-layout.js +51 -0
  56. package/lib/module/components/background-hours-layout.js.map +1 -0
  57. package/lib/module/components/drag-bar.js +78 -0
  58. package/lib/module/components/drag-bar.js.map +1 -0
  59. package/lib/module/components/edit-event-container.js +107 -0
  60. package/lib/module/components/edit-event-container.js.map +1 -0
  61. package/lib/module/components/event-container.js +33 -0
  62. package/lib/module/components/event-container.js.map +1 -0
  63. package/lib/module/components/new-event-container.js +67 -0
  64. package/lib/module/components/new-event-container.js.map +1 -0
  65. package/lib/module/components/time-indicator.js +57 -0
  66. package/lib/module/components/time-indicator.js.map +1 -0
  67. package/lib/module/components/timed-event-container.js +84 -0
  68. package/lib/module/components/timed-event-container.js.map +1 -0
  69. package/lib/module/components/timed-events.js +63 -0
  70. package/lib/module/components/timed-events.js.map +1 -0
  71. package/lib/module/components/zoom-provider.js +102 -0
  72. package/lib/module/components/zoom-provider.js.map +1 -0
  73. package/lib/module/enums.js +2 -0
  74. package/lib/module/enums.js.map +1 -0
  75. package/lib/module/hooks/use-cloned-events.js +21 -0
  76. package/lib/module/hooks/use-cloned-events.js.map +1 -0
  77. package/lib/module/hooks/use-events-layout.js +29 -0
  78. package/lib/module/hooks/use-events-layout.js.map +1 -0
  79. package/lib/module/hooks/use-is-editing.js +75 -0
  80. package/lib/module/hooks/use-is-editing.js.map +1 -0
  81. package/lib/module/index.js +124 -0
  82. package/lib/module/index.js.map +1 -0
  83. package/lib/module/types.js +20 -0
  84. package/lib/module/types.js.map +1 -0
  85. package/lib/module/utils/calendar-layout.js +108 -0
  86. package/lib/module/utils/calendar-layout.js.map +1 -0
  87. package/lib/module/utils/compute-positioning.js +28 -0
  88. package/lib/module/utils/compute-positioning.js.map +1 -0
  89. package/lib/module/utils/date-utils.js +139 -0
  90. package/lib/module/utils/date-utils.js.map +1 -0
  91. package/lib/module/utils/double-tap-reset-zoom-gesture.js +15 -0
  92. package/lib/module/utils/double-tap-reset-zoom-gesture.js.map +1 -0
  93. package/lib/module/utils/generate-event-layouts.js +192 -0
  94. package/lib/module/utils/generate-event-layouts.js.map +1 -0
  95. package/lib/module/utils/globals.js +7 -0
  96. package/lib/module/utils/globals.js.map +1 -0
  97. package/lib/module/utils/pan-edit-event-gesture.js +37 -0
  98. package/lib/module/utils/pan-edit-event-gesture.js.map +1 -0
  99. package/lib/typescript/commonjs/components/all-day-events.d.ts +3 -0
  100. package/lib/typescript/commonjs/components/all-day-events.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/components/background-hours-content.d.ts +7 -0
  102. package/lib/typescript/commonjs/components/background-hours-content.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/components/background-hours-layout.d.ts +7 -0
  104. package/lib/typescript/commonjs/components/background-hours-layout.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/components/drag-bar.d.ts +14 -0
  106. package/lib/typescript/commonjs/components/drag-bar.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/components/edit-event-container.d.ts +7 -0
  108. package/lib/typescript/commonjs/components/edit-event-container.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/components/event-container.d.ts +7 -0
  110. package/lib/typescript/commonjs/components/event-container.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/components/new-event-container.d.ts +3 -0
  112. package/lib/typescript/commonjs/components/new-event-container.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/components/time-indicator.d.ts +3 -0
  114. package/lib/typescript/commonjs/components/time-indicator.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/components/timed-event-container.d.ts +9 -0
  116. package/lib/typescript/commonjs/components/timed-event-container.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/components/timed-events.d.ts +7 -0
  118. package/lib/typescript/commonjs/components/timed-events.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/components/zoom-provider.d.ts +7 -0
  120. package/lib/typescript/commonjs/components/zoom-provider.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/enums.d.ts +2 -0
  122. package/lib/typescript/commonjs/enums.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/hooks/use-cloned-events.d.ts +11 -0
  124. package/lib/typescript/commonjs/hooks/use-cloned-events.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/hooks/use-events-layout.d.ts +13 -0
  126. package/lib/typescript/commonjs/hooks/use-events-layout.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/hooks/use-is-editing.d.ts +17 -0
  128. package/lib/typescript/commonjs/hooks/use-is-editing.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/index.d.ts +27 -0
  130. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/package.json +1 -0
  132. package/lib/typescript/commonjs/types.d.ts +128 -0
  133. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/utils/__tests___/compute-positioning.test.d.ts +2 -0
  135. package/lib/typescript/commonjs/utils/__tests___/compute-positioning.test.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/utils/__tests___/date-utils.test.d.ts +2 -0
  137. package/lib/typescript/commonjs/utils/__tests___/date-utils.test.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/utils/__tests___/generate-event-layout.test.d.ts +2 -0
  139. package/lib/typescript/commonjs/utils/__tests___/generate-event-layout.test.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/utils/calendar-layout.d.ts +36 -0
  141. package/lib/typescript/commonjs/utils/calendar-layout.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/utils/compute-positioning.d.ts +10 -0
  143. package/lib/typescript/commonjs/utils/compute-positioning.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/utils/date-utils.d.ts +30 -0
  145. package/lib/typescript/commonjs/utils/date-utils.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/utils/double-tap-reset-zoom-gesture.d.ts +5 -0
  147. package/lib/typescript/commonjs/utils/double-tap-reset-zoom-gesture.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/utils/generate-event-layouts.d.ts +15 -0
  149. package/lib/typescript/commonjs/utils/generate-event-layouts.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/utils/globals.d.ts +5 -0
  151. package/lib/typescript/commonjs/utils/globals.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/utils/pan-edit-event-gesture.d.ts +6 -0
  153. package/lib/typescript/commonjs/utils/pan-edit-event-gesture.d.ts.map +1 -0
  154. package/lib/typescript/module/components/all-day-events.d.ts +3 -0
  155. package/lib/typescript/module/components/all-day-events.d.ts.map +1 -0
  156. package/lib/typescript/module/components/background-hours-content.d.ts +7 -0
  157. package/lib/typescript/module/components/background-hours-content.d.ts.map +1 -0
  158. package/lib/typescript/module/components/background-hours-layout.d.ts +7 -0
  159. package/lib/typescript/module/components/background-hours-layout.d.ts.map +1 -0
  160. package/lib/typescript/module/components/drag-bar.d.ts +14 -0
  161. package/lib/typescript/module/components/drag-bar.d.ts.map +1 -0
  162. package/lib/typescript/module/components/edit-event-container.d.ts +7 -0
  163. package/lib/typescript/module/components/edit-event-container.d.ts.map +1 -0
  164. package/lib/typescript/module/components/event-container.d.ts +7 -0
  165. package/lib/typescript/module/components/event-container.d.ts.map +1 -0
  166. package/lib/typescript/module/components/new-event-container.d.ts +3 -0
  167. package/lib/typescript/module/components/new-event-container.d.ts.map +1 -0
  168. package/lib/typescript/module/components/time-indicator.d.ts +3 -0
  169. package/lib/typescript/module/components/time-indicator.d.ts.map +1 -0
  170. package/lib/typescript/module/components/timed-event-container.d.ts +9 -0
  171. package/lib/typescript/module/components/timed-event-container.d.ts.map +1 -0
  172. package/lib/typescript/module/components/timed-events.d.ts +7 -0
  173. package/lib/typescript/module/components/timed-events.d.ts.map +1 -0
  174. package/lib/typescript/module/components/zoom-provider.d.ts +7 -0
  175. package/lib/typescript/module/components/zoom-provider.d.ts.map +1 -0
  176. package/lib/typescript/module/enums.d.ts +2 -0
  177. package/lib/typescript/module/enums.d.ts.map +1 -0
  178. package/lib/typescript/module/hooks/use-cloned-events.d.ts +11 -0
  179. package/lib/typescript/module/hooks/use-cloned-events.d.ts.map +1 -0
  180. package/lib/typescript/module/hooks/use-events-layout.d.ts +13 -0
  181. package/lib/typescript/module/hooks/use-events-layout.d.ts.map +1 -0
  182. package/lib/typescript/module/hooks/use-is-editing.d.ts +17 -0
  183. package/lib/typescript/module/hooks/use-is-editing.d.ts.map +1 -0
  184. package/lib/typescript/module/index.d.ts +27 -0
  185. package/lib/typescript/module/index.d.ts.map +1 -0
  186. package/lib/typescript/module/package.json +1 -0
  187. package/lib/typescript/module/types.d.ts +128 -0
  188. package/lib/typescript/module/types.d.ts.map +1 -0
  189. package/lib/typescript/module/utils/__tests___/compute-positioning.test.d.ts +2 -0
  190. package/lib/typescript/module/utils/__tests___/compute-positioning.test.d.ts.map +1 -0
  191. package/lib/typescript/module/utils/__tests___/date-utils.test.d.ts +2 -0
  192. package/lib/typescript/module/utils/__tests___/date-utils.test.d.ts.map +1 -0
  193. package/lib/typescript/module/utils/__tests___/generate-event-layout.test.d.ts +2 -0
  194. package/lib/typescript/module/utils/__tests___/generate-event-layout.test.d.ts.map +1 -0
  195. package/lib/typescript/module/utils/calendar-layout.d.ts +36 -0
  196. package/lib/typescript/module/utils/calendar-layout.d.ts.map +1 -0
  197. package/lib/typescript/module/utils/compute-positioning.d.ts +10 -0
  198. package/lib/typescript/module/utils/compute-positioning.d.ts.map +1 -0
  199. package/lib/typescript/module/utils/date-utils.d.ts +30 -0
  200. package/lib/typescript/module/utils/date-utils.d.ts.map +1 -0
  201. package/lib/typescript/module/utils/double-tap-reset-zoom-gesture.d.ts +5 -0
  202. package/lib/typescript/module/utils/double-tap-reset-zoom-gesture.d.ts.map +1 -0
  203. package/lib/typescript/module/utils/generate-event-layouts.d.ts +15 -0
  204. package/lib/typescript/module/utils/generate-event-layouts.d.ts.map +1 -0
  205. package/lib/typescript/module/utils/globals.d.ts +5 -0
  206. package/lib/typescript/module/utils/globals.d.ts.map +1 -0
  207. package/lib/typescript/module/utils/pan-edit-event-gesture.d.ts +6 -0
  208. package/lib/typescript/module/utils/pan-edit-event-gesture.d.ts.map +1 -0
  209. package/package.json +195 -0
  210. package/src/components/all-day-events.tsx +134 -0
  211. package/src/components/background-hours-content.tsx +51 -0
  212. package/src/components/background-hours-layout.tsx +61 -0
  213. package/src/components/drag-bar.tsx +120 -0
  214. package/src/components/edit-event-container.tsx +158 -0
  215. package/src/components/event-container.tsx +44 -0
  216. package/src/components/new-event-container.tsx +90 -0
  217. package/src/components/time-indicator.tsx +72 -0
  218. package/src/components/timed-event-container.tsx +124 -0
  219. package/src/components/timed-events.tsx +72 -0
  220. package/src/components/zoom-provider.tsx +146 -0
  221. package/src/enums.ts +0 -0
  222. package/src/hooks/use-cloned-events.ts +26 -0
  223. package/src/hooks/use-events-layout.ts +55 -0
  224. package/src/hooks/use-is-editing.tsx +109 -0
  225. package/src/index.tsx +165 -0
  226. package/src/types.ts +163 -0
  227. package/src/utils/__tests___/compute-positioning.test.ts +255 -0
  228. package/src/utils/__tests___/date-utils.test.ts +41 -0
  229. package/src/utils/__tests___/generate-event-layout.test.ts +277 -0
  230. package/src/utils/calendar-layout.ts +139 -0
  231. package/src/utils/compute-positioning.ts +44 -0
  232. package/src/utils/date-utils.ts +238 -0
  233. package/src/utils/double-tap-reset-zoom-gesture.ts +23 -0
  234. package/src/utils/generate-event-layouts.ts +314 -0
  235. package/src/utils/globals.ts +8 -0
  236. package/src/utils/pan-edit-event-gesture.ts +64 -0
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _globals = require("src/utils/globals");
8
+ var _react = require("react");
9
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
+ var _reactNative = require("react-native");
11
+ var _types = require("src/types");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ const EventContainer = ({
14
+ layout
15
+ }) => {
16
+ const {
17
+ onPressEvent,
18
+ renderEvent,
19
+ initialZoomLevel
20
+ } = (0, _react.useContext)(_globals.ConfigProvider);
21
+ const render = (0, _react.useMemo)(() => renderEvent(layout.event, layout.extend ? layout.extend : _types.EventExtend.None), [layout, renderEvent]);
22
+ const stylePosition = (0, _react.useMemo)(() => ({
23
+ height: Math.max(28, 24 * initialZoomLevel)
24
+ }), [initialZoomLevel]);
25
+ const onPress = (0, _react.useCallback)(() => {
26
+ onPressEvent && onPressEvent(layout.event);
27
+ }, [layout.event, onPressEvent]);
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.Pressable, {
29
+ onPress: onPress,
30
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
31
+ style: stylePosition,
32
+ children: render
33
+ })
34
+ });
35
+ };
36
+ var _default = exports.default = EventContainer;
37
+ //# sourceMappingURL=event-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_globals","require","_react","_reactNativeGestureHandler","_reactNative","_types","_jsxRuntime","EventContainer","layout","onPressEvent","renderEvent","initialZoomLevel","useContext","ConfigProvider","render","useMemo","event","extend","EventExtend","None","stylePosition","height","Math","max","onPress","useCallback","jsx","Pressable","children","View","style","_default","exports","default"],"sourceRoot":"../../../src","sources":["components/event-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAA+D,IAAAK,WAAA,GAAAL,OAAA;AAM/D,MAAMM,cAAc,GAAGA,CAAC;EAAEC;AAA4B,CAAC,KAAK;EAC1D,MAAM;IAAEC,YAAY;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GACnD,IAAAC,iBAAU,EAACC,uBAAc,CAAC;EAE5B,MAAMC,MAAM,GAAG,IAAAC,cAAO,EACpB,MACEL,WAAW,CACTF,MAAM,CAACQ,KAAK,EACXR,MAAM,CAA2BS,MAAM,GACnCT,MAAM,CAA2BS,MAAM,GACxCC,kBAAW,CAACC,IAClB,CAAC,EACH,CAACX,MAAM,EAAEE,WAAW,CACtB,CAAC;EAED,MAAMU,aAAa,GAAG,IAAAL,cAAO,EAC3B,OAAO;IACLM,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAGZ,gBAAgB;EAC5C,CAAC,CAAC,EACF,CAACA,gBAAgB,CACnB,CAAC;EAED,MAAMa,OAAO,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAChChB,YAAY,IAAIA,YAAY,CAACD,MAAM,CAACQ,KAAK,CAAC;EAC5C,CAAC,EAAE,CAACR,MAAM,CAACQ,KAAK,EAAEP,YAAY,CAAC,CAAC;EAEhC,oBACE,IAAAH,WAAA,CAAAoB,GAAA,EAACvB,0BAAA,CAAAwB,SAAS;IAACH,OAAO,EAAEA,OAAQ;IAAAI,QAAA,eAC1B,IAAAtB,WAAA,CAAAoB,GAAA,EAACtB,YAAA,CAAAyB,IAAI;MAACC,KAAK,EAAEV,aAAc;MAAAQ,QAAA,EAAEd;IAAM,CAAO;EAAC,CAClC,CAAC;AAEhB,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa1B,cAAc","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _globals = require("src/utils/globals");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _reactNative = require("react-native");
11
+ var _useIsEditing = require("src/hooks/use-is-editing");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ const NewEventContainer = /*#__PURE__*/(0, _react.memo)(() => {
16
+ const {
17
+ fiveMinuteInterval,
18
+ renderNewEventContainer,
19
+ zoomLevel,
20
+ createY,
21
+ theme
22
+ } = (0, _react.useContext)(_globals.ConfigProvider);
23
+ const {
24
+ isEditing
25
+ } = (0, _useIsEditing.useIsEditing)();
26
+ const styleVisible = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
27
+ return {
28
+ opacity: !isEditing && createY.value >= 0 ? 1 : 0,
29
+ transform: [{
30
+ translateY: createY.value - _globals.TOP_MARGIN_PIXEL_OFFSET
31
+ }],
32
+ height: zoomLevel.value * 60
33
+ };
34
+ }, [isEditing]);
35
+ const [[hour, minute], setTime] = (0, _react.useState)([0, 0]);
36
+ const hasRenderEvent = (0, _react.useMemo)(() => !!renderNewEventContainer, [renderNewEventContainer]);
37
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => ({
38
+ zoomLevel: zoomLevel.value,
39
+ createY: createY.value
40
+ }), state => {
41
+ if (!hasRenderEvent) {
42
+ return;
43
+ }
44
+ const freshTime = Math.floor(state.createY / state.zoomLevel);
45
+ const freshHour = Math.floor(freshTime / 60);
46
+ const freshMinute = !fiveMinuteInterval ? freshTime - freshHour * 60 : Math.round(freshTime / 5) * 5 - freshHour * 60;
47
+ (0, _reactNativeReanimated.runOnJS)(setTime)([freshHour, freshMinute]);
48
+ }, []);
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
50
+ style: [styles.container, styleVisible],
51
+ children: renderNewEventContainer ? renderNewEventContainer(hour, minute) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
+ style: [styles.defaultContainer, theme?.newEventContainer]
53
+ })
54
+ });
55
+ }, () => true);
56
+ var _default = exports.default = NewEventContainer;
57
+ const styles = _reactNative.StyleSheet.create({
58
+ container: {
59
+ position: "absolute",
60
+ top: 0,
61
+ left: 51,
62
+ right: 10,
63
+ height: 50
64
+ },
65
+ defaultContainer: {
66
+ flex: 1,
67
+ borderRadius: 3,
68
+ padding: 5,
69
+ backgroundColor: "pink",
70
+ opacity: 0.8
71
+ }
72
+ });
73
+ //# sourceMappingURL=new-event-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_globals","_reactNativeReanimated","_interopRequireWildcard","_reactNative","_useIsEditing","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NewEventContainer","memo","fiveMinuteInterval","renderNewEventContainer","zoomLevel","createY","theme","useContext","ConfigProvider","isEditing","useIsEditing","styleVisible","useAnimatedStyle","opacity","value","transform","translateY","TOP_MARGIN_PIXEL_OFFSET","height","hour","minute","setTime","useState","hasRenderEvent","useMemo","useAnimatedReaction","state","freshTime","Math","floor","freshHour","freshMinute","round","runOnJS","jsx","View","style","styles","container","children","defaultContainer","newEventContainer","_default","exports","StyleSheet","create","position","top","left","right","flex","borderRadius","padding","backgroundColor"],"sourceRoot":"../../../src","sources":["components/new-event-container.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
+ var _globals = require("src/utils/globals");
10
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
11
+ var _reactNative = require("react-native");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ const TimeIndicator = /*#__PURE__*/(0, _react.memo)(() => {
17
+ const {
18
+ zoomLevel,
19
+ timezone,
20
+ theme
21
+ } = (0, _react.useContext)(_globals.ConfigProvider);
22
+ const currentMinutes = (0, _react.useCallback)(() => {
23
+ const time = _momentTimezone.default.tz(timezone);
24
+ return time.minutes() + time.hours() * 60;
25
+ }, [timezone]);
26
+ const currentMoment = (0, _reactNativeReanimated.useSharedValue)(currentMinutes());
27
+ (0, _react.useEffect)(() => {
28
+ let interval = setInterval(() => {
29
+ currentMoment.value = currentMinutes();
30
+ }, 20000);
31
+ const subscription = _reactNative.AppState.addEventListener("change", appState => {
32
+ clearInterval(interval);
33
+ if (appState === "active") {
34
+ interval = setInterval(() => {
35
+ currentMoment.value = currentMinutes();
36
+ }, 20000);
37
+ }
38
+ });
39
+ return () => {
40
+ clearInterval(interval);
41
+ subscription.remove();
42
+ };
43
+ }, [currentMinutes, currentMoment]);
44
+ const style = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
45
+ top: zoomLevel.value * currentMoment.value
46
+ }));
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
48
+ style: [styles.timeIndicator, style, theme?.timeIndicator]
49
+ });
50
+ }, () => true);
51
+ var _default = exports.default = TimeIndicator;
52
+ const styles = _reactNative.StyleSheet.create({
53
+ timeIndicator: {
54
+ position: "absolute",
55
+ left: 0,
56
+ width: "110%",
57
+ borderTopWidth: 2,
58
+ borderTopColor: "#f25a43",
59
+ zIndex: 2,
60
+ elevation: 2,
61
+ opacity: 0.6
62
+ }
63
+ });
64
+ //# sourceMappingURL=time-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_globals","_momentTimezone","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimeIndicator","memo","zoomLevel","timezone","theme","useContext","ConfigProvider","currentMinutes","useCallback","time","moment","tz","minutes","hours","currentMoment","useSharedValue","useEffect","interval","setInterval","value","subscription","AppState","addEventListener","appState","clearInterval","remove","style","useAnimatedStyle","top","jsx","View","styles","timeIndicator","_default","exports","StyleSheet","create","position","left","width","borderTopWidth","borderTopColor","zIndex","elevation","opacity"],"sourceRoot":"../../../src","sources":["components/time-indicator.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
8
+ var _globals = require("src/utils/globals");
9
+ var _react = require("react");
10
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
11
+ var _reactNative = require("react-native");
12
+ var _useIsEditing = require("src/hooks/use-is-editing");
13
+ var _panEditEventGesture = _interopRequireDefault(require("src/utils/pan-edit-event-gesture"));
14
+ var _doubleTapResetZoomGesture = _interopRequireDefault(require("src/utils/double-tap-reset-zoom-gesture"));
15
+ var _types = require("src/types");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ const TimedEventContainer = ({
21
+ layout,
22
+ refNewEvent
23
+ }) => {
24
+ const {
25
+ currentY,
26
+ setIsEditing,
27
+ isEditing
28
+ } = (0, _useIsEditing.useIsEditing)();
29
+ const {
30
+ onPressEvent,
31
+ maximumHour,
32
+ fiveMinuteInterval,
33
+ zoomLevel,
34
+ renderEvent,
35
+ initialZoomLevel,
36
+ onZoomChange
37
+ } = (0, _react.useContext)(_globals.ConfigProvider);
38
+ const height = (0, _reactNativeReanimated.useSharedValue)(0);
39
+ const top = (0, _reactNativeReanimated.useSharedValue)(0);
40
+ const startEditing = (0, _react.useCallback)(() => {
41
+ setIsEditing(layout);
42
+ }, [layout, setIsEditing]);
43
+ const gestureTap = _reactNativeGestureHandler.Gesture.Tap().enabled(!isEditing).onStart(() => {
44
+ if (onPressEvent) {
45
+ (0, _reactNativeReanimated.runOnJS)(onPressEvent)(layout.event);
46
+ }
47
+ });
48
+ const startY = (0, _reactNativeReanimated.useSharedValue)(0);
49
+ const gestures = _reactNativeGestureHandler.Gesture.Exclusive((0, _doubleTapResetZoomGesture.default)(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, (0, _panEditEventGesture.default)(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing).activateAfterLongPress(500));
50
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
51
+ height.value = newZoomLevel * layout.position.height;
52
+ }, [layout.position.height]);
53
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
54
+ top.value = newZoomLevel * layout.position.top;
55
+ }, [layout.position.top]);
56
+ const render = (0, _react.useMemo)(() => renderEvent(layout.event, _types.EventExtend.None, height), [height, layout.event, renderEvent]);
57
+ const stylePosition = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
58
+ const basePosition = {
59
+ position: "absolute",
60
+ height: height.value,
61
+ top: top.value,
62
+ opacity: 1,
63
+ width: layout.position.width,
64
+ marginLeft: layout.position.marginLeft,
65
+ // This is to prevent the event from being clickable while editing
66
+ pointerEvents: isEditing ? "none" : "auto"
67
+ };
68
+ if (isEditing?.event.id === layout.event.id) {
69
+ basePosition.opacity = 0.5;
70
+ }
71
+ return basePosition;
72
+ }, [layout, isEditing]);
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
74
+ gesture: gestures,
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
76
+ style: stylePosition,
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
78
+ style: styles.hairline,
79
+ children: render
80
+ })
81
+ })
82
+ });
83
+ };
84
+ const styles = _reactNative.StyleSheet.create({
85
+ hairline: {
86
+ marginHorizontal: _reactNative.StyleSheet.hairlineWidth,
87
+ flex: 1
88
+ }
89
+ });
90
+ var _default = exports.default = TimedEventContainer;
91
+ //# sourceMappingURL=timed-event-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","event","startY","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","useAnimatedReaction","value","newZoomLevel","position","render","useMemo","EventExtend","None","stylePosition","useAnimatedStyle","basePosition","opacity","width","marginLeft","pointerEvents","id","jsx","GestureDetector","gesture","children","View","style","styles","hairline","StyleSheet","create","marginHorizontal","hairlineWidth","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,0BAAA,GAAAD,sBAAA,CAAAP,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAAgE,IAAAU,WAAA,GAAAV,OAAA;AAAA,SAAAO,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAOhE,MAAMW,mBAAmB,GAAGA,CAAC;EAC3BC,MAAM;EACNC;AACwB,CAAC,KAAK;EAC9B,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC;EAAU,CAAC,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAC5D,MAAM;IACJC,YAAY;IACZC,WAAW;IACXC,kBAAkB;IAClBC,SAAS;IACTC,WAAW;IACXC,gBAAgB;IAChBC;EACF,CAAC,GAAG,IAAAC,iBAAU,EAACC,uBAAc,CAAC;EAE9B,MAAMC,MAAM,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EAChC,MAAMC,GAAG,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAE7B,MAAME,YAAY,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACrChB,YAAY,CAACH,MAAM,CAAC;EACtB,CAAC,EAAE,CAACA,MAAM,EAAEG,YAAY,CAAC,CAAC;EAE1B,MAAMiB,UAAU,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAC7BC,OAAO,CAAC,CAACnB,SAAS,CAAC,CACnBoB,OAAO,CAAC,MAAM;IACb,IAAIlB,YAAY,EAAE;MAChB,IAAAmB,8BAAO,EAACnB,YAAY,CAAC,CAACN,MAAM,CAAC0B,KAAK,CAAC;IACrC;EACF,CAAC,CAAC;EAEJ,MAAMC,MAAM,GAAG,IAAAX,qCAAc,EAAC,CAAC,CAAC;EAEhC,MAAMY,QAAQ,GAAGP,kCAAO,CAACQ,SAAS,CAChC,IAAAC,kCAAgB,EAACrB,SAAS,EAAEE,gBAAgB,EAAEC,YAAY,CAAC,EAC3DQ,UAAU,EACV,IAAAW,4BAAU,EACRJ,MAAM,EACNV,GAAG,EACHf,QAAQ,EACRO,SAAS,EACTF,WAAW,EACXQ,MAAM,EACNd,WAAW,EACXO,kBAAkB,EAClBJ,SAAS,EACTc,YACF,CAAC,CAACc,sBAAsB,CAAC,GAAG,CAC9B,CAAC;EAED,IAAAC,0CAAmB,EACjB,MAAMxB,SAAS,CAACyB,KAAK,EACpBC,YAAY,IAAK;IAChBpB,MAAM,CAACmB,KAAK,GAAGC,YAAY,GAAGnC,MAAM,CAACoC,QAAQ,CAACrB,MAAM;EACtD,CAAC,EACD,CAACf,MAAM,CAACoC,QAAQ,CAACrB,MAAM,CACzB,CAAC;EAED,IAAAkB,0CAAmB,EACjB,MAAMxB,SAAS,CAACyB,KAAK,EACpBC,YAAY,IAAK;IAChBlB,GAAG,CAACiB,KAAK,GAAGC,YAAY,GAAGnC,MAAM,CAACoC,QAAQ,CAACnB,GAAG;EAChD,CAAC,EACD,CAACjB,MAAM,CAACoC,QAAQ,CAACnB,GAAG,CACtB,CAAC;EAED,MAAMoB,MAAM,GAAG,IAAAC,cAAO,EACpB,MAAM5B,WAAW,CAACV,MAAM,CAAC0B,KAAK,EAAEa,kBAAW,CAACC,IAAI,EAAEzB,MAAM,CAAC,EACzD,CAACA,MAAM,EAAEf,MAAM,CAAC0B,KAAK,EAAEhB,WAAW,CACpC,CAAC;EAED,MAAM+B,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC3C,MAAMC,YAAiB,GAAG;MACxBP,QAAQ,EAAE,UAAU;MACpBrB,MAAM,EAAEA,MAAM,CAACmB,KAAK;MACpBjB,GAAG,EAAEA,GAAG,CAACiB,KAAK;MACdU,OAAO,EAAE,CAAC;MACVC,KAAK,EAAE7C,MAAM,CAACoC,QAAQ,CAACS,KAAK;MAC5BC,UAAU,EAAE9C,MAAM,CAACoC,QAAQ,CAACU,UAAU;MAEtC;MACAC,aAAa,EAAE3C,SAAS,GAAG,MAAM,GAAG;IACtC,CAAC;IAED,IAAIA,SAAS,EAAEsB,KAAK,CAACsB,EAAE,KAAKhD,MAAM,CAAC0B,KAAK,CAACsB,EAAE,EAAE;MAC3CL,YAAY,CAACC,OAAO,GAAG,GAAG;IAC5B;IAEA,OAAOD,YAAY;EACrB,CAAC,EAAE,CAAC3C,MAAM,EAAEI,SAAS,CAAC,CAAC;EAEvB,oBACE,IAAA1B,WAAA,CAAAuE,GAAA,EAAC9E,0BAAA,CAAA+E,eAAe;IAACC,OAAO,EAAEvB,QAAS;IAAAwB,QAAA,eACjC,IAAA1E,WAAA,CAAAuE,GAAA,EAACnF,sBAAA,CAAAe,OAAQ,CAACwE,IAAI;MAACC,KAAK,EAAEb,aAAc;MAAAW,QAAA,eAClC,IAAA1E,WAAA,CAAAuE,GAAA,EAAC7E,YAAA,CAAAiF,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,QAAS;QAAAJ,QAAA,EAAEf;MAAM,CAAO;IAAC,CAChC;EAAC,CACD,CAAC;AAEtB,CAAC;AAED,MAAMkB,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAAC;EAC/BF,QAAQ,EAAE;IAAEG,gBAAgB,EAAEF,uBAAU,CAACG,aAAa;IAAEC,IAAI,EAAE;EAAE;AAClE,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlF,OAAA,GAEYkB,mBAAmB","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = require("react");
9
+ var _globals = require("src/utils/globals");
10
+ var _backgroundHoursLayout = _interopRequireDefault(require("src/components/background-hours-layout"));
11
+ var _dateUtils = require("src/utils/date-utils");
12
+ var _backgroundHoursContent = _interopRequireDefault(require("src/components/background-hours-content"));
13
+ var _timedEventContainer = _interopRequireDefault(require("src/components/timed-event-container"));
14
+ var _timeIndicator = _interopRequireDefault(require("src/components/time-indicator"));
15
+ var _newEventContainer = _interopRequireDefault(require("src/components/new-event-container"));
16
+ var _editEventContainer = _interopRequireDefault(require("src/components/edit-event-container"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ const TimedEvents = ({
20
+ refNewEvent
21
+ }) => {
22
+ const {
23
+ theme,
24
+ canCreateEvents,
25
+ canEditEvent,
26
+ timeFormat,
27
+ layout,
28
+ showTimeIndicator,
29
+ extraTimedComponents,
30
+ zoomLevel
31
+ } = (0, _react.useContext)(_globals.ConfigProvider);
32
+ const hours = (0, _react.useMemo)(() => (0, _dateUtils.generatePrefabHours)(timeFormat), [timeFormat]);
33
+ const extraRender = (0, _react.useMemo)(() => extraTimedComponents?.(zoomLevel) || null, [extraTimedComponents, zoomLevel]);
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
35
+ style: [styles.container, theme?.timedEventsContainer],
36
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_backgroundHoursLayout.default, {
37
+ hours: hours
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
39
+ style: styles.backgroundContainer,
40
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_backgroundHoursContent.default, {
41
+ hours: hours
42
+ }), extraRender, layout.partDayEventsLayout.map(partDayLayout => /*#__PURE__*/(0, _jsxRuntime.jsx)(_timedEventContainer.default, {
43
+ layout: partDayLayout,
44
+ refNewEvent: refNewEvent
45
+ }, partDayLayout.event.id)), showTimeIndicator ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_timeIndicator.default, {}) : null, canEditEvent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_editEventContainer.default, {
46
+ refNewEvent: refNewEvent
47
+ }) : null]
48
+ }), canCreateEvents ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_newEventContainer.default, {}) : null]
49
+ });
50
+ };
51
+ var _default = exports.default = TimedEvents;
52
+ const styles = _reactNative.StyleSheet.create({
53
+ container: {
54
+ flex: 1,
55
+ flexDirection: "row",
56
+ marginBottom: 30,
57
+ marginTop: 10
58
+ },
59
+ backgroundContainer: {
60
+ position: "relative",
61
+ marginTop: -_globals.TOP_MARGIN_PIXEL_OFFSET,
62
+ flexDirection: "column",
63
+ flex: 1,
64
+ paddingRight: 10,
65
+ overflow: "hidden"
66
+ }
67
+ });
68
+ //# sourceMappingURL=timed-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_globals","_backgroundHoursLayout","_interopRequireDefault","_dateUtils","_backgroundHoursContent","_timedEventContainer","_timeIndicator","_newEventContainer","_editEventContainer","_jsxRuntime","e","__esModule","default","TimedEvents","refNewEvent","theme","canCreateEvents","canEditEvent","timeFormat","layout","showTimeIndicator","extraTimedComponents","zoomLevel","useContext","ConfigProvider","hours","useMemo","generatePrefabHours","extraRender","jsxs","View","style","styles","container","timedEventsContainer","children","jsx","backgroundContainer","partDayEventsLayout","map","partDayLayout","event","id","_default","exports","StyleSheet","create","flex","flexDirection","marginBottom","marginTop","position","TOP_MARGIN_PIXEL_OFFSET","paddingRight","overflow"],"sourceRoot":"../../../src","sources":["components/timed-events.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
8
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
9
+ var _react = require("react");
10
+ var _globals = require("src/utils/globals");
11
+ var _reactNative = require("react-native");
12
+ var _useIsEditing = require("src/hooks/use-is-editing");
13
+ var _doubleTapResetZoomGesture = _interopRequireDefault(require("src/utils/double-tap-reset-zoom-gesture"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ // This fraction determines how quickly zoom grows
19
+ const fraction = 0.1;
20
+ const ZoomProvider = /*#__PURE__*/(0, _react.forwardRef)(({
21
+ children
22
+ }, refNewEvent) => {
23
+ const {
24
+ canCreateEvents,
25
+ zoomLevel,
26
+ initialZoomLevel,
27
+ createY,
28
+ onCreateEvent,
29
+ maximumHour,
30
+ onZoomChange
31
+ } = (0, _react.useContext)(_globals.ConfigProvider);
32
+ const previewScale = (0, _reactNativeReanimated.useSharedValue)(-1);
33
+ (0, _react.useEffect)(() => {
34
+ previewScale.value = zoomLevel.get();
35
+ }, [zoomLevel, previewScale]);
36
+ const pinchGesture = _reactNativeGestureHandler.Gesture.Pinch().onUpdate(event => {
37
+ "worklet";
38
+
39
+ const newScale = previewScale.value * (1 + fraction * (event.scale - 1));
40
+ zoomLevel.value = Math.min(3, Math.max(0.54, newScale));
41
+ previewScale.value = zoomLevel.value;
42
+ }).onEnd(() => {
43
+ if (onZoomChange) {
44
+ (0, _reactNativeReanimated.runOnJS)(onZoomChange)(zoomLevel.value);
45
+ }
46
+ });
47
+ const yPosition = (0, _reactNativeReanimated.useSharedValue)(-1);
48
+ const {
49
+ isEditing
50
+ } = (0, _useIsEditing.useIsEditing)();
51
+ const isDragging = (0, _reactNativeReanimated.useSharedValue)(false);
52
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, zoom => {
53
+ maximumHour.value = 1440 * zoom;
54
+ }, [maximumHour]);
55
+ const longPressGesture = _reactNativeGestureHandler.Gesture.LongPress().enabled(canCreateEvents && !isEditing).withRef(refNewEvent).numberOfPointers(1).minDuration(250).maxDistance(10000).onStart(event => {
56
+ "worklet";
57
+
58
+ isDragging.value = true;
59
+ createY.value = Math.max(0, event.y - _globals.TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2);
60
+ }).onTouchesMove(event => {
61
+ "worklet";
62
+
63
+ if (!isDragging.value) {
64
+ return;
65
+ }
66
+ createY.value = Math.max(0, event.allTouches[0].y - _globals.TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2);
67
+ }).onEnd((event, success) => {
68
+ "worklet";
69
+
70
+ if (!isDragging.value) {
71
+ return;
72
+ }
73
+
74
+ // Make sure it doesn't show the new event component anymore
75
+ createY.value = -1;
76
+ yPosition.value = -1;
77
+ isDragging.value = false;
78
+ if (!success) {
79
+ return;
80
+ }
81
+
82
+ // Determine the hour that was clicked and trigger the event creation
83
+ const normalizedY = event.y - _globals.TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2;
84
+ const time = Math.floor(normalizedY / zoomLevel.value);
85
+ const hour = Math.floor(time / 60);
86
+ const minute = time - hour * 60;
87
+ if (onCreateEvent) {
88
+ (0, _reactNativeReanimated.runOnJS)(onCreateEvent)({
89
+ hour,
90
+ minute
91
+ });
92
+ }
93
+ });
94
+ const combinedGesture = _reactNativeGestureHandler.Gesture.Simultaneous(pinchGesture, longPressGesture, (0, _doubleTapResetZoomGesture.default)(zoomLevel, initialZoomLevel, onZoomChange));
95
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
96
+ gesture: combinedGesture,
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
98
+ style: styles.container,
99
+ children: children
100
+ })
101
+ });
102
+ });
103
+ const styles = _reactNative.StyleSheet.create({
104
+ container: {
105
+ flex: 1
106
+ }
107
+ });
108
+ var _default = exports.default = ZoomProvider;
109
+ //# sourceMappingURL=zoom-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_reactNativeGestureHandler","_react","_globals","_reactNative","_useIsEditing","_doubleTapResetZoomGesture","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fraction","ZoomProvider","forwardRef","children","refNewEvent","canCreateEvents","zoomLevel","initialZoomLevel","createY","onCreateEvent","maximumHour","onZoomChange","useContext","ConfigProvider","previewScale","useSharedValue","useEffect","value","pinchGesture","Gesture","Pinch","onUpdate","event","newScale","scale","Math","min","max","onEnd","runOnJS","yPosition","isEditing","useIsEditing","isDragging","useAnimatedReaction","zoom","longPressGesture","LongPress","enabled","withRef","numberOfPointers","minDuration","maxDistance","onStart","y","TOP_MARGIN_PIXEL_OFFSET","onTouchesMove","allTouches","success","normalizedY","time","floor","hour","minute","combinedGesture","Simultaneous","doubleTapGesture","jsx","GestureDetector","gesture","View","style","styles","container","StyleSheet","create","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["enums.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateClonedEvents = exports.default = void 0;
7
+ var _react = require("react");
8
+ var _lodash = require("lodash");
9
+ let updateClonedEvents = exports.updateClonedEvents = void 0;
10
+
11
+ /**
12
+ * Returns a cloned version of the events array if the updateLocalStateAfterEdit is set to true.
13
+ * We do this to make local state updates faster and more responsive. If the updateLocalStateAfterEdit is set to false,
14
+ * we return the original events array and don't clone it.
15
+ */
16
+ const useClonedEvents = (events, updateLocalStateAfterEdit) => {
17
+ const [clonedEvents, setClonedEvents] = (0, _react.useState)(events);
18
+ (0, _react.useEffect)(() => {
19
+ setClonedEvents(updateLocalStateAfterEdit ? (0, _lodash.cloneDeep)(events) : events);
20
+ exports.updateClonedEvents = updateClonedEvents = setClonedEvents;
21
+ }, [events, updateLocalStateAfterEdit]);
22
+ return clonedEvents;
23
+ };
24
+ var _default = exports.default = useClonedEvents;
25
+ //# sourceMappingURL=use-cloned-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_lodash","updateClonedEvents","exports","useClonedEvents","events","updateLocalStateAfterEdit","clonedEvents","setClonedEvents","useState","useEffect","cloneDeep","_default","default"],"sourceRoot":"../../../src","sources":["hooks/use-cloned-events.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGO,IAAIE,kBAA6D,GAAAC,OAAA,CAAAD,kBAAA;;AAExE;AACA;AACA;AACA;AACA;AACA,MAAME,eAAe,GAAGA,CACtBC,MAAuB,EACvBC,yBAAkC,KAC/B;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAACJ,MAAM,CAAC;EAExD,IAAAK,gBAAS,EAAC,MAAM;IACdF,eAAe,CAACF,yBAAyB,GAAG,IAAAK,iBAAS,EAACN,MAAM,CAAC,GAAGA,MAAM,CAAC;IACvEF,OAAA,CAAAD,kBAAA,GAAAA,kBAAkB,GAAGM,eAAe;EACtC,CAAC,EAAE,CAACH,MAAM,EAAEC,yBAAyB,CAAC,CAAC;EAEvC,OAAOC,YAAY;AACrB,CAAC;AAAC,IAAAK,QAAA,GAAAT,OAAA,CAAAU,OAAA,GAEaT,eAAe","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _zustand = require("zustand");
8
+ var _immer = require("zustand/middleware/immer");
9
+ var _generateEventLayouts = _interopRequireDefault(require("../utils/generate-event-layouts.js"));
10
+ var _react = require("react");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const useEventsLayoutStore = (0, _zustand.create)()((0, _immer.immer)(set => ({
13
+ events: {
14
+ allDayEventsLayout: [],
15
+ partDayEventsLayout: []
16
+ },
17
+ updateEvents: props => set(state => {
18
+ state.events = (0, _generateEventLayouts.default)(props)[props.startCalendarDate] || {
19
+ partDayEventsLayout: [],
20
+ allDayEventsLayout: []
21
+ };
22
+ })
23
+ })));
24
+ const useEventsLayout = props => {
25
+ const {
26
+ events: layoutEvents
27
+ } = useEventsLayoutStore();
28
+ (0, _react.useEffect)(() => {
29
+ useEventsLayoutStore.getState().updateEvents(props);
30
+ }, [props]);
31
+ return layoutEvents;
32
+ };
33
+ var _default = exports.default = useEventsLayout;
34
+ //# sourceMappingURL=use-events-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zustand","require","_immer","_generateEventLayouts","_interopRequireDefault","_react","e","__esModule","default","useEventsLayoutStore","create","immer","set","events","allDayEventsLayout","partDayEventsLayout","updateEvents","props","state","generateEventLayouts","startCalendarDate","useEventsLayout","layoutEvents","useEffect","getState","_default","exports"],"sourceRoot":"../../../src","sources":["hooks/use-events-layout.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAkC,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAyBlC,MAAMG,oBAAoB,GAAG,IAAAC,eAAM,EAAkB,CAAC,CACpD,IAAAC,YAAK,EAAEC,GAAG,KAAM;EACdC,MAAM,EAAE;IACNC,kBAAkB,EAAE,EAAE;IACtBC,mBAAmB,EAAE;EACvB,CAAC;EACDC,YAAY,EAAGC,KAAkB,IAC/BL,GAAG,CAAEM,KAAK,IAAK;IACbA,KAAK,CAACL,MAAM,GAAG,IAAAM,6BAAoB,EAACF,KAAK,CAAC,CAACA,KAAK,CAACG,iBAAiB,CAAC,IAAI;MACrEL,mBAAmB,EAAE,EAAE;MACvBD,kBAAkB,EAAE;IACtB,CAAC;EACH,CAAC;AACL,CAAC,CAAC,CACJ,CAAC;AAED,MAAMO,eAAe,GAAIJ,KAAkB,IAAK;EAC9C,MAAM;IAAEJ,MAAM,EAAES;EAAa,CAAC,GAAGb,oBAAoB,CAAC,CAAC;EAEvD,IAAAc,gBAAS,EAAC,MAAM;IACdd,oBAAoB,CAACe,QAAQ,CAAC,CAAC,CAACR,YAAY,CAACC,KAAK,CAAC;EACrD,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOK,YAAY;AACrB,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAlB,OAAA,GAEaa,eAAe","ignoreList":[]}