@multiplatform.one/components 7.28.0 → 7.29.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 (340) hide show
  1. package/dist/cjs/Accordion/index.cjs +26 -17
  2. package/dist/cjs/Accordion/index.native.js +36 -27
  3. package/dist/cjs/Accordion/index.native.js.map +1 -1
  4. package/dist/cjs/Heading.cjs +74 -30
  5. package/dist/cjs/Heading.native.js +81 -30
  6. package/dist/cjs/Heading.native.js.map +1 -1
  7. package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
  8. package/dist/cjs/ScrollView/index.native.js +4 -0
  9. package/dist/cjs/ScrollView/index.native.js.map +1 -1
  10. package/dist/cjs/SortableList/SortableHandle.cjs +1 -1
  11. package/dist/cjs/SortableList/SortableHandle.native.js +1 -1
  12. package/dist/cjs/Text.cjs +58 -21
  13. package/dist/cjs/Text.native.js +62 -21
  14. package/dist/cjs/Text.native.js.map +1 -1
  15. package/dist/cjs/Toast/index.native.js.map +1 -1
  16. package/dist/cjs/charts/ChartDataView.cjs +2 -1
  17. package/dist/cjs/charts/ChartDataView.native.js +2 -1
  18. package/dist/cjs/charts/ChartDataView.native.js.map +1 -1
  19. package/dist/cjs/code/CodeBlock/index.cjs +8 -8
  20. package/dist/cjs/code/CodeBlock/index.native.js +8 -8
  21. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  22. package/dist/cjs/index.cjs +1 -0
  23. package/dist/cjs/index.native.js +1 -0
  24. package/dist/cjs/index.native.js.map +1 -1
  25. package/dist/cjs/layouts/EmptyState.cjs +4 -3
  26. package/dist/cjs/layouts/EmptyState.native.js +14 -9
  27. package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
  28. package/dist/cjs/layouts/page.cjs +2 -1
  29. package/dist/cjs/layouts/page.native.js +2 -1
  30. package/dist/cjs/layouts/page.native.js.map +1 -1
  31. package/dist/cjs/layouts/sidebar.cjs +2 -1
  32. package/dist/cjs/layouts/sidebar.native.js +2 -1
  33. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  34. package/dist/cjs/layouts/tags.cjs +2 -1
  35. package/dist/cjs/layouts/tags.native.js +2 -1
  36. package/dist/cjs/layouts/tags.native.js.map +1 -1
  37. package/dist/cjs/layouts/toolbar.cjs +2 -1
  38. package/dist/cjs/layouts/toolbar.native.js +2 -1
  39. package/dist/cjs/layouts/toolbar.native.js.map +1 -1
  40. package/dist/cjs/shared/useReturnFocusOnClose.cjs +1 -0
  41. package/dist/cjs/shared/useReturnFocusOnClose.native.js +1 -0
  42. package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -1
  43. package/dist/cjs/surfaces.cjs +61 -0
  44. package/dist/cjs/surfaces.native.js +73 -0
  45. package/dist/cjs/surfaces.native.js.map +1 -1
  46. package/dist/cjs/views/Calendar.cjs +13 -10
  47. package/dist/cjs/views/Calendar.native.js +13 -10
  48. package/dist/cjs/views/Calendar.native.js.map +1 -1
  49. package/dist/cjs/views/Dashboard.cjs +2 -1
  50. package/dist/cjs/views/Dashboard.native.js +2 -1
  51. package/dist/cjs/views/Dashboard.native.js.map +1 -1
  52. package/dist/cjs/views/Gantt.cjs +39 -27
  53. package/dist/cjs/views/Gantt.native.js +38 -23
  54. package/dist/cjs/views/Gantt.native.js.map +1 -1
  55. package/dist/cjs/views/ImageGrid.cjs +26 -22
  56. package/dist/cjs/views/ImageGrid.native.js +28 -22
  57. package/dist/cjs/views/ImageGrid.native.js.map +1 -1
  58. package/dist/cjs/views/Kanban.cjs +2 -1
  59. package/dist/cjs/views/Kanban.native.js +1 -0
  60. package/dist/cjs/views/Kanban.native.js.map +1 -1
  61. package/dist/cjs/views/List.cjs +1 -0
  62. package/dist/cjs/views/List.native.js +1 -0
  63. package/dist/cjs/views/List.native.js.map +1 -1
  64. package/dist/cjs/views/Matrix.cjs +5 -3
  65. package/dist/cjs/views/Matrix.native.js +5 -3
  66. package/dist/cjs/views/Matrix.native.js.map +1 -1
  67. package/dist/cjs/views/ReportBuilder.cjs +2 -1
  68. package/dist/cjs/views/ReportBuilder.native.js +2 -1
  69. package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
  70. package/dist/cjs/views/TreeView.cjs +2 -1
  71. package/dist/cjs/views/TreeView.native.js +2 -1
  72. package/dist/cjs/views/TreeView.native.js.map +1 -1
  73. package/dist/esm/Accordion/index.mjs +26 -18
  74. package/dist/esm/Accordion/index.mjs.map +1 -1
  75. package/dist/esm/Accordion/index.native.js +36 -28
  76. package/dist/esm/Accordion/index.native.js.map +1 -1
  77. package/dist/esm/Heading.mjs +74 -30
  78. package/dist/esm/Heading.mjs.map +1 -1
  79. package/dist/esm/Heading.native.js +81 -30
  80. package/dist/esm/Heading.native.js.map +1 -1
  81. package/dist/esm/ProgressSteps/index.mjs.map +1 -1
  82. package/dist/esm/ScrollView/index.native.js +4 -0
  83. package/dist/esm/ScrollView/index.native.js.map +1 -1
  84. package/dist/esm/SortableList/SortableHandle.mjs +1 -1
  85. package/dist/esm/SortableList/SortableHandle.native.js +1 -1
  86. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  87. package/dist/esm/Text.mjs +58 -21
  88. package/dist/esm/Text.mjs.map +1 -1
  89. package/dist/esm/Text.native.js +62 -21
  90. package/dist/esm/Text.native.js.map +1 -1
  91. package/dist/esm/Toast/index.mjs.map +1 -1
  92. package/dist/esm/charts/ChartDataView.mjs +2 -1
  93. package/dist/esm/charts/ChartDataView.mjs.map +1 -1
  94. package/dist/esm/charts/ChartDataView.native.js +2 -1
  95. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  96. package/dist/esm/code/CodeBlock/index.mjs +1 -1
  97. package/dist/esm/code/CodeBlock/index.native.js +1 -1
  98. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  99. package/dist/esm/index.mjs +2 -2
  100. package/dist/esm/index.mjs.map +1 -1
  101. package/dist/esm/index.native.js +2 -2
  102. package/dist/esm/index.native.js.map +1 -1
  103. package/dist/esm/layouts/EmptyState.mjs +4 -3
  104. package/dist/esm/layouts/EmptyState.mjs.map +1 -1
  105. package/dist/esm/layouts/EmptyState.native.js +14 -9
  106. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  107. package/dist/esm/layouts/page.mjs +2 -1
  108. package/dist/esm/layouts/page.mjs.map +1 -1
  109. package/dist/esm/layouts/page.native.js +2 -1
  110. package/dist/esm/layouts/page.native.js.map +1 -1
  111. package/dist/esm/layouts/sidebar.mjs +2 -1
  112. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  113. package/dist/esm/layouts/sidebar.native.js +2 -1
  114. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  115. package/dist/esm/layouts/tags.mjs +2 -1
  116. package/dist/esm/layouts/tags.mjs.map +1 -1
  117. package/dist/esm/layouts/tags.native.js +2 -1
  118. package/dist/esm/layouts/tags.native.js.map +1 -1
  119. package/dist/esm/layouts/toolbar.mjs +2 -1
  120. package/dist/esm/layouts/toolbar.mjs.map +1 -1
  121. package/dist/esm/layouts/toolbar.native.js +2 -1
  122. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  123. package/dist/esm/shared/useReturnFocusOnClose.mjs +1 -0
  124. package/dist/esm/shared/useReturnFocusOnClose.mjs.map +1 -1
  125. package/dist/esm/shared/useReturnFocusOnClose.native.js +1 -0
  126. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  127. package/dist/esm/surfaces.mjs +63 -3
  128. package/dist/esm/surfaces.mjs.map +1 -1
  129. package/dist/esm/surfaces.native.js +75 -3
  130. package/dist/esm/surfaces.native.js.map +1 -1
  131. package/dist/esm/views/Calendar.mjs +12 -9
  132. package/dist/esm/views/Calendar.mjs.map +1 -1
  133. package/dist/esm/views/Calendar.native.js +12 -9
  134. package/dist/esm/views/Calendar.native.js.map +1 -1
  135. package/dist/esm/views/Dashboard.mjs +2 -1
  136. package/dist/esm/views/Dashboard.mjs.map +1 -1
  137. package/dist/esm/views/Dashboard.native.js +2 -1
  138. package/dist/esm/views/Dashboard.native.js.map +1 -1
  139. package/dist/esm/views/Gantt.mjs +37 -25
  140. package/dist/esm/views/Gantt.mjs.map +1 -1
  141. package/dist/esm/views/Gantt.native.js +36 -21
  142. package/dist/esm/views/Gantt.native.js.map +1 -1
  143. package/dist/esm/views/ImageGrid.mjs +26 -22
  144. package/dist/esm/views/ImageGrid.mjs.map +1 -1
  145. package/dist/esm/views/ImageGrid.native.js +28 -22
  146. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  147. package/dist/esm/views/Kanban.mjs +2 -1
  148. package/dist/esm/views/Kanban.mjs.map +1 -1
  149. package/dist/esm/views/Kanban.native.js +1 -0
  150. package/dist/esm/views/Kanban.native.js.map +1 -1
  151. package/dist/esm/views/List.mjs +1 -0
  152. package/dist/esm/views/List.mjs.map +1 -1
  153. package/dist/esm/views/List.native.js +1 -0
  154. package/dist/esm/views/List.native.js.map +1 -1
  155. package/dist/esm/views/Matrix.mjs +3 -1
  156. package/dist/esm/views/Matrix.mjs.map +1 -1
  157. package/dist/esm/views/Matrix.native.js +3 -1
  158. package/dist/esm/views/Matrix.native.js.map +1 -1
  159. package/dist/esm/views/ReportBuilder.mjs +2 -1
  160. package/dist/esm/views/ReportBuilder.mjs.map +1 -1
  161. package/dist/esm/views/ReportBuilder.native.js +2 -1
  162. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  163. package/dist/esm/views/TreeView.mjs +2 -1
  164. package/dist/esm/views/TreeView.mjs.map +1 -1
  165. package/dist/esm/views/TreeView.native.js +2 -1
  166. package/dist/esm/views/TreeView.native.js.map +1 -1
  167. package/dist/jsx/Accordion/index.mjs +26 -18
  168. package/dist/jsx/Accordion/index.mjs.map +1 -1
  169. package/dist/jsx/Accordion/index.native.js +36 -27
  170. package/dist/jsx/Accordion/index.native.js.map +1 -1
  171. package/dist/jsx/Heading.mjs +74 -30
  172. package/dist/jsx/Heading.mjs.map +1 -1
  173. package/dist/jsx/Heading.native.js +81 -30
  174. package/dist/jsx/Heading.native.js.map +1 -1
  175. package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
  176. package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
  177. package/dist/jsx/ScrollView/index.native.js +4 -0
  178. package/dist/jsx/ScrollView/index.native.js.map +1 -1
  179. package/dist/jsx/SortableList/SortableHandle.mjs +1 -1
  180. package/dist/jsx/SortableList/SortableHandle.native.js +1 -1
  181. package/dist/jsx/Text.mjs +58 -21
  182. package/dist/jsx/Text.mjs.map +1 -1
  183. package/dist/jsx/Text.native.js +62 -21
  184. package/dist/jsx/Text.native.js.map +1 -1
  185. package/dist/jsx/Toast/index.mjs.map +1 -1
  186. package/dist/jsx/Toast/index.native.js.map +1 -1
  187. package/dist/jsx/charts/ChartDataView.mjs +2 -1
  188. package/dist/jsx/charts/ChartDataView.mjs.map +1 -1
  189. package/dist/jsx/charts/ChartDataView.native.js +2 -1
  190. package/dist/jsx/charts/ChartDataView.native.js.map +1 -1
  191. package/dist/jsx/code/CodeBlock/index.mjs +1 -1
  192. package/dist/jsx/code/CodeBlock/index.native.js +8 -8
  193. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  194. package/dist/jsx/index.js +2 -2
  195. package/dist/jsx/index.js.map +1 -1
  196. package/dist/jsx/index.mjs +2 -2
  197. package/dist/jsx/index.mjs.map +1 -1
  198. package/dist/jsx/index.native.js +1 -0
  199. package/dist/jsx/index.native.js.map +1 -1
  200. package/dist/jsx/layouts/EmptyState.mjs +4 -3
  201. package/dist/jsx/layouts/EmptyState.mjs.map +1 -1
  202. package/dist/jsx/layouts/EmptyState.native.js +14 -9
  203. package/dist/jsx/layouts/EmptyState.native.js.map +1 -1
  204. package/dist/jsx/layouts/page.mjs +2 -1
  205. package/dist/jsx/layouts/page.mjs.map +1 -1
  206. package/dist/jsx/layouts/page.native.js +2 -1
  207. package/dist/jsx/layouts/page.native.js.map +1 -1
  208. package/dist/jsx/layouts/sidebar.mjs +2 -1
  209. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  210. package/dist/jsx/layouts/sidebar.native.js +2 -1
  211. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  212. package/dist/jsx/layouts/tags.mjs +2 -1
  213. package/dist/jsx/layouts/tags.mjs.map +1 -1
  214. package/dist/jsx/layouts/tags.native.js +2 -1
  215. package/dist/jsx/layouts/tags.native.js.map +1 -1
  216. package/dist/jsx/layouts/toolbar.mjs +2 -1
  217. package/dist/jsx/layouts/toolbar.mjs.map +1 -1
  218. package/dist/jsx/layouts/toolbar.native.js +2 -1
  219. package/dist/jsx/layouts/toolbar.native.js.map +1 -1
  220. package/dist/jsx/shared/useReturnFocusOnClose.mjs +1 -0
  221. package/dist/jsx/shared/useReturnFocusOnClose.mjs.map +1 -1
  222. package/dist/jsx/shared/useReturnFocusOnClose.native.js +1 -0
  223. package/dist/jsx/shared/useReturnFocusOnClose.native.js.map +1 -1
  224. package/dist/jsx/surfaces.mjs +63 -3
  225. package/dist/jsx/surfaces.mjs.map +1 -1
  226. package/dist/jsx/surfaces.native.js +73 -0
  227. package/dist/jsx/surfaces.native.js.map +1 -1
  228. package/dist/jsx/views/Calendar.mjs +12 -9
  229. package/dist/jsx/views/Calendar.mjs.map +1 -1
  230. package/dist/jsx/views/Calendar.native.js +13 -10
  231. package/dist/jsx/views/Calendar.native.js.map +1 -1
  232. package/dist/jsx/views/Dashboard.mjs +2 -1
  233. package/dist/jsx/views/Dashboard.mjs.map +1 -1
  234. package/dist/jsx/views/Dashboard.native.js +2 -1
  235. package/dist/jsx/views/Dashboard.native.js.map +1 -1
  236. package/dist/jsx/views/Gantt.mjs +37 -25
  237. package/dist/jsx/views/Gantt.mjs.map +1 -1
  238. package/dist/jsx/views/Gantt.native.js +38 -23
  239. package/dist/jsx/views/Gantt.native.js.map +1 -1
  240. package/dist/jsx/views/ImageGrid.mjs +26 -22
  241. package/dist/jsx/views/ImageGrid.mjs.map +1 -1
  242. package/dist/jsx/views/ImageGrid.native.js +28 -22
  243. package/dist/jsx/views/ImageGrid.native.js.map +1 -1
  244. package/dist/jsx/views/Kanban.mjs +2 -1
  245. package/dist/jsx/views/Kanban.mjs.map +1 -1
  246. package/dist/jsx/views/Kanban.native.js +1 -0
  247. package/dist/jsx/views/Kanban.native.js.map +1 -1
  248. package/dist/jsx/views/List.mjs +1 -0
  249. package/dist/jsx/views/List.mjs.map +1 -1
  250. package/dist/jsx/views/List.native.js +1 -0
  251. package/dist/jsx/views/List.native.js.map +1 -1
  252. package/dist/jsx/views/Matrix.mjs +3 -1
  253. package/dist/jsx/views/Matrix.mjs.map +1 -1
  254. package/dist/jsx/views/Matrix.native.js +5 -3
  255. package/dist/jsx/views/Matrix.native.js.map +1 -1
  256. package/dist/jsx/views/ReportBuilder.mjs +2 -1
  257. package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
  258. package/dist/jsx/views/ReportBuilder.native.js +2 -1
  259. package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
  260. package/dist/jsx/views/TreeView.mjs +2 -1
  261. package/dist/jsx/views/TreeView.mjs.map +1 -1
  262. package/dist/jsx/views/TreeView.native.js +2 -1
  263. package/dist/jsx/views/TreeView.native.js.map +1 -1
  264. package/package.json +9 -9
  265. package/src/Accordion/index.tsx +34 -15
  266. package/src/Heading.stories.tsx +13 -0
  267. package/src/Heading.tsx +62 -21
  268. package/src/ProgressSteps/ProgressSteps.spec.tsx +2 -3
  269. package/src/ProgressSteps/index.tsx +3 -4
  270. package/src/ScrollView/ScrollView.native.spec.tsx +97 -1
  271. package/src/ScrollView/index.native.tsx +4 -0
  272. package/src/SortableList/SortableHandle.tsx +2 -2
  273. package/src/Tabs/Tabs.lifecycle.spec.tsx +3 -1
  274. package/src/Text.tsx +32 -20
  275. package/src/Toast/index.tsx +4 -3
  276. package/src/charts/ChartDataView.tsx +2 -1
  277. package/src/code/CodeBlock/index.tsx +1 -1
  278. package/src/feedback/ConfirmDialog.spec.tsx +2 -2
  279. package/src/icons/phosphorTokenColor.spec.tsx +86 -0
  280. package/src/index.ts +1 -1
  281. package/src/layouts/EmptyState.spec.tsx +17 -0
  282. package/src/layouts/EmptyState.tsx +10 -3
  283. package/src/layouts/Screen.keyboardTaps.spec.tsx +57 -0
  284. package/src/layouts/Screen.stories.tsx +55 -2
  285. package/src/layouts/page.tsx +2 -14
  286. package/src/layouts/sidebar.tsx +2 -1
  287. package/src/layouts/tags.tsx +1 -1
  288. package/src/layouts/toolbar.tsx +2 -1
  289. package/src/shared/useReturnFocusOnClose.spec.tsx +39 -0
  290. package/src/shared/useReturnFocusOnClose.ts +4 -0
  291. package/src/surfaces.spec.tsx +272 -3
  292. package/src/surfaces.tsx +97 -4
  293. package/src/textWeight.houseFonts.spec.tsx +127 -0
  294. package/src/textWeight.native.spec.tsx +27 -0
  295. package/src/textWeight.spec.tsx +15 -0
  296. package/src/views/Calendar.tsx +37 -29
  297. package/src/views/Dashboard.tsx +2 -13
  298. package/src/views/Gantt.scroll.spec.tsx +4 -1
  299. package/src/views/Gantt.tsx +40 -25
  300. package/src/views/ImageGrid.tsx +24 -19
  301. package/src/views/Kanban.native.tsx +1 -0
  302. package/src/views/Kanban.tsx +2 -10
  303. package/src/views/List.tsx +1 -0
  304. package/src/views/Matrix.tsx +3 -1
  305. package/src/views/ReportBuilder.tsx +2 -1
  306. package/src/views/TreeView.tsx +2 -1
  307. package/src/views/views.spec.tsx +14 -2
  308. package/types/Accordion/index.d.ts +8 -0
  309. package/types/Accordion/index.d.ts.map +1 -1
  310. package/types/Chip/index.d.ts +1 -1
  311. package/types/Heading.d.ts +7 -7
  312. package/types/Heading.d.ts.map +1 -1
  313. package/types/ProgressSteps/index.d.ts.map +1 -1
  314. package/types/ScrollView/index.native.d.ts.map +1 -1
  315. package/types/SortableList/SortableHandle.d.ts +1 -1
  316. package/types/Tabs/index.d.ts +1 -1
  317. package/types/Text.d.ts +4 -4
  318. package/types/Text.d.ts.map +1 -1
  319. package/types/Toast/index.d.ts.map +1 -1
  320. package/types/charts/ChartDataView.d.ts.map +1 -1
  321. package/types/index.d.ts +1 -1
  322. package/types/index.d.ts.map +1 -1
  323. package/types/layouts/EmptyState.d.ts.map +1 -1
  324. package/types/layouts/page.d.ts.map +1 -1
  325. package/types/layouts/sidebar.d.ts.map +1 -1
  326. package/types/layouts/tags.d.ts.map +1 -1
  327. package/types/layouts/toolbar.d.ts.map +1 -1
  328. package/types/shared/useReturnFocusOnClose.d.ts.map +1 -1
  329. package/types/surfaces.d.ts +14 -0
  330. package/types/surfaces.d.ts.map +1 -1
  331. package/types/views/Calendar.d.ts +18 -1
  332. package/types/views/Calendar.d.ts.map +1 -1
  333. package/types/views/Dashboard.d.ts.map +1 -1
  334. package/types/views/Gantt.d.ts.map +1 -1
  335. package/types/views/ImageGrid.d.ts.map +1 -1
  336. package/types/views/Kanban.d.ts.map +1 -1
  337. package/types/views/List.d.ts.map +1 -1
  338. package/types/views/Matrix.d.ts.map +1 -1
  339. package/types/views/ReportBuilder.d.ts.map +1 -1
  340. package/types/views/TreeView.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","componentColors","sectionHeading","ViewSwitcher","withInterp","MINUTES_PER_DAY","computeResizeRange","createRangeFromDrag","eventAccessibleLabel","formatTimeRangeLabel","layoutDayBlocks","minutesOfDay","minutesToY","moveFocusDate","moveFocusSlot","moveRangeToSlot","snapMinutes","yToMinutes","formatCalendarDate","formatDayLong","formatTimeOfDay","getMonthNames","getWeekdayNames","hairline","hairlineWidth","keyboardFocusRingProps","MIN_PRESS_TARGET","pressTargetHitSlop","radiusClassProps","ensureFocusVisibleRing","ensureKeyboardModalityTracking","useReadableTextOn","useResolvedKnobs","wasKeyboardFocus","React","useState","useMemo","useCallback","useEffect","useId","useRef","useTranslation","Button","FloatingPanel","Input","zIndex","AnimatePresence","ScrollView","Text","XStack","YStack","isWeb","styled","useDirection","hairlineEnd","borderInlineEndWidth","borderInlineEndStyle","className","borderEndWidth","gridCellEdges","end","bottom","filter","Boolean","join","borderBottomWidth","eventChipTextColor","bg","startsWith","hex","slice","full","length","split","map","c","r","g","b","i","Number","parseInt","Math","pow","luminance","contrastWhite","contrastBlack","getMonthDays","date","firstDayOfWeek","year","getFullYear","month","getMonth","firstDay","Date","lastDay","startOffset","getDay","totalDays","getDate","totalRows","ceil","totalCells","days","push","getWeekDays","dayOfWeek","startDate","setDate","day","formatDateKey","addMonths","delta","next","setMonth","min","isSameDay","d1","d2","isToday","MS_PER_DAY","computeEventMoveRange","event","targetDay","startOfDay","startOfDay2","d","dayDelta","round","getTime","start","shiftDays","shiftDays2","getHours","getMinutes","getSeconds","getMilliseconds","findDayKeyAtPoint","pageX","pageY","layouts","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","layout","value","x","width","y","height","key","err","return","measureDayLayouts","refs","cb","entries","remaining","_loop","node","measureInWindow","dayKeyToDate","ty","tm","td","dateAtMinutes","minutes","isTimedEvent","allDay","DRAG_THRESHOLD_PX","TOUCH_LONG_PRESS_MS","TOUCH_SLOP_PX","LIFT_SHADOW","MIN_BLOCK_PX","RESIZE_ZONE_PX","MONTH_CHIP_MIN_PX","DayNumberDisc","param","today","inMonth","focused","onAccent","nestedPx","nestedHitSlop","nestedBox","label","knobProps","flexShrink","borderRadius","alignItems","justifyContent","backgroundColor","hitSlop","outlineWidth","children","fontWeight","color","textAccentColor","textAlign","Array","from","_","formatHour","hour","weekdayNames","monthNames","hours","startWebPointerSession","options","_options_thresholdPx","threshold","thresholdPx","isTouch","pointerType","active","ended","escaped","liftArmed","last","startX","startY","prevUserSelect","longPressTimer","preventTouchScroll","preventTouchScroll2","te","preventDefault","activate","activate2","pt","document","body","style","userSelect","onActivate","teardown","teardown2","_options_onSettled","clearTimeout","window","removeEventListener","onMove","onUp","onKey","onSettled","call","onMove2","me","clientX","clientY","travel","hypot","onUp2","ue","_options_onTapInstead","wasActive","onCommit","onTapInstead","onKey2","ke","stopPropagation","cancel","onCancel","setTimeout","addEventListener","passive","NowIndicator","hourHeight","now","setNow","isRTL","id","setInterval","clearInterval","position","left","right","top","pointerEvents","SettleGhost","settle","transition","onDone","moved","setMoved","raf2","raf1","requestAnimationFrame","timer","cancelAnimationFrame","padding","to","scale","opacity","sheet","maxWidth","boxShadow","fontSize","numberOfLines","title","CalendarSlide","variants","fromStart","true","fromEnd","fade","Calendar","events","renderEvent","onDateSelect","onEventClick","onEventMove","onEventResize","onEventCreate","enableEventDrag","viewType","initialViewType","initialDate","showNavigation","showViewSwitcher","slotMinutes","stackProps","t","nestedKnobs","compact","px","nestedControl","calendarId","currentDate","setCurrentDate","view","setView","sz","sizeToken","monthCellMinHeight","space","cellPad","chipGap","monthRowHardFloor","monthBodyHeight","setMonthBodyHeight","overlayInset","webLayoutTransition","navDirectionRef","hasNavigatedRef","periodKey","motionKey","dragEnabled","hasDom","webDragEnabled","nativeDragEnabled","webResizeEnabled","webCreateEnabled","dragGhost","setDragGhost","dropTargetKey","setDropTargetKey","slotTarget","setSlotTarget","setSettle","resizePreview","setResizePreview","createDraft","setCreateDraft","editorState","setEditorState","draftTitle","setDraftTitle","overflowDayKey","setOverflowDayKey","scrollLocked","setScrollLocked","draggingEventId","setDraggingEventId","suppressClickRef","dragSessionCleanupRef","slotTargetRef","resizePreviewRef","editorStateRef","draftTitleRef","dayRefs","Map","containerNodeRef","containerOffsetRef","nativeSessionRef","current","registerDayRef","set","delete","refreshContainerOffset","_containerNodeRef_current_measureInWindow","_containerNodeRef_current","_dragSessionCleanupRef_current","clearSettle","suppressNextClick","beginSettle","commitMoveToKey","handleEventPointerDown","e","mode","_ref","_e_stopPropagation","_chipEl_getBoundingClientRect","button","chipEl","currentTarget","originRect","getBoundingClientRect","durationMin","max","grabOffsetMin","findDayKey","findDayKey2","_ref2","_document_elementFromPoint","_document","_el_closest","el","elementFromPoint","dayEl","closest","getAttribute","findSlotTarget","findSlotTarget2","colEl","dayKey","rect","raw","startMin","endVisuals","endVisuals2","lastPoint","cleanup","target","ghostFrom","range","_cellEl_getBoundingClientRect","cellEl","querySelector","ghost","once","activated","handleResizePointerDown","edge","_handleEl_closest","_colEl_getBoundingClientRect","handleEl","colRect","applyPreview","applyPreview2","_event_end","preview","prevEnd","openEditor","commitEditor","state","trim","handleGridPointerDown","anchorRaw","created","lastRange","endNativeSession","opts","session","dragging","commit","_findDayKeyAtPoint","handleNativeGrant","_ref1","_e_nativeEvent","_e_nativeEvent1","nativeEvent","handleNativeMove","handleNativeRelease","handleNativeTerminate","getEventDragProps","arguments","base","onPointerDown","onStartShouldSetResponder","onMoveShouldSetResponder","onResponderTerminationRequest","_nativeSessionRef_current","onResponderGrant","onResponderMove","onResponderRelease","onResponderTerminate","eventsByDate","grouped","goToPrevious","prev","goToNext","goToToday","changeView","displayTitle","weekDays","focusedDate","setFocusedDate","focusedSlotMin","setFocusedSlotMin","announcement","setAnnouncement","handleBodyFocus","focusedDayKey","focusCellId","handleBodyKeyDown","arrows","includes","_e_preventDefault","nextMin","logicalKey","visible","_e_preventDefault1","eventA11yProps","role","tabIndex","focusStyle","focusVisibleStyle","outlineOffset","onKeyDown","_ke_preventDefault","_ke_stopPropagation","renderEventBadge","dragProps","lifted","cursor","minHeight","hoverStyle","pressStyle","onPress","MONTH_VISIBLE_EVENTS","renderMonthView","renderMonthView2","monthDays","totalWeeks","monthRowMinHeight","floor","weekdayHeaders","flex","onFocus","borderColor","surface","background","scrollEnabled","contentContainerStyle","flexGrow","onLayout","weekIndex","weeks","flexBasis","dayIndex","isCurrentMonth","dayEvents","isDropTarget","isFocused","hiddenCount","count","ref","gap","paddingInlineEnd","open","onOpenChange","fitContent","trigger","paddingInlineStart","String","minWidth","heading","toISOString","timeGridScrollRef","gridHeight","_timeGridScrollRef_current_scrollTo","_timeGridScrollRef_current","scrollTo","animated","renderTimedBlock","renderTimedBlock2","endMin","blockHeight","widthPct","columns","leftPct","column","zoneInner","overflow","borderWidth","paddingBottom","paddingTop","alignSelf","paddingHorizontal","renderTimeGrid","renderTimeGrid2","ev","blocks","_ev_end","byId","isSlotTargetDay","draftHere","editorHere","focusHere","divider","block","get","placeholder","onChangeText","inputProps","autoFocus","renderWeekView","renderWeekView2","renderDayView","renderDayView2","physicalDir","bodyEnterVariant","bodyExitVariant","elevation","panelPadding","size","views","type","currentView","onViewChange","val","initial","enterVariant","exitVariant","fullscreen","shadowColor","shadowOffset","shadowRadius","shadowOpacity"],"sources":["Calendar.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { componentColors, sectionHeading } from \"../componentColors\";\nimport { ViewSwitcher } from \"../layouts/ViewSwitcher\";\nimport { withInterp } from \"../shared/t\";\nimport { MINUTES_PER_DAY, computeResizeRange, createRangeFromDrag, eventAccessibleLabel, formatTimeRangeLabel, layoutDayBlocks, minutesOfDay, minutesToY, moveFocusDate, moveFocusSlot, moveRangeToSlot, snapMinutes, yToMinutes } from \"./calendarMath\";\nimport { formatCalendarDate, formatDayLong, formatTimeOfDay, getMonthNames, getWeekdayNames, hairline, hairlineWidth, keyboardFocusRingProps, MIN_PRESS_TARGET, pressTargetHitSlop, radiusClassProps, ensureFocusVisibleRing, ensureKeyboardModalityTracking, useReadableTextOn, useResolvedKnobs, wasKeyboardFocus } from \"@multiplatform.one/theme\";\nimport React, { useState, useMemo, useCallback, useEffect, useId, useRef } from \"react\";\nimport { useTranslation } from \"../shared/i18n\";\nimport { Button, FloatingPanel, Input, zIndex } from \"@multiplatform.one/forms\";\nimport { AnimatePresence, ScrollView, Text, XStack, YStack, isWeb, styled } from \"tamagui\";\nimport { useDirection } from \"../hooks/useDirection\";\nvar hairlineEnd = isWeb ? {\n borderInlineEndWidth: hairlineWidth,\n borderInlineEndStyle: \"solid\",\n className: \"mp-hairline-ie\"\n} : {\n borderEndWidth: hairlineWidth\n};\nfunction gridCellEdges(end, bottom) {\n var className = [\n end && \"mp-hairline-ie\",\n bottom && \"mp-hairline-b\"\n ].filter(Boolean).join(\" \") || void 0;\n return {\n ...end ? hairlineEnd : null,\n borderBottomWidth: bottom ? hairlineWidth : 0,\n ...isWeb && className ? {\n className\n } : null\n };\n}\nfunction eventChipTextColor(bg) {\n if (!bg || !bg.startsWith(\"#\")) return \"$accentColor\";\n var hex = bg.slice(1);\n var full = hex.length === 3 ? hex.split(\"\").map(function(c) {\n return c + c;\n }).join(\"\") : hex.slice(0, 6);\n var [r, g, b] = [\n 0,\n 2,\n 4\n ].map(function(i) {\n var c = Number.parseInt(full.slice(i, i + 2), 16) / 255;\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n });\n var luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n var contrastWhite = 1.05 / (luminance + 0.05);\n var contrastBlack = (luminance + 0.05) / 0.05;\n return contrastWhite >= contrastBlack ? \"#ffffff\" : \"#000000\";\n}\nfunction getMonthDays(date, firstDayOfWeek) {\n var year = date.getFullYear();\n var month = date.getMonth();\n var firstDay = new Date(year, month, 1);\n var lastDay = new Date(year, month + 1, 0);\n var startOffset = firstDay.getDay() - firstDayOfWeek;\n if (startOffset < 0) startOffset += 7;\n var totalDays = startOffset + lastDay.getDate();\n var totalRows = Math.ceil(totalDays / 7);\n var totalCells = totalRows * 7;\n var days = [];\n for (var i = 0; i < totalCells; i++) {\n days.push(new Date(year, month, 1 - startOffset + i));\n }\n return days;\n}\nfunction getWeekDays(date, firstDayOfWeek) {\n var days = [];\n var dayOfWeek = date.getDay();\n var startOffset = dayOfWeek - firstDayOfWeek;\n if (startOffset < 0) startOffset += 7;\n var startDate = new Date(date);\n startDate.setDate(date.getDate() - startOffset);\n for (var i = 0; i < 7; i++) {\n var day = new Date(startDate);\n day.setDate(startDate.getDate() + i);\n days.push(day);\n }\n return days;\n}\nfunction formatDateKey(date) {\n return formatCalendarDate(date);\n}\nfunction addMonths(date, delta) {\n var next = new Date(date);\n next.setDate(1);\n next.setMonth(next.getMonth() + delta);\n var lastDay = new Date(next.getFullYear(), next.getMonth() + 1, 0).getDate();\n next.setDate(Math.min(date.getDate(), lastDay));\n return next;\n}\nfunction isSameDay(d1, d2) {\n return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();\n}\nfunction isToday(date) {\n return isSameDay(date, /* @__PURE__ */ new Date());\n}\nvar MS_PER_DAY = 864e5;\nfunction computeEventMoveRange(event, targetDay) {\n var startOfDay = function startOfDay2(d) {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate());\n };\n var dayDelta = Math.round((startOfDay(targetDay).getTime() - startOfDay(event.start).getTime()) / MS_PER_DAY);\n var shiftDays = function shiftDays2(d) {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate() + dayDelta, d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());\n };\n var start = shiftDays(event.start);\n var end = event.end ? shiftDays(event.end) : new Date(start.getTime());\n return {\n start,\n end\n };\n}\nfunction findDayKeyAtPoint(pageX, pageY, layouts) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layouts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layout = _step.value;\n if (pageX >= layout.x && pageX < layout.x + layout.width && pageY >= layout.y && pageY < layout.y + layout.height) {\n return layout.key;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return null;\n}\nfunction measureDayLayouts(refs, cb) {\n var entries = [\n ...refs.entries()\n ];\n if (entries.length === 0) {\n cb([]);\n return;\n }\n var layouts = [];\n var remaining = entries.length;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var [key, node] = _step.value;\n if (typeof node.measureInWindow !== \"function\") {\n if (--remaining === 0) cb(layouts);\n return \"continue\";\n }\n node.measureInWindow(function(x, y, width, height) {\n layouts.push({\n key,\n x,\n y,\n width,\n height\n });\n if (--remaining === 0) cb(layouts);\n });\n };\n for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction dayKeyToDate(key) {\n var [ty, tm, td] = key.split(\"-\").map(Number);\n return new Date(ty, tm - 1, td);\n}\nfunction dateAtMinutes(day, minutes) {\n return new Date(day.getFullYear(), day.getMonth(), day.getDate(), 0, minutes);\n}\nfunction isTimedEvent(event) {\n return event.end !== void 0 && event.end.getTime() > event.start.getTime() && isSameDay(event.start, event.end) && event.allDay !== true;\n}\nvar DRAG_THRESHOLD_PX = 4;\nvar TOUCH_LONG_PRESS_MS = 300;\nvar TOUCH_SLOP_PX = 8;\nvar LIFT_SHADOW = \"0px 8px 28px rgba(0,0,0,0.18), 0px 2px 6px rgba(0,0,0,0.08)\";\nvar MIN_BLOCK_PX = 18;\nvar RESIZE_ZONE_PX = MIN_PRESS_TARGET;\nvar MONTH_CHIP_MIN_PX = 24;\nfunction DayNumberDisc(param) {\n var { date, today, inMonth, focused, onAccent, nestedPx, nestedHitSlop, nestedBox, label } = param;\n var { knobProps } = useResolvedKnobs();\n return /* @__PURE__ */ _jsx(YStack, {\n ...nestedBox,\n flexShrink: 0,\n borderRadius: nestedPx / 2,\n ...radiusClassProps(\"R-PILL\", \"Calendar today marker\"),\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: today ? \"$accentBackground\" : \"transparent\",\n hitSlop: nestedHitSlop,\n ...focused && wasKeyboardFocus() ? keyboardFocusRingProps : {\n outlineWidth: 0\n },\n ...today && {\n \"data-calendar-today\": \"true\"\n },\n ...{\n \"data-nested-px\": nestedPx,\n \"data-calendar-day-disc\": \"true\"\n },\n children: /* @__PURE__ */ _jsx(Text, {\n ...label,\n fontWeight: today ? \"700\" : label.fontWeight,\n color: today ? onAccent !== null && onAccent !== void 0 ? onAccent : \"$accentColor\" : inMonth ? \"$color\" : knobProps.textAccentColor,\n textAlign: \"center\",\n children: date.getDate()\n })\n });\n}\nfunction getHours() {\n return Array.from({\n length: 24\n }, function(_, i) {\n return i;\n });\n}\nfunction formatHour(hour) {\n return formatTimeOfDay(new Date(2e3, 0, 1, hour, 0, 0), {\n minutes: false\n });\n}\nvar weekdayNames = getWeekdayNames();\nvar monthNames = getMonthNames();\nvar hours = getHours();\nfunction startWebPointerSession(options) {\n var _options_thresholdPx;\n var threshold = (_options_thresholdPx = options.thresholdPx) !== null && _options_thresholdPx !== void 0 ? _options_thresholdPx : DRAG_THRESHOLD_PX;\n var isTouch = options.pointerType === \"touch\";\n var active = false;\n var ended = false;\n var escaped = false;\n var liftArmed = !isTouch;\n var last = {\n x: options.startX,\n y: options.startY\n };\n var prevUserSelect = \"\";\n var longPressTimer = null;\n var preventTouchScroll = function preventTouchScroll2(te) {\n if (active) te.preventDefault();\n };\n var activate = function activate2(pt) {\n if (active) return;\n active = true;\n prevUserSelect = document.body.style.userSelect;\n document.body.style.userSelect = \"none\";\n options.onActivate(pt);\n };\n var teardown = function teardown2() {\n var _options_onSettled;\n if (ended) return;\n ended = true;\n if (longPressTimer) clearTimeout(longPressTimer);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"keydown\", onKey, true);\n window.removeEventListener(\"touchmove\", preventTouchScroll);\n if (active) document.body.style.userSelect = prevUserSelect;\n (_options_onSettled = options.onSettled) === null || _options_onSettled === void 0 ? void 0 : _options_onSettled.call(options, active, escaped);\n };\n var onMove = function onMove2(me) {\n last = {\n x: me.clientX,\n y: me.clientY\n };\n if (!active) {\n var travel = Math.hypot(me.clientX - options.startX, me.clientY - options.startY);\n if (isTouch && !liftArmed) {\n if (travel > TOUCH_SLOP_PX) teardown();\n return;\n }\n if (travel < threshold) return;\n activate(last);\n }\n options.onMove(last);\n };\n var onUp = function onUp2(ue) {\n var _options_onTapInstead;\n last = {\n x: ue.clientX,\n y: ue.clientY\n };\n var wasActive = active;\n teardown();\n if (wasActive) options.onCommit(last);\n else (_options_onTapInstead = options.onTapInstead) === null || _options_onTapInstead === void 0 ? void 0 : _options_onTapInstead.call(options);\n };\n var onKey = function onKey2(ke) {\n if (ke.key !== \"Escape\" || !active) return;\n ke.stopPropagation();\n escaped = true;\n var cancel = options.onCancel;\n teardown();\n cancel();\n };\n if (isTouch) {\n longPressTimer = setTimeout(function() {\n liftArmed = true;\n activate(last);\n }, TOUCH_LONG_PRESS_MS);\n window.addEventListener(\"touchmove\", preventTouchScroll, {\n passive: false\n });\n }\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"keydown\", onKey, true);\n return teardown;\n}\nfunction NowIndicator(param) {\n var { hourHeight } = param;\n var [now, setNow] = useState(function() {\n return /* @__PURE__ */ new Date();\n });\n var isRTL = useDirection() === \"rtl\";\n useEffect(function() {\n var id = setInterval(function() {\n return setNow(/* @__PURE__ */ new Date());\n }, 6e4);\n return function() {\n return clearInterval(id);\n };\n }, []);\n var y = minutesToY(minutesOfDay(now), hourHeight);\n return /* @__PURE__ */ _jsx(XStack, {\n position: \"absolute\",\n left: 0,\n right: 0,\n top: y - 1,\n height: 2,\n backgroundColor: \"$accentBackground\",\n pointerEvents: \"none\",\n zIndex: 3,\n \"data-calendar-now\": \"true\",\n children: /* @__PURE__ */ _jsx(YStack, {\n ...radiusClassProps(\"R-PILL\", \"Calendar now-marker dot\"),\n position: \"absolute\",\n ...isRTL ? {\n right: -3\n } : {\n left: -3\n },\n top: -3,\n width: 8,\n height: 8,\n borderRadius: 4,\n backgroundColor: \"$accentBackground\"\n })\n });\n}\nfunction SettleGhost(param) {\n var { settle, transition, borderRadius, onDone } = param;\n var [moved, setMoved] = useState(false);\n useEffect(function() {\n var raf2 = 0;\n var raf1 = requestAnimationFrame(function() {\n raf2 = requestAnimationFrame(function() {\n return setMoved(true);\n });\n });\n var timer = setTimeout(onDone, 480);\n return function() {\n cancelAnimationFrame(raf1);\n cancelAnimationFrame(raf2);\n clearTimeout(timer);\n };\n }, [\n onDone\n ]);\n return /* @__PURE__ */ _jsx(YStack, {\n pointerEvents: \"none\",\n ...borderRadius,\n backgroundColor: settle.color || \"$accentBackground\",\n padding: \"$1\",\n transition,\n x: moved ? settle.to.x - settle.from.x : 0,\n y: moved ? settle.to.y - settle.from.y : 0,\n scale: moved ? 1 : 1.03,\n opacity: moved ? 0.6 : 0.95,\n ...{\n \"data-calendar-settle-ghost\": \"true\",\n style: {\n position: \"fixed\",\n left: settle.from.x,\n top: settle.from.y,\n zIndex: zIndex.sheet,\n maxWidth: 220,\n boxShadow: LIFT_SHADOW\n }\n },\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$2\",\n numberOfLines: 1,\n color: eventChipTextColor(settle.color),\n children: settle.title\n })\n });\n}\nvar CalendarSlide = styled(YStack, {\n variants: {\n fromStart: {\n true: {\n x: -24,\n opacity: 0\n }\n },\n fromEnd: {\n true: {\n x: 24,\n opacity: 0\n }\n },\n fade: {\n true: {\n opacity: 0\n }\n }\n }\n});\nfunction Calendar(param) {\n var { events, renderEvent, onDateSelect, onEventClick, onEventMove, onEventResize, onEventCreate, enableEventDrag, viewType: initialViewType = \"month\", initialDate, height = 600, showNavigation = true, showViewSwitcher = true, firstDayOfWeek = 0, slotMinutes = 30, ...stackProps } = param;\n var { t } = useTranslation();\n var { knobProps } = useResolvedKnobs();\n var { knobProps: nestedKnobs } = useResolvedKnobs({\n compact: true\n });\n var { px: nestedPx, hitSlop: nestedHitSlop, ...nestedBox } = nestedKnobs.nestedControl;\n var onAccent = useReadableTextOn(\"$accentBackground\");\n var calendarId = useId();\n var isRTL = useDirection() === \"rtl\";\n var [currentDate, setCurrentDate] = useState(initialDate !== null && initialDate !== void 0 ? initialDate : /* @__PURE__ */ new Date());\n var [view, setView] = useState(initialViewType);\n var sz = knobProps.sizeToken;\n var hourHeight = sz === \"$3\" ? 48 : sz === \"$5\" ? 80 : 64;\n var monthCellMinHeight = sz === \"$3\" ? 64 : sz === \"$5\" ? 96 : 76;\n var space = knobProps.space;\n var cellPad = space === \"small\" ? 2 : space === \"large\" ? 7 : 4;\n var chipGap = space === \"small\" ? 2 : space === \"large\" ? 5 : 3;\n var monthRowHardFloor = cellPad * 2 + nestedPx + chipGap + MONTH_CHIP_MIN_PX;\n var [monthBodyHeight, setMonthBodyHeight] = useState(0);\n var overlayInset = isRTL ? {\n left: 2,\n right: 0\n } : {\n left: 0,\n right: 2\n };\n var transition = knobProps.transition;\n var webLayoutTransition = isWeb ? transition : void 0;\n var navDirectionRef = useRef(0);\n var hasNavigatedRef = useRef(false);\n var periodKey = view === \"month\" ? `${currentDate.getFullYear()}-${currentDate.getMonth()}` : view === \"week\" ? formatDateKey(getWeekDays(currentDate, firstDayOfWeek)[0]) : formatDateKey(currentDate);\n var motionKey = `${view}:${periodKey}`;\n var dragEnabled = enableEventDrag !== null && enableEventDrag !== void 0 ? enableEventDrag : onEventMove !== void 0;\n var hasDom = isWeb && typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var webDragEnabled = dragEnabled && hasDom;\n var nativeDragEnabled = dragEnabled && !isWeb;\n var webResizeEnabled = onEventResize !== void 0 && hasDom;\n var webCreateEnabled = onEventCreate !== void 0 && hasDom;\n var [dragGhost, setDragGhost] = useState(null);\n var [dropTargetKey, setDropTargetKey] = useState(null);\n var [slotTarget, setSlotTarget] = useState(null);\n var [settle, setSettle] = useState(null);\n var [resizePreview, setResizePreview] = useState(null);\n var [createDraft, setCreateDraft] = useState(null);\n var [editorState, setEditorState] = useState(null);\n var [draftTitle, setDraftTitle] = useState(\"\");\n var [overflowDayKey, setOverflowDayKey] = useState(null);\n var [scrollLocked, setScrollLocked] = useState(false);\n var [draggingEventId, setDraggingEventId] = useState(null);\n var suppressClickRef = useRef(false);\n var dragSessionCleanupRef = useRef(null);\n var slotTargetRef = useRef(null);\n var resizePreviewRef = useRef(null);\n var editorStateRef = useRef(null);\n var draftTitleRef = useRef(\"\");\n var dayRefs = useRef(/* @__PURE__ */ new Map());\n var containerNodeRef = useRef(null);\n var containerOffsetRef = useRef({\n x: 0,\n y: 0\n });\n var nativeSessionRef = useRef(null);\n slotTargetRef.current = slotTarget;\n resizePreviewRef.current = resizePreview;\n editorStateRef.current = editorState;\n draftTitleRef.current = draftTitle;\n var registerDayRef = useCallback(function(key, node) {\n if (node) dayRefs.current.set(key, node);\n else dayRefs.current.delete(key);\n }, []);\n var refreshContainerOffset = useCallback(function() {\n var _containerNodeRef_current_measureInWindow, _containerNodeRef_current;\n (_containerNodeRef_current = containerNodeRef.current) === null || _containerNodeRef_current === void 0 ? void 0 : (_containerNodeRef_current_measureInWindow = _containerNodeRef_current.measureInWindow) === null || _containerNodeRef_current_measureInWindow === void 0 ? void 0 : _containerNodeRef_current_measureInWindow.call(_containerNodeRef_current, function(x, y) {\n containerOffsetRef.current = {\n x,\n y\n };\n });\n }, []);\n useEffect(function() {\n return function() {\n var _dragSessionCleanupRef_current;\n return (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n };\n }, []);\n var clearSettle = useCallback(function() {\n return setSettle(null);\n }, []);\n var suppressNextClick = useCallback(function() {\n suppressClickRef.current = true;\n setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }, []);\n var beginSettle = useCallback(function(event, from, to) {\n if (!transition || !hasDom) return;\n setSettle({\n key: Date.now(),\n title: event.title,\n color: event.color,\n from,\n to\n });\n }, [\n transition,\n hasDom\n ]);\n var commitMoveToKey = useCallback(function(event, key) {\n if (!key) return;\n var targetDay = dayKeyToDate(key);\n if (!isSameDay(targetDay, event.start)) {\n onEventMove === null || onEventMove === void 0 ? void 0 : onEventMove(event, computeEventMoveRange(event, targetDay));\n }\n }, [\n onEventMove\n ]);\n var handleEventPointerDown = useCallback(function(event, e, mode) {\n var _ref;\n var _e_stopPropagation, _dragSessionCleanupRef_current, _chipEl_getBoundingClientRect;\n if (!webDragEnabled) return;\n if (e.button !== void 0 && e.button !== 0) return;\n (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n var chipEl = e.currentTarget;\n var originRect = (_ref = chipEl === null || chipEl === void 0 ? void 0 : (_chipEl_getBoundingClientRect = chipEl.getBoundingClientRect) === null || _chipEl_getBoundingClientRect === void 0 ? void 0 : _chipEl_getBoundingClientRect.call(chipEl)) !== null && _ref !== void 0 ? _ref : null;\n var durationMin = event.end ? Math.max(slotMinutes, (event.end.getTime() - event.start.getTime()) / 6e4) : slotMinutes;\n var grabOffsetMin = mode === \"slot\" && originRect ? yToMinutes(e.clientY - originRect.top, hourHeight) : 0;\n var findDayKey = function findDayKey2(x, y) {\n var _ref2;\n var _document_elementFromPoint, _document, _el_closest;\n var el = (_document_elementFromPoint = (_document = document).elementFromPoint) === null || _document_elementFromPoint === void 0 ? void 0 : _document_elementFromPoint.call(_document, x, y);\n var dayEl = el === null || el === void 0 ? void 0 : (_el_closest = el.closest) === null || _el_closest === void 0 ? void 0 : _el_closest.call(el, \"[data-calendar-day]\");\n return (_ref2 = dayEl === null || dayEl === void 0 ? void 0 : dayEl.getAttribute(\"data-calendar-day\")) !== null && _ref2 !== void 0 ? _ref2 : null;\n };\n var findSlotTarget = function findSlotTarget2(x, y) {\n var _document_elementFromPoint, _document, _el_closest;\n var el = (_document_elementFromPoint = (_document = document).elementFromPoint) === null || _document_elementFromPoint === void 0 ? void 0 : _document_elementFromPoint.call(_document, x, y);\n var colEl = el === null || el === void 0 ? void 0 : (_el_closest = el.closest) === null || _el_closest === void 0 ? void 0 : _el_closest.call(el, \"[data-calendar-timecol]\");\n if (!colEl) return null;\n var dayKey = colEl.getAttribute(\"data-calendar-timecol\");\n if (!dayKey) return null;\n var rect = colEl.getBoundingClientRect();\n var raw = yToMinutes(y - rect.top, hourHeight) - grabOffsetMin;\n var startMin = Math.max(0, Math.min(MINUTES_PER_DAY - durationMin, snapMinutes(raw, slotMinutes, \"round\")));\n return {\n dayKey,\n startMin,\n durationMin,\n rect\n };\n };\n var endVisuals = function endVisuals2() {\n setDragGhost(null);\n setDropTargetKey(null);\n setSlotTarget(null);\n setDraggingEventId(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n };\n var lastPoint = {\n x: e.clientX,\n y: e.clientY\n };\n var cleanup = startWebPointerSession({\n pointerType: e.pointerType,\n startX: e.clientX,\n startY: e.clientY,\n onActivate: function onActivate(pt) {\n lastPoint = pt;\n setDraggingEventId(event.id);\n setScrollLocked(true);\n setDragGhost({\n event,\n x: pt.x,\n y: pt.y\n });\n },\n onMove: function onMove(pt) {\n lastPoint = pt;\n setDragGhost({\n event,\n x: pt.x,\n y: pt.y\n });\n if (mode === \"slot\") {\n var target = findSlotTarget(pt.x, pt.y);\n setSlotTarget(target ? {\n dayKey: target.dayKey,\n startMin: target.startMin,\n durationMin\n } : null);\n setDropTargetKey(target ? null : findDayKey(pt.x, pt.y));\n } else {\n setDropTargetKey(findDayKey(pt.x, pt.y));\n }\n },\n onCommit: function onCommit(pt) {\n endVisuals();\n suppressNextClick();\n var ghostFrom = {\n x: pt.x + 12,\n y: pt.y + 12\n };\n if (mode === \"slot\") {\n var target = findSlotTarget(pt.x, pt.y);\n if (target) {\n var targetDay = dayKeyToDate(target.dayKey);\n var range = moveRangeToSlot(event, targetDay, target.startMin);\n if (range.start.getTime() !== event.start.getTime()) {\n onEventMove === null || onEventMove === void 0 ? void 0 : onEventMove(event, range);\n }\n beginSettle(event, ghostFrom, {\n x: target.rect.left + 2,\n y: target.rect.top + minutesToY(target.startMin, hourHeight)\n });\n return;\n }\n }\n var dayKey = findDayKey(pt.x, pt.y);\n if (dayKey) {\n var _cellEl_getBoundingClientRect;\n commitMoveToKey(event, dayKey);\n var cellEl = document.querySelector(`[data-calendar-day=\"${dayKey}\"]`);\n var rect = cellEl === null || cellEl === void 0 ? void 0 : (_cellEl_getBoundingClientRect = cellEl.getBoundingClientRect) === null || _cellEl_getBoundingClientRect === void 0 ? void 0 : _cellEl_getBoundingClientRect.call(cellEl);\n if (rect) beginSettle(event, ghostFrom, {\n x: rect.left + 4,\n y: rect.top + 24\n });\n return;\n }\n if (originRect) beginSettle(event, ghostFrom, {\n x: originRect.left,\n y: originRect.top\n });\n },\n onCancel: function onCancel() {\n var ghost = {\n x: lastPoint.x + 12,\n y: lastPoint.y + 12\n };\n endVisuals();\n suppressClickRef.current = true;\n window.addEventListener(\"pointerup\", function() {\n return setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }, {\n once: true\n });\n if (originRect) {\n beginSettle(event, ghost, {\n x: originRect.left,\n y: originRect.top\n });\n }\n },\n onSettled: function onSettled(activated) {\n if (!activated) {\n endVisuals();\n }\n }\n });\n dragSessionCleanupRef.current = cleanup;\n }, [\n webDragEnabled,\n slotMinutes,\n hourHeight,\n onEventMove,\n commitMoveToKey,\n beginSettle,\n suppressNextClick\n ]);\n var handleResizePointerDown = useCallback(function(event, edge, e) {\n var _e_stopPropagation, _dragSessionCleanupRef_current, _handleEl_closest, _colEl_getBoundingClientRect;\n if (!webResizeEnabled) return;\n if (e.button !== void 0 && e.button !== 0) return;\n (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n var handleEl = e.currentTarget;\n var colEl = handleEl === null || handleEl === void 0 ? void 0 : (_handleEl_closest = handleEl.closest) === null || _handleEl_closest === void 0 ? void 0 : _handleEl_closest.call(handleEl, \"[data-calendar-timecol]\");\n var colRect = colEl === null || colEl === void 0 ? void 0 : (_colEl_getBoundingClientRect = colEl.getBoundingClientRect) === null || _colEl_getBoundingClientRect === void 0 ? void 0 : _colEl_getBoundingClientRect.call(colEl);\n if (!colRect) return;\n var applyPreview = function applyPreview2(pt) {\n var raw = yToMinutes(pt.y - colRect.top, hourHeight);\n var range = computeResizeRange(event, edge, raw, slotMinutes);\n setResizePreview({\n id: event.id,\n start: range.start,\n end: range.end\n });\n };\n var cleanup = startWebPointerSession({\n pointerType: e.pointerType,\n startX: e.clientX,\n startY: e.clientY,\n thresholdPx: 1,\n onActivate: function onActivate(pt) {\n setScrollLocked(true);\n applyPreview(pt);\n },\n onMove: applyPreview,\n onCommit: function onCommit() {\n var _event_end;\n var preview = resizePreviewRef.current;\n setResizePreview(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n suppressNextClick();\n if (!preview) return;\n var prevEnd = (_event_end = event.end) !== null && _event_end !== void 0 ? _event_end : event.start;\n if (preview.start.getTime() !== event.start.getTime() || preview.end.getTime() !== prevEnd.getTime()) {\n onEventResize === null || onEventResize === void 0 ? void 0 : onEventResize(event, {\n start: preview.start,\n end: preview.end\n });\n }\n },\n onCancel: function onCancel() {\n setResizePreview(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n suppressClickRef.current = true;\n window.addEventListener(\"pointerup\", function() {\n return setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }, {\n once: true\n });\n },\n onSettled: function onSettled(activated) {\n if (!activated) {\n setResizePreview(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n }\n }\n });\n dragSessionCleanupRef.current = cleanup;\n }, [\n webResizeEnabled,\n hourHeight,\n slotMinutes,\n onEventResize,\n suppressNextClick\n ]);\n var openEditor = useCallback(function(dayKey, range) {\n setCreateDraft(null);\n setDraftTitle(\"\");\n setEditorState({\n dayKey,\n start: range.start,\n end: range.end\n });\n }, []);\n var commitEditor = useCallback(function() {\n var state = editorStateRef.current;\n if (!state) return;\n setEditorState(null);\n setCreateDraft(null);\n setDraftTitle(\"\");\n onEventCreate === null || onEventCreate === void 0 ? void 0 : onEventCreate({\n title: draftTitleRef.current.trim() || t(\"New event\"),\n start: state.start,\n end: state.end\n });\n }, [\n onEventCreate,\n t\n ]);\n var handleGridPointerDown = useCallback(function(day, e) {\n var _dragSessionCleanupRef_current, _colEl_getBoundingClientRect;\n if (!hasDom) return;\n if (e.button !== void 0 && e.button !== 0) return;\n if (editorStateRef.current) return;\n (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n var colEl = e.currentTarget;\n var colRect = colEl === null || colEl === void 0 ? void 0 : (_colEl_getBoundingClientRect = colEl.getBoundingClientRect) === null || _colEl_getBoundingClientRect === void 0 ? void 0 : _colEl_getBoundingClientRect.call(colEl);\n if (!colRect) return;\n var dayKey = formatDateKey(day);\n var anchorRaw = yToMinutes(e.clientY - colRect.top, hourHeight);\n var created = false;\n var lastRange = null;\n var cleanup = startWebPointerSession({\n pointerType: e.pointerType,\n startX: e.clientX,\n startY: e.clientY,\n onActivate: function onActivate(pt) {\n if (!webCreateEnabled) return;\n created = true;\n setScrollLocked(true);\n var raw = yToMinutes(pt.y - colRect.top, hourHeight);\n var range = createRangeFromDrag(day, anchorRaw, raw, slotMinutes);\n lastRange = range;\n setCreateDraft({\n dayKey,\n start: range.start,\n end: range.end\n });\n },\n onMove: function onMove(pt) {\n if (!webCreateEnabled) return;\n var raw = yToMinutes(pt.y - colRect.top, hourHeight);\n var range = createRangeFromDrag(day, anchorRaw, raw, slotMinutes);\n lastRange = range;\n setCreateDraft({\n dayKey,\n start: range.start,\n end: range.end\n });\n },\n onCommit: function onCommit() {\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n suppressNextClick();\n if (!created) return;\n var range = lastRange !== null && lastRange !== void 0 ? lastRange : createRangeFromDrag(day, anchorRaw, anchorRaw, slotMinutes);\n setTimeout(function() {\n return openEditor(dayKey, range);\n }, 0);\n },\n onCancel: function onCancel() {\n setCreateDraft(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n },\n onTapInstead: function onTapInstead() {\n dragSessionCleanupRef.current = null;\n if (suppressClickRef.current) return;\n var startMin = snapMinutes(anchorRaw, slotMinutes, \"floor\");\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(dateAtMinutes(day, startMin));\n },\n onSettled: function onSettled(activated) {\n if (!activated) dragSessionCleanupRef.current = null;\n }\n });\n dragSessionCleanupRef.current = cleanup;\n }, [\n hasDom,\n webCreateEnabled,\n hourHeight,\n slotMinutes,\n onDateSelect,\n openEditor,\n suppressNextClick\n ]);\n var endNativeSession = useCallback(function(opts) {\n var session = nativeSessionRef.current;\n nativeSessionRef.current = null;\n setScrollLocked(false);\n setDragGhost(null);\n setDropTargetKey(null);\n setDraggingEventId(null);\n if (!(session === null || session === void 0 ? void 0 : session.dragging)) return;\n suppressClickRef.current = true;\n setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n if (!opts.commit || opts.pageX === void 0 || opts.pageY === void 0) return;\n measureDayLayouts(dayRefs.current, function(layouts) {\n var _findDayKeyAtPoint;\n var key = (_findDayKeyAtPoint = findDayKeyAtPoint(opts.pageX, opts.pageY, layouts)) !== null && _findDayKeyAtPoint !== void 0 ? _findDayKeyAtPoint : findDayKeyAtPoint(opts.pageX, opts.pageY, session.layouts);\n commitMoveToKey(session.event, key);\n });\n }, [\n commitMoveToKey\n ]);\n var handleNativeGrant = useCallback(function(event, e) {\n var _ref, _ref1;\n var _e_nativeEvent, _e_nativeEvent1;\n if (!nativeDragEnabled) return;\n var pageX = (_ref = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pageX) !== null && _ref !== void 0 ? _ref : 0;\n var pageY = (_ref1 = (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.pageY) !== null && _ref1 !== void 0 ? _ref1 : 0;\n nativeSessionRef.current = {\n event,\n startX: pageX,\n startY: pageY,\n dragging: false,\n layouts: []\n };\n }, [\n nativeDragEnabled\n ]);\n var handleNativeMove = useCallback(function(e) {\n var _ref, _ref1;\n var _e_nativeEvent, _e_nativeEvent1;\n var session = nativeSessionRef.current;\n if (!session) return;\n var pageX = (_ref = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pageX) !== null && _ref !== void 0 ? _ref : 0;\n var pageY = (_ref1 = (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.pageY) !== null && _ref1 !== void 0 ? _ref1 : 0;\n if (!session.dragging) {\n if (Math.hypot(pageX - session.startX, pageY - session.startY) < DRAG_THRESHOLD_PX) return;\n session.dragging = true;\n setScrollLocked(true);\n setDraggingEventId(session.event.id);\n refreshContainerOffset();\n measureDayLayouts(dayRefs.current, function(layouts) {\n if (nativeSessionRef.current) nativeSessionRef.current.layouts = layouts;\n });\n }\n setDragGhost({\n event: session.event,\n x: pageX - containerOffsetRef.current.x + 12,\n y: pageY - containerOffsetRef.current.y + 12\n });\n setDropTargetKey(findDayKeyAtPoint(pageX, pageY, session.layouts));\n }, [\n refreshContainerOffset\n ]);\n var handleNativeRelease = useCallback(function(e) {\n var _e_nativeEvent, _e_nativeEvent1;\n var session = nativeSessionRef.current;\n if (!session) return;\n if (!session.dragging) {\n nativeSessionRef.current = null;\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(session.event);\n return;\n }\n endNativeSession({\n commit: true,\n pageX: (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pageX,\n pageY: (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.pageY\n });\n }, [\n endNativeSession,\n onEventClick\n ]);\n var handleNativeTerminate = useCallback(function() {\n endNativeSession({\n commit: false\n });\n }, [\n endNativeSession\n ]);\n var getEventDragProps = useCallback(function(event) {\n var mode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"day\";\n var base = {\n \"data-calendar-event\": event.id\n };\n if (webDragEnabled) {\n return {\n ...base,\n onPointerDown: function onPointerDown(e) {\n return handleEventPointerDown(event, e, mode);\n }\n };\n }\n if (nativeDragEnabled) {\n return {\n ...base,\n // Claim the touch so moves continue outside the chip (ScrollView-safe once dragging).\n onStartShouldSetResponder: function onStartShouldSetResponder() {\n return true;\n },\n onMoveShouldSetResponder: function onMoveShouldSetResponder() {\n return true;\n },\n onResponderTerminationRequest: function onResponderTerminationRequest() {\n var _nativeSessionRef_current;\n return !((_nativeSessionRef_current = nativeSessionRef.current) === null || _nativeSessionRef_current === void 0 ? void 0 : _nativeSessionRef_current.dragging);\n },\n onResponderGrant: function onResponderGrant(e) {\n return handleNativeGrant(event, e);\n },\n onResponderMove: handleNativeMove,\n onResponderRelease: handleNativeRelease,\n onResponderTerminate: handleNativeTerminate\n };\n }\n return base;\n }, [\n webDragEnabled,\n nativeDragEnabled,\n handleEventPointerDown,\n handleNativeGrant,\n handleNativeMove,\n handleNativeRelease,\n handleNativeTerminate\n ]);\n var eventsByDate = useMemo(function() {\n var grouped = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = events[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var event = _step.value;\n var key = formatDateKey(event.start);\n if (!grouped[key]) grouped[key] = [];\n grouped[key].push(event);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return grouped;\n }, [\n events\n ]);\n var goToPrevious = useCallback(function() {\n navDirectionRef.current = -1;\n hasNavigatedRef.current = true;\n setCurrentDate(function(prev) {\n if (view === \"month\") return addMonths(prev, -1);\n var next = new Date(prev);\n if (view === \"week\") next.setDate(prev.getDate() - 7);\n else next.setDate(prev.getDate() - 1);\n return next;\n });\n }, [\n view\n ]);\n var goToNext = useCallback(function() {\n navDirectionRef.current = 1;\n hasNavigatedRef.current = true;\n setCurrentDate(function(prev) {\n if (view === \"month\") return addMonths(prev, 1);\n var next = new Date(prev);\n if (view === \"week\") next.setDate(prev.getDate() + 7);\n else next.setDate(prev.getDate() + 1);\n return next;\n });\n }, [\n view\n ]);\n var goToToday = useCallback(function() {\n navDirectionRef.current = 0;\n hasNavigatedRef.current = true;\n setCurrentDate(/* @__PURE__ */ new Date());\n }, []);\n var changeView = useCallback(function(next) {\n navDirectionRef.current = 0;\n hasNavigatedRef.current = true;\n setView(next);\n }, []);\n var displayTitle = useMemo(function() {\n if (view === \"month\") {\n return `${monthNames[currentDate.getMonth()]} ${currentDate.getFullYear()}`;\n }\n if (view === \"week\") {\n var weekDays = getWeekDays(currentDate, firstDayOfWeek);\n var start = weekDays[0];\n var end = weekDays[6];\n if (start.getMonth() === end.getMonth()) {\n return `${monthNames[start.getMonth()]} ${start.getDate()} - ${end.getDate()}, ${start.getFullYear()}`;\n }\n return `${monthNames[start.getMonth()]} ${start.getDate()} - ${monthNames[end.getMonth()]} ${end.getDate()}, ${end.getFullYear()}`;\n }\n return `${weekdayNames[currentDate.getDay()]}, ${monthNames[currentDate.getMonth()]} ${currentDate.getDate()}, ${currentDate.getFullYear()}`;\n }, [\n currentDate,\n view,\n firstDayOfWeek\n ]);\n var [focusedDate, setFocusedDate] = useState(null);\n var [focusedSlotMin, setFocusedSlotMin] = useState(9 * 60);\n var [announcement, setAnnouncement] = useState(\"\");\n if (typeof document !== \"undefined\") ensureKeyboardModalityTracking();\n var handleBodyFocus = useCallback(function() {\n if (!wasKeyboardFocus()) return;\n setFocusedDate(function(prev) {\n return prev !== null && prev !== void 0 ? prev : currentDate;\n });\n }, [\n currentDate\n ]);\n useEffect(function() {\n if (hasNavigatedRef.current) setAnnouncement(displayTitle);\n }, [\n displayTitle\n ]);\n var focusedDayKey = focusedDate ? formatDateKey(focusedDate) : null;\n var focusCellId = focusedDayKey ? view === \"month\" ? `${calendarId}-day-${focusedDayKey}` : `${calendarId}-slot-cursor` : void 0;\n var handleBodyKeyDown = useCallback(function(e) {\n if (editorStateRef.current) return;\n var key = e.key;\n var arrows = [\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\"\n ];\n if (arrows.includes(key)) {\n var _e_preventDefault;\n (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);\n var base = focusedDate !== null && focusedDate !== void 0 ? focusedDate : currentDate;\n if (!focusedDate) {\n setFocusedDate(base);\n setAnnouncement(formatDayLong(base));\n return;\n }\n if (view !== \"month\" && (key === \"ArrowUp\" || key === \"ArrowDown\")) {\n var nextMin = moveFocusSlot(focusedSlotMin, key, slotMinutes);\n setFocusedSlotMin(nextMin);\n setAnnouncement(`${formatDayLong(base)}, ${formatTimeRangeLabel(dateAtMinutes(base, nextMin), dateAtMinutes(base, nextMin + slotMinutes))}`);\n return;\n }\n var logicalKey = isRTL && key === \"ArrowLeft\" ? \"ArrowRight\" : isRTL && key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n var next = moveFocusDate(base, logicalKey, view);\n setFocusedDate(next);\n setAnnouncement(formatDayLong(next));\n var delta = next.getTime() - base.getTime();\n if (view === \"month\" && next.getMonth() !== currentDate.getMonth()) {\n navDirectionRef.current = delta > 0 ? 1 : -1;\n hasNavigatedRef.current = true;\n setCurrentDate(next);\n } else if (view === \"week\") {\n var visible = getWeekDays(currentDate, firstDayOfWeek).map(formatDateKey);\n if (!visible.includes(formatDateKey(next))) {\n navDirectionRef.current = delta > 0 ? 1 : -1;\n hasNavigatedRef.current = true;\n setCurrentDate(next);\n }\n } else if (view === \"day\" && !isSameDay(next, currentDate)) {\n navDirectionRef.current = delta > 0 ? 1 : -1;\n hasNavigatedRef.current = true;\n setCurrentDate(next);\n }\n return;\n }\n if (key === \"Enter\" && focusedDate) {\n var _e_preventDefault1;\n (_e_preventDefault1 = e.preventDefault) === null || _e_preventDefault1 === void 0 ? void 0 : _e_preventDefault1.call(e);\n if (view === \"month\") {\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(focusedDate);\n return;\n }\n var start = dateAtMinutes(focusedDate, focusedSlotMin);\n if (onEventCreate) {\n openEditor(formatDateKey(focusedDate), {\n start,\n end: dateAtMinutes(focusedDate, focusedSlotMin + slotMinutes)\n });\n } else {\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(start);\n }\n }\n }, [\n focusedDate,\n currentDate,\n view,\n focusedSlotMin,\n slotMinutes,\n firstDayOfWeek,\n isRTL,\n onDateSelect,\n onEventCreate,\n openEditor\n ]);\n var eventA11yProps = useCallback(function(event) {\n return {\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": eventAccessibleLabel(event),\n outlineWidth: 0,\n focusStyle: {\n outlineWidth: 0\n },\n focusVisibleStyle: ensureFocusVisibleRing({\n outlineOffset: -2\n }),\n onKeyDown: function onKeyDown(ke) {\n if (ke.key === \"Enter\" || ke.key === \" \") {\n var _ke_preventDefault, _ke_stopPropagation;\n (_ke_preventDefault = ke.preventDefault) === null || _ke_preventDefault === void 0 ? void 0 : _ke_preventDefault.call(ke);\n (_ke_stopPropagation = ke.stopPropagation) === null || _ke_stopPropagation === void 0 ? void 0 : _ke_stopPropagation.call(ke);\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(event);\n }\n }\n };\n }, [\n onEventClick\n ]);\n var renderEventBadge = useCallback(function(event) {\n var compact = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var dragProps = getEventDragProps(event, \"day\");\n var lifted = draggingEventId === event.id;\n if (renderEvent) {\n if (!dragEnabled) {\n return /* @__PURE__ */ _jsx(React.Fragment, {\n children: renderEvent(event)\n }, event.id);\n }\n return /* @__PURE__ */ _jsx(YStack, {\n cursor: webDragEnabled ? \"grab\" : void 0,\n opacity: lifted ? 0.4 : 1,\n ...dragProps,\n children: renderEvent(event)\n }, event.id);\n }\n return /* @__PURE__ */ _jsx(YStack, {\n ...knobProps.borderRadius,\n backgroundColor: event.color || \"$accentBackground\",\n padding: compact ? \"$1\" : \"$2\",\n // DG-LAY-04: month-view chips measured 23px tall — floor the visual\n // box at 24 and fill the rest of the 44 target with hit slop (real\n // 44 chips would break stacked chips inside month cells).\n minHeight: MONTH_CHIP_MIN_PX,\n justifyContent: \"center\",\n hitSlop: pressTargetHitSlop(compact ? MONTH_CHIP_MIN_PX : 32),\n opacity: lifted ? 0.4 : 1,\n hoverStyle: {\n opacity: lifted ? 0.4 : 0.9\n },\n pressStyle: {\n opacity: 0.8\n },\n cursor: webDragEnabled ? \"grab\" : \"pointer\",\n ...eventA11yProps(event),\n ...dragProps,\n // Native drag responders own the tap → click is handled on release.\n onPress: nativeDragEnabled ? void 0 : function(e) {\n var _e_stopPropagation;\n e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n if (suppressClickRef.current) return;\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(event);\n },\n children: /* @__PURE__ */ _jsx(Text, {\n ...knobProps.body,\n fontSize: compact ? \"$1\" : \"$2\",\n numberOfLines: compact ? 1 : 2,\n color: eventChipTextColor(event.color),\n children: event.title\n })\n }, event.id);\n }, [\n renderEvent,\n onEventClick,\n knobProps.borderRadius,\n dragEnabled,\n webDragEnabled,\n nativeDragEnabled,\n getEventDragProps,\n eventA11yProps,\n draggingEventId\n ]);\n var MONTH_VISIBLE_EVENTS = 3;\n var renderMonthView = function renderMonthView2() {\n var monthDays = getMonthDays(currentDate, firstDayOfWeek);\n var totalWeeks = Math.ceil(monthDays.length / 7);\n var monthRowMinHeight = monthCellMinHeight;\n if (monthBodyHeight > 0 && totalWeeks * monthCellMinHeight > monthBodyHeight) {\n monthRowMinHeight = totalWeeks * monthRowHardFloor <= monthBodyHeight ? monthRowHardFloor : monthBodyHeight / Math.max(1, Math.floor(monthBodyHeight / monthRowHardFloor));\n }\n var weekdayHeaders = [];\n for (var i = 0; i < 7; i++) {\n weekdayHeaders.push(weekdayNames[(firstDayOfWeek + i) % 7]);\n }\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n role: \"grid\",\n \"aria-label\": t(\"Calendar\"),\n tabIndex: 0,\n \"aria-activedescendant\": focusCellId,\n onFocus: handleBodyFocus,\n onKeyDown: handleBodyKeyDown,\n outlineWidth: 0,\n \"data-calendar-body\": view,\n children: [\n /* @__PURE__ */ _jsx(XStack, {\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n role: \"row\",\n children: weekdayHeaders.map(function(day) {\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n padding: \"$2\",\n alignItems: \"center\",\n role: \"columnheader\",\n backgroundColor: componentColors.surface.background,\n children: /* @__PURE__ */ _jsx(Text, {\n ...nestedKnobs.label,\n fontWeight: \"500\",\n color: knobProps.textAccentColor,\n children: day\n })\n }, day);\n })\n }),\n /* flexGrow content: week rows stretch to share the panel height so a\n 5/6-week month fits without slicing the last row; scroll engages\n only below the per-row hard floor. */\n /* @__PURE__ */ _jsx(ScrollView, {\n flex: 1,\n scrollEnabled: !scrollLocked,\n contentContainerStyle: {\n flexGrow: 1\n },\n onLayout: function onLayout(e) {\n var next = e.nativeEvent.layout.height;\n setMonthBodyHeight(function(prev) {\n return prev === next ? prev : next;\n });\n },\n children: /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n children: Array.from({\n length: totalWeeks\n }).map(function(_, weekIndex, weeks) {\n return (\n // basis:auto (not flex={1}): rows grow from their content and\n // share only the EXTRA space, so a crowded cell can never be\n // sliced by a fixed row share; scroll engages past the floor.\n /* @__PURE__ */ _jsx(XStack, {\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: \"auto\",\n minHeight: monthRowMinHeight,\n role: \"row\",\n children: monthDays.slice(weekIndex * 7, (weekIndex + 1) * 7).map(function(day, dayIndex) {\n var isCurrentMonth = day.getMonth() === currentDate.getMonth();\n var dayKey = formatDateKey(day);\n var dayEvents = eventsByDate[dayKey] || [];\n var isDropTarget = dragGhost !== null && dropTargetKey === dayKey;\n var isFocused = focusedDayKey === dayKey;\n var hiddenCount = dayEvents.length - MONTH_VISIBLE_EVENTS;\n var today = isToday(day);\n return /* @__PURE__ */ _jsxs(YStack, {\n id: `${calendarId}-day-${dayKey}`,\n ...{\n role: \"gridcell\"\n },\n \"aria-selected\": isFocused || void 0,\n \"aria-label\": dayEvents.length > 0 ? `${formatDayLong(day)}, ${withInterp(t(\"{{count}} events\"), {\n count: dayEvents.length\n })}` : formatDayLong(day),\n ref: nativeDragEnabled ? function(node) {\n return registerDayRef(dayKey, node);\n } : void 0,\n flex: 1,\n minHeight: monthRowMinHeight,\n // Interior hairline separators only — the panel frame\n // owns the outer edge (OPTICS: one device pixel, no\n // doubled rules at the last column/row).\n ...gridCellEdges(dayIndex < 6, weekIndex < weeks.length - 1),\n borderColor: \"$borderColor\",\n backgroundColor: isDropTarget ? \"$accentBackground\" : isCurrentMonth ? \"$background\" : componentColors.surface.background,\n padding: cellPad,\n gap: chipGap,\n outlineWidth: 0,\n \"data-calendar-day\": dayKey,\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(day);\n },\n cursor: \"pointer\",\n hoverStyle: {\n backgroundColor: componentColors.surface.background\n },\n children: [\n /* @__PURE__ */ _jsx(XStack, {\n justifyContent: \"flex-end\",\n paddingInlineEnd: \"$1\",\n children: /* @__PURE__ */ _jsx(DayNumberDisc, {\n date: day,\n today,\n inMonth: isCurrentMonth,\n focused: isFocused,\n onAccent,\n nestedPx,\n nestedHitSlop,\n nestedBox,\n label: nestedKnobs.label\n })\n }),\n /* @__PURE__ */ _jsxs(YStack, {\n gap: chipGap,\n children: [\n dayEvents.slice(0, MONTH_VISIBLE_EVENTS).map(function(event) {\n return renderEventBadge(event, true);\n }),\n hiddenCount > 0 && /* @__PURE__ */ _jsx(FloatingPanel, {\n open: overflowDayKey === dayKey,\n onOpenChange: function onOpenChange(open) {\n return setOverflowDayKey(open ? dayKey : null);\n },\n fitContent: true,\n trigger: /* @__PURE__ */ _jsx(XStack, {\n role: \"button\",\n \"aria-label\": withInterp(t(\"Show all {{count}} events\"), {\n count: dayEvents.length\n }),\n cursor: \"pointer\",\n paddingInlineStart: \"$1\",\n hitSlop: nestedHitSlop,\n // Web: keep the \"+N more\" press from also selecting\n // the day cell. Native must not stop propagation —\n // the sheet trigger's own press lives on a parent.\n onPress: isWeb ? function(e) {\n var _e_stopPropagation;\n return e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n } : void 0,\n hoverStyle: {\n opacity: 0.7\n },\n \"data-calendar-overflow\": String(hiddenCount),\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: withInterp(t(\"+{{count}} more\"), {\n count: hiddenCount\n })\n })\n }),\n children: /* @__PURE__ */ _jsxs(YStack, {\n gap: \"$1\",\n minWidth: 220,\n \"data-calendar-overflow-panel\": dayKey,\n children: [\n /* @__PURE__ */ _jsx(Text, {\n ...knobProps.heading,\n fontSize: \"$3\",\n children: formatDayLong(day)\n }),\n dayEvents.map(function(event) {\n return renderEventBadge(event, false);\n })\n ]\n })\n })\n ]\n })\n ]\n }, day.toISOString());\n })\n }, weekIndex)\n );\n })\n })\n })\n ]\n });\n };\n var timeGridScrollRef = useRef(null);\n var gridHeight = 24 * hourHeight;\n useEffect(function() {\n var _timeGridScrollRef_current_scrollTo, _timeGridScrollRef_current;\n if (view === \"month\") return;\n var target = Math.max(0, minutesToY(7 * 60, hourHeight) - 8);\n (_timeGridScrollRef_current = timeGridScrollRef.current) === null || _timeGridScrollRef_current === void 0 ? void 0 : (_timeGridScrollRef_current_scrollTo = _timeGridScrollRef_current.scrollTo) === null || _timeGridScrollRef_current_scrollTo === void 0 ? void 0 : _timeGridScrollRef_current_scrollTo.call(_timeGridScrollRef_current, {\n y: target,\n animated: false\n });\n }, [\n view,\n hourHeight\n ]);\n var renderTimedBlock = function renderTimedBlock2(event, layout) {\n var _event_end;\n var preview = (resizePreview === null || resizePreview === void 0 ? void 0 : resizePreview.id) === event.id ? resizePreview : null;\n var start = preview ? preview.start : event.start;\n var end = preview ? preview.end : (_event_end = event.end) !== null && _event_end !== void 0 ? _event_end : event.start;\n var startMin = minutesOfDay(start);\n var endMin = Math.max(startMin + slotMinutes, startMin + (end.getTime() - start.getTime()) / 6e4);\n var top = minutesToY(startMin, hourHeight);\n var blockHeight = Math.max(MIN_BLOCK_PX, minutesToY(endMin - startMin, hourHeight));\n var widthPct = 100 / layout.columns;\n var leftPct = (isRTL ? layout.columns - 1 - layout.column : layout.column) * widthPct;\n var lifted = draggingEventId === event.id;\n var zoneInner = Math.min(RESIZE_ZONE_PX / 2, blockHeight / 2);\n var dragProps = getEventDragProps(event, \"slot\");\n return /* @__PURE__ */ _jsxs(YStack, {\n position: \"absolute\",\n top,\n height: blockHeight,\n left: `${leftPct}%`,\n width: `${widthPct}%`,\n paddingInlineEnd: 2,\n zIndex: preview ? 4 : 2,\n // LC-25: committed/reverted/snapped geometry jumps tween on web.\n transition: webLayoutTransition,\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n ...knobProps.borderRadius,\n backgroundColor: event.color || \"$accentBackground\",\n padding: \"$1\",\n overflow: \"hidden\",\n opacity: lifted ? 0.4 : 1,\n borderWidth: 1,\n borderColor: \"$background\",\n cursor: webDragEnabled ? \"grab\" : \"pointer\",\n ...eventA11yProps(event),\n ...dragProps,\n onPress: nativeDragEnabled ? void 0 : function(e) {\n var _e_stopPropagation;\n e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n if (suppressClickRef.current) return;\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(event);\n },\n children: renderEvent ? renderEvent(event) : /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n fontWeight: \"600\",\n numberOfLines: 1,\n color: eventChipTextColor(event.color),\n children: event.title\n }),\n blockHeight >= 34 && /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n numberOfLines: 1,\n color: eventChipTextColor(event.color),\n children: formatTimeRangeLabel(start, end)\n })\n ]\n })\n }),\n /* Resize handles: 44px hit zones straddling each edge (Axiom 12). */\n webResizeEnabled && /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: -RESIZE_ZONE_PX / 2,\n height: RESIZE_ZONE_PX / 2 + zoneInner,\n cursor: \"ns-resize\",\n zIndex: 3,\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingBottom: 2,\n opacity: 0,\n hoverStyle: {\n opacity: 1\n },\n onPointerDown: function onPointerDown(e) {\n return handleResizePointerDown(event, \"start\", e);\n },\n \"data-calendar-resize\": `start:${event.id}`,\n children: /* @__PURE__ */ _jsx(YStack, {\n width: 28,\n height: 3,\n borderRadius: 2,\n backgroundColor: \"$accentColor\"\n })\n }),\n /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n bottom: -RESIZE_ZONE_PX / 2,\n height: RESIZE_ZONE_PX / 2 + zoneInner,\n cursor: \"ns-resize\",\n zIndex: 3,\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n paddingTop: 2,\n opacity: 0,\n hoverStyle: {\n opacity: 1\n },\n onPointerDown: function onPointerDown(e) {\n return handleResizePointerDown(event, \"end\", e);\n },\n \"data-calendar-resize\": `end:${event.id}`,\n children: /* @__PURE__ */ _jsx(YStack, {\n width: 28,\n height: 3,\n borderRadius: 2,\n backgroundColor: \"$accentColor\"\n })\n })\n ]\n }),\n /* Live duration label while resizing. */\n preview && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n top: -26,\n alignSelf: \"center\",\n backgroundColor: \"$background\",\n ...knobProps.borderRadius,\n borderWidth: 1,\n borderColor: \"$borderColor\",\n paddingHorizontal: \"$2\",\n zIndex: 5,\n pointerEvents: \"none\",\n \"data-calendar-resize-label\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: \"$color\",\n children: formatTimeRangeLabel(preview.start, preview.end)\n })\n })\n ]\n }, event.id);\n };\n var renderTimeGrid = function renderTimeGrid2(days) {\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n role: \"grid\",\n \"aria-label\": t(\"Calendar\"),\n tabIndex: 0,\n \"aria-activedescendant\": focusCellId,\n onFocus: handleBodyFocus,\n onKeyDown: handleBodyKeyDown,\n outlineWidth: 0,\n \"data-calendar-body\": view,\n children: [\n /* Day headers */\n /* @__PURE__ */ _jsxs(XStack, {\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n width: 56\n }),\n days.map(function(day) {\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n padding: \"$2\",\n alignItems: \"center\",\n minHeight: MIN_PRESS_TARGET,\n cursor: \"pointer\",\n backgroundColor: componentColors.surface.background,\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(day);\n },\n children: [\n /* @__PURE__ */ _jsx(Text, {\n ...nestedKnobs.label,\n fontWeight: \"500\",\n color: knobProps.textAccentColor,\n children: weekdayNames[day.getDay()]\n }),\n /* @__PURE__ */ _jsx(DayNumberDisc, {\n date: day,\n today: isToday(day),\n inMonth: true,\n focused: false,\n onAccent,\n nestedPx,\n nestedHitSlop,\n nestedBox,\n label: nestedKnobs.label\n })\n ]\n }, day.toISOString());\n })\n ]\n }),\n /* All-day / untimed strip (also the day-granularity drop row) */\n /* @__PURE__ */ _jsxs(XStack, {\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n minHeight: MIN_PRESS_TARGET,\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n width: 56,\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n paddingInlineEnd: \"$2\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: t(\"All day\")\n })\n }),\n days.map(function(day) {\n var dayKey = formatDateKey(day);\n var dayEvents = (eventsByDate[dayKey] || []).filter(function(ev) {\n return !isTimedEvent(ev);\n });\n var isDropTarget = dragGhost !== null && dropTargetKey === dayKey;\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n ...hairlineEnd,\n borderColor: \"$borderColor\",\n padding: \"$1\",\n gap: \"$1\",\n backgroundColor: isDropTarget ? \"$accentBackground\" : void 0,\n \"data-calendar-day\": dayKey,\n ref: nativeDragEnabled ? function(node) {\n return registerDayRef(`allday:${dayKey}`, node);\n } : void 0,\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(day);\n },\n children: dayEvents.map(function(event) {\n return renderEventBadge(event, true);\n })\n }, day.toISOString());\n })\n ]\n }),\n /* Time grid body */\n /* @__PURE__ */ _jsx(ScrollView, {\n ref: timeGridScrollRef,\n flex: 1,\n scrollEnabled: !scrollLocked,\n children: /* @__PURE__ */ _jsxs(XStack, {\n children: [\n /* Hour gutter */\n /* @__PURE__ */ _jsx(YStack, {\n width: 56,\n children: hours.map(function(hour) {\n return /* @__PURE__ */ _jsx(YStack, {\n height: hourHeight,\n alignItems: \"flex-end\",\n paddingInlineEnd: \"$2\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: formatHour(hour)\n })\n }, hour);\n })\n }),\n days.map(function(day) {\n var dayKey = formatDateKey(day);\n var dayEvents = (eventsByDate[dayKey] || []).filter(isTimedEvent);\n var blocks = layoutDayBlocks(dayEvents.map(function(ev) {\n var _ref;\n var _ev_end;\n return {\n id: ev.id,\n startMin: minutesOfDay(ev.start),\n endMin: Math.min(MINUTES_PER_DAY, Math.max(minutesOfDay(ev.start) + slotMinutes, minutesOfDay(ev.start) + (((_ref = (_ev_end = ev.end) === null || _ev_end === void 0 ? void 0 : _ev_end.getTime()) !== null && _ref !== void 0 ? _ref : ev.start.getTime()) - ev.start.getTime()) / 6e4))\n };\n }));\n var byId = new Map(dayEvents.map(function(ev) {\n return [\n ev.id,\n ev\n ];\n }));\n var isSlotTargetDay = (slotTarget === null || slotTarget === void 0 ? void 0 : slotTarget.dayKey) === dayKey;\n var draftHere = (createDraft === null || createDraft === void 0 ? void 0 : createDraft.dayKey) === dayKey ? createDraft : null;\n var editorHere = (editorState === null || editorState === void 0 ? void 0 : editorState.dayKey) === dayKey ? editorState : null;\n var focusHere = view !== \"month\" && focusedDayKey === dayKey;\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n height: gridHeight,\n position: \"relative\",\n ...hairlineEnd,\n borderColor: \"$borderColor\",\n \"data-calendar-timecol\": dayKey,\n ref: nativeDragEnabled ? function(node) {\n return registerDayRef(dayKey, node);\n } : void 0,\n onPointerDown: hasDom ? function(e) {\n return handleGridPointerDown(day, e);\n } : void 0,\n children: [\n /* Hour lines */\n hours.map(function(hour) {\n return /* @__PURE__ */ _jsx(YStack, {\n height: hourHeight,\n ...hairline.bottom,\n borderColor: componentColors.divider,\n pointerEvents: \"none\"\n }, hour);\n }),\n /* Timed events */\n blocks.map(function(block) {\n var event = byId.get(block.id);\n if (!event) return null;\n return renderTimedBlock(event, block);\n }),\n /* Drop-target slot highlight (ramp tint) */\n isSlotTargetDay && slotTarget && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(slotTarget.startMin, hourHeight),\n height: Math.max(MIN_BLOCK_PX, minutesToY(slotTarget.durationMin, hourHeight)),\n backgroundColor: \"$accentBackground\",\n opacity: 0.25,\n ...knobProps.borderRadius,\n borderWidth: 1,\n borderColor: \"$accentColor\",\n pointerEvents: \"none\",\n zIndex: 1,\n \"data-calendar-slot-target\": \"true\"\n }),\n /* Drag-to-create sketch */\n draftHere && !editorHere && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(minutesOfDay(draftHere.start), hourHeight),\n height: Math.max(MIN_BLOCK_PX, minutesToY((draftHere.end.getTime() - draftHere.start.getTime()) / 6e4, hourHeight)),\n backgroundColor: \"$accentBackground\",\n opacity: 0.45,\n ...knobProps.borderRadius,\n borderWidth: 1,\n borderColor: \"$accentColor\",\n pointerEvents: \"none\",\n zIndex: 4,\n transition: webLayoutTransition,\n \"data-calendar-create-draft\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: \"$accentColor\",\n padding: \"$1\",\n numberOfLines: 1,\n children: formatTimeRangeLabel(draftHere.start, draftHere.end)\n })\n }),\n /* Draft block + live-commit editor (LC-06 / LC-21) */\n editorHere && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(minutesOfDay(editorHere.start), hourHeight),\n height: Math.max(MIN_BLOCK_PX + 6, minutesToY((editorHere.end.getTime() - editorHere.start.getTime()) / 6e4, hourHeight)),\n zIndex: 5,\n children: /* @__PURE__ */ _jsx(FloatingPanel, {\n open: true,\n onOpenChange: function onOpenChange(open) {\n if (!open) commitEditor();\n },\n fitContent: true,\n trigger: /* @__PURE__ */ _jsx(YStack, {\n ...knobProps.borderRadius,\n height: \"100%\",\n backgroundColor: \"$accentBackground\",\n opacity: 0.9,\n borderWidth: 1,\n borderColor: \"$accentColor\",\n padding: \"$1\",\n overflow: \"hidden\",\n \"data-calendar-editor-block\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n fontWeight: \"600\",\n color: \"$accentColor\",\n numberOfLines: 1,\n children: draftTitle || t(\"New event\")\n })\n }),\n children: /* @__PURE__ */ _jsxs(YStack, {\n gap: \"$2\",\n minWidth: 240,\n \"data-calendar-create-editor\": \"true\",\n children: [\n /* @__PURE__ */ _jsx(Input, {\n label: t(\"Title\"),\n placeholder: t(\"New event\"),\n value: draftTitle,\n onChangeText: setDraftTitle,\n inputProps: {\n autoFocus: true\n }\n }),\n /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$2\",\n color: knobProps.textAccentColor,\n children: `${formatDayLong(editorHere.start)}, ${formatTimeRangeLabel(editorHere.start, editorHere.end)}`\n }),\n /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: t(\"Changes apply when the editor closes\")\n })\n ]\n })\n })\n }),\n /* Keyboard slot cursor (discrete moves tween — Axiom 4) */\n focusHere && wasKeyboardFocus() && /* @__PURE__ */ _jsx(YStack, {\n id: `${calendarId}-slot-cursor`,\n ...{\n role: \"gridcell\"\n },\n \"aria-label\": `${formatDayLong(day)}, ${formatTimeRangeLabel(dateAtMinutes(day, focusedSlotMin), dateAtMinutes(day, focusedSlotMin + slotMinutes))}`,\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(focusedSlotMin, hourHeight),\n height: minutesToY(slotMinutes, hourHeight),\n ...knobProps.borderRadius,\n ...keyboardFocusRingProps,\n pointerEvents: \"none\",\n zIndex: 3,\n transition: webLayoutTransition,\n \"data-calendar-slot-cursor\": \"true\"\n }),\n /* Now indicator */\n isToday(day) && /* @__PURE__ */ _jsx(NowIndicator, {\n hourHeight\n })\n ]\n }, day.toISOString());\n })\n ]\n })\n })\n ]\n });\n };\n var renderWeekView = function renderWeekView2() {\n return renderTimeGrid(getWeekDays(currentDate, firstDayOfWeek));\n };\n var renderDayView = function renderDayView2() {\n return renderTimeGrid([\n currentDate\n ]);\n };\n var physicalDir = navDirectionRef.current * (isRTL ? -1 : 1);\n var bodyEnterVariant = !transition ? void 0 : physicalDir > 0 ? \"fromEnd\" : physicalDir < 0 ? \"fromStart\" : \"fade\";\n var bodyExitVariant = !transition ? void 0 : physicalDir > 0 ? \"fromStart\" : physicalDir < 0 ? \"fromEnd\" : \"fade\";\n return /* @__PURE__ */ _jsxs(YStack, {\n height,\n position: \"relative\",\n overflow: \"hidden\",\n backgroundColor: \"$background\",\n // Panel-tier lift follows the elevation knob (LC-18: the calendar frame\n // is a themed surface, same as Dashboard cards / Kanban columns).\n elevation: knobProps.elevation,\n ref: nativeDragEnabled ? function(node) {\n containerNodeRef.current = node;\n refreshContainerOffset();\n } : void 0,\n onLayout: nativeDragEnabled ? refreshContainerOffset : void 0,\n ...stackProps,\n children: [\n /* Header */\n (showNavigation || showViewSwitcher) && /* @__PURE__ */ _jsxs(XStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n children: [\n showNavigation && /* @__PURE__ */ _jsxs(XStack, {\n gap: \"$2\",\n alignItems: \"center\",\n children: [\n /* @__PURE__ */ _jsx(Button, {\n size: knobProps.sizeToken,\n onPress: goToPrevious,\n \"aria-label\": t(\"Previous\"),\n children: \"<\"\n }),\n /* @__PURE__ */ _jsx(Button, {\n size: knobProps.sizeToken,\n onPress: goToToday,\n children: t(\"Today\")\n }),\n /* @__PURE__ */ _jsx(Button, {\n size: knobProps.sizeToken,\n onPress: goToNext,\n \"aria-label\": t(\"Next\"),\n children: \">\"\n })\n ]\n }),\n /* Period title is the panel's section heading — shared scale\n (LC-17), family still follows the heading font knob. */\n /* @__PURE__ */ _jsx(Text, {\n ...knobProps.heading,\n ...sectionHeading,\n children: displayTitle\n }),\n showViewSwitcher && /* Canonical fused view picker (LC-16 ONE-IMPLEMENTATION): brings\n the 44px press-target floor + hitSlop (SP-FIXED) and the\n keyboard focus ring the hand-rolled ToggleGroup lacked. */\n /* @__PURE__ */ _jsx(ViewSwitcher, {\n views: [\n {\n type: \"month\",\n label: t(\"Month\")\n },\n {\n type: \"week\",\n label: t(\"Week\")\n },\n {\n type: \"day\",\n label: t(\"Day\")\n }\n ],\n currentView: view,\n onViewChange: function onViewChange(val) {\n return changeView(val);\n }\n })\n ]\n }),\n /* aria-live region: period + focus announcements (visually hidden) */\n /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n width: 1,\n height: 1,\n overflow: \"hidden\",\n opacity: 0,\n pointerEvents: \"none\",\n \"aria-live\": \"polite\",\n \"data-calendar-live\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n children: announcement\n })\n }),\n /* Calendar Body — view/period switches slide+fade with PAIRED\n enter/exit (LC-24): the leaving period exits toward where it came\n from while the new one slides in from the reading-direction end.\n Children are keyed per period inside one persistent AnimatePresence\n (keying the presence itself would drop the exit — the old wrapper\n unmounts before it can animate). `fullscreen` keeps both periods\n overlaid during the crossfade instead of stacking in flow. */\n /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n overflow: \"hidden\",\n position: \"relative\",\n children: /* @__PURE__ */ _jsx(AnimatePresence, {\n initial: false,\n enterVariant: bodyEnterVariant,\n exitVariant: bodyExitVariant,\n children: /* @__PURE__ */ _jsxs(CalendarSlide, {\n fullscreen: true,\n x: 0,\n opacity: 1,\n transition,\n \"data-calendar-motion\": motionKey,\n children: [\n view === \"month\" && renderMonthView(),\n view === \"week\" && renderWeekView(),\n view === \"day\" && renderDayView()\n ]\n }, motionKey)\n })\n }),\n /* Drag ghost following the pointer / finger (lifted: shadow + scale) */\n dragGhost && /* @__PURE__ */ _jsx(YStack, {\n pointerEvents: \"none\",\n ...knobProps.borderRadius,\n backgroundColor: dragGhost.event.color || \"$accentBackground\",\n padding: \"$1\",\n opacity: 0.95,\n scale: 1.03,\n ...{\n \"data-calendar-drag-ghost\": true,\n ...isWeb ? {\n style: {\n position: \"fixed\",\n left: dragGhost.x + 12,\n top: dragGhost.y + 12,\n // Sheet tier (Axiom 14): the ghost tracks the pointer\n // above page content and sticky chrome.\n zIndex: zIndex.sheet,\n maxWidth: 220,\n boxShadow: LIFT_SHADOW\n }\n } : {\n position: \"absolute\",\n left: dragGhost.x,\n top: dragGhost.y,\n zIndex: zIndex.sheet,\n maxWidth: 220,\n shadowColor: \"$shadowColor\",\n shadowOffset: {\n width: 0,\n height: 6\n },\n shadowRadius: 12,\n shadowOpacity: 0.3,\n elevation: 8\n }\n },\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$2\",\n numberOfLines: 1,\n color: eventChipTextColor(dragGhost.event.color),\n children: dragGhost.event.title\n })\n }),\n /* FLIP settle: drop/cancel tweens the ghost into its final slot (LC-25) */\n settle && isWeb && /* @__PURE__ */ _jsx(SettleGhost, {\n settle,\n transition,\n borderRadius: knobProps.borderRadius,\n onDone: clearSettle\n }, settle.key)\n ]\n });\n}\nexport {\n Calendar,\n computeEventMoveRange,\n eventChipTextColor,\n findDayKeyAtPoint\n};\n//# sourceMappingURL=Calendar.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","componentColors","sectionHeading","ViewSwitcher","withInterp","MINUTES_PER_DAY","computeResizeRange","createRangeFromDrag","eventAccessibleLabel","formatTimeRangeLabel","layoutDayBlocks","minutesOfDay","minutesToY","moveFocusDate","moveFocusSlot","moveRangeToSlot","snapMinutes","yToMinutes","formatCalendarDate","formatDayLong","formatTimeOfDay","getMonthNames","getWeekdayNames","hairline","hairlineWidth","keyboardFocusRingProps","MIN_PRESS_TARGET","pressTargetHitSlop","radiusClassProps","ensureFocusVisibleRing","ensureKeyboardModalityTracking","useReadableTextOn","useResolvedKnobs","wasKeyboardFocus","React","useState","useMemo","useCallback","useEffect","useId","useRef","useTranslation","Button","FloatingPanel","Input","zIndex","AnimatePresence","Text","XStack","YStack","isWeb","styled","ScrollView","useDirection","hairlineEnd","borderInlineEndWidth","borderInlineEndStyle","className","borderEndWidth","gridCellEdges","end","bottom","filter","Boolean","join","borderBottomWidth","eventChipTextColor","bg","onAccent","startsWith","hex","slice","full","length","split","map","c","r","g","b","i","Number","parseInt","Math","pow","luminance","contrastWhite","contrastBlack","getMonthDays","date","firstDayOfWeek","year","getFullYear","month","getMonth","firstDay","Date","lastDay","startOffset","getDay","totalDays","getDate","totalRows","ceil","totalCells","days","push","getWeekDays","dayOfWeek","startDate","setDate","day","formatDateKey","addMonths","delta","next","setMonth","min","isSameDay","d1","d2","isToday","MS_PER_DAY","computeEventMoveRange","event","targetDay","startOfDay","startOfDay2","d","dayDelta","round","getTime","start","shiftDays","shiftDays2","getHours","getMinutes","getSeconds","getMilliseconds","findDayKeyAtPoint","pageX","pageY","layouts","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","layout","value","x","width","y","height","key","err","return","measureDayLayouts","refs","cb","entries","remaining","_loop","node","measureInWindow","dayKeyToDate","ty","tm","td","dateAtMinutes","minutes","isTimedEvent","allDay","DRAG_THRESHOLD_PX","TOUCH_LONG_PRESS_MS","TOUCH_SLOP_PX","LIFT_SHADOW","MIN_BLOCK_PX","RESIZE_ZONE_PX","MONTH_CHIP_MIN_PX","DayNumberDisc","param","today","inMonth","focused","nestedPx","nestedHitSlop","nestedBox","label","knobProps","flexShrink","borderRadius","alignItems","justifyContent","backgroundColor","hitSlop","outlineWidth","children","fontWeight","color","textAccentColor","textAlign","Array","from","_","formatHour","hour","weekdayNames","monthNames","hours","startWebPointerSession","options","_options_thresholdPx","threshold","thresholdPx","isTouch","pointerType","active","ended","escaped","liftArmed","last","startX","startY","prevUserSelect","longPressTimer","preventTouchScroll","preventTouchScroll2","te","preventDefault","activate","activate2","pt","document","body","style","userSelect","onActivate","teardown","teardown2","_options_onSettled","clearTimeout","window","removeEventListener","onMove","onUp","onKey","onSettled","call","onMove2","me","clientX","clientY","travel","hypot","onUp2","ue","_options_onTapInstead","wasActive","onCommit","onTapInstead","onKey2","ke","stopPropagation","cancel","onCancel","setTimeout","addEventListener","passive","NowIndicator","hourHeight","now","setNow","isRTL","id","setInterval","clearInterval","position","left","right","top","pointerEvents","SettleGhost","settle","transition","onDone","moved","setMoved","raf2","raf1","requestAnimationFrame","timer","cancelAnimationFrame","padding","to","scale","opacity","sheet","maxWidth","boxShadow","fontSize","numberOfLines","title","CalendarSlide","variants","fromStart","true","fromEnd","fade","Calendar","events","renderEvent","onDateSelect","onEventClick","onEventMove","onEventResize","onEventCreate","enableEventDrag","viewType","initialViewType","initialDate","showNavigation","showViewSwitcher","slotMinutes","stackProps","t","nestedKnobs","compact","px","nestedControl","calendarId","currentDate","setCurrentDate","view","setView","sz","sizeToken","monthCellMinHeight","space","cellPad","chipGap","monthRowHardFloor","monthBodyHeight","setMonthBodyHeight","overlayInset","webLayoutTransition","navDirectionRef","hasNavigatedRef","periodKey","motionKey","dragEnabled","hasDom","webDragEnabled","nativeDragEnabled","webResizeEnabled","webCreateEnabled","dragGhost","setDragGhost","dropTargetKey","setDropTargetKey","slotTarget","setSlotTarget","setSettle","resizePreview","setResizePreview","createDraft","setCreateDraft","editorState","setEditorState","draftTitle","setDraftTitle","overflowDayKey","setOverflowDayKey","scrollLocked","setScrollLocked","draggingEventId","setDraggingEventId","suppressClickRef","dragSessionCleanupRef","slotTargetRef","resizePreviewRef","editorStateRef","draftTitleRef","dayRefs","Map","containerNodeRef","containerOffsetRef","nativeSessionRef","current","registerDayRef","set","delete","refreshContainerOffset","_containerNodeRef_current_measureInWindow","_containerNodeRef_current","_dragSessionCleanupRef_current","clearSettle","suppressNextClick","beginSettle","commitMoveToKey","handleEventPointerDown","e","mode","_ref","_e_stopPropagation","_chipEl_getBoundingClientRect","button","chipEl","currentTarget","originRect","getBoundingClientRect","durationMin","max","grabOffsetMin","findDayKey","findDayKey2","_ref2","_document_elementFromPoint","_document","_el_closest","el","elementFromPoint","dayEl","closest","getAttribute","findSlotTarget","findSlotTarget2","colEl","dayKey","rect","raw","startMin","endVisuals","endVisuals2","lastPoint","cleanup","target","ghostFrom","range","_cellEl_getBoundingClientRect","cellEl","querySelector","ghost","once","activated","handleResizePointerDown","edge","_handleEl_closest","_colEl_getBoundingClientRect","handleEl","colRect","applyPreview","applyPreview2","_event_end","preview","prevEnd","openEditor","commitEditor","state","trim","handleGridPointerDown","anchorRaw","created","lastRange","endNativeSession","opts","session","dragging","commit","_findDayKeyAtPoint","handleNativeGrant","_ref1","_e_nativeEvent","_e_nativeEvent1","nativeEvent","handleNativeMove","handleNativeRelease","handleNativeTerminate","getEventDragProps","arguments","base","onPointerDown","onStartShouldSetResponder","onMoveShouldSetResponder","onResponderTerminationRequest","_nativeSessionRef_current","onResponderGrant","onResponderMove","onResponderRelease","onResponderTerminate","eventsByDate","grouped","goToPrevious","prev","goToNext","goToToday","changeView","displayTitle","weekDays","focusedDate","setFocusedDate","focusedSlotMin","setFocusedSlotMin","announcement","setAnnouncement","handleBodyFocus","focusedDayKey","focusCellId","handleBodyKeyDown","arrows","includes","_e_preventDefault","nextMin","logicalKey","visible","_e_preventDefault1","eventA11yProps","role","tabIndex","focusStyle","focusVisibleStyle","outlineOffset","onKeyDown","_ke_preventDefault","_ke_stopPropagation","renderEventBadge","dragProps","lifted","cursor","minHeight","hoverStyle","pressStyle","onPress","MONTH_VISIBLE_EVENTS","renderMonthView","renderMonthView2","monthDays","totalWeeks","monthRowMinHeight","floor","weekdayHeaders","flex","onFocus","borderColor","surface","background","scrollEnabled","contentContainerStyle","flexGrow","onLayout","weekIndex","weeks","flexBasis","dayIndex","isCurrentMonth","dayEvents","isDropTarget","isFocused","hiddenCount","count","ref","gap","paddingInlineEnd","open","onOpenChange","fitContent","trigger","paddingInlineStart","String","minWidth","heading","toISOString","timeGridScrollRef","gridHeight","_timeGridScrollRef_current_scrollTo","_timeGridScrollRef_current","scrollTo","animated","renderTimedBlock","renderTimedBlock2","endMin","blockHeight","widthPct","columns","leftPct","column","zoneInner","overflow","borderWidth","paddingBottom","paddingTop","alignSelf","paddingHorizontal","renderTimeGrid","renderTimeGrid2","ev","blocks","_ev_end","byId","isSlotTargetDay","draftHere","editorHere","focusHere","divider","block","get","placeholder","onChangeText","inputProps","autoFocus","renderWeekView","renderWeekView2","renderDayView","renderDayView2","physicalDir","bodyEnterVariant","bodyExitVariant","elevation","panelPadding","size","views","type","currentView","onViewChange","val","initial","enterVariant","exitVariant","fullscreen","shadowColor","shadowOffset","shadowRadius","shadowOpacity"],"sources":["Calendar.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { componentColors, sectionHeading } from \"../componentColors\";\nimport { ViewSwitcher } from \"../layouts/ViewSwitcher\";\nimport { withInterp } from \"../shared/t\";\nimport { MINUTES_PER_DAY, computeResizeRange, createRangeFromDrag, eventAccessibleLabel, formatTimeRangeLabel, layoutDayBlocks, minutesOfDay, minutesToY, moveFocusDate, moveFocusSlot, moveRangeToSlot, snapMinutes, yToMinutes } from \"./calendarMath\";\nimport { formatCalendarDate, formatDayLong, formatTimeOfDay, getMonthNames, getWeekdayNames, hairline, hairlineWidth, keyboardFocusRingProps, MIN_PRESS_TARGET, pressTargetHitSlop, radiusClassProps, ensureFocusVisibleRing, ensureKeyboardModalityTracking, useReadableTextOn, useResolvedKnobs, wasKeyboardFocus } from \"@multiplatform.one/theme\";\nimport React, { useState, useMemo, useCallback, useEffect, useId, useRef } from \"react\";\nimport { useTranslation } from \"../shared/i18n\";\nimport { Button, FloatingPanel, Input, zIndex } from \"@multiplatform.one/forms\";\nimport { AnimatePresence, Text, XStack, YStack, isWeb, styled } from \"tamagui\";\nimport { ScrollView } from \"../ScrollView\";\nimport { useDirection } from \"../hooks/useDirection\";\nvar hairlineEnd = isWeb ? {\n borderInlineEndWidth: hairlineWidth,\n borderInlineEndStyle: \"solid\",\n className: \"mp-hairline-ie\"\n} : {\n borderEndWidth: hairlineWidth\n};\nfunction gridCellEdges(end, bottom) {\n var className = [\n end && \"mp-hairline-ie\",\n bottom && \"mp-hairline-b\"\n ].filter(Boolean).join(\" \") || void 0;\n return {\n ...end ? hairlineEnd : null,\n borderBottomWidth: bottom ? hairlineWidth : 0,\n ...isWeb && className ? {\n className\n } : null\n };\n}\nfunction eventChipTextColor(bg, onAccent) {\n if (!bg) return onAccent !== null && onAccent !== void 0 ? onAccent : \"$accentColor\";\n if (!bg.startsWith(\"#\")) return \"$accentColor\";\n var hex = bg.slice(1);\n var full = hex.length === 3 ? hex.split(\"\").map(function(c) {\n return c + c;\n }).join(\"\") : hex.slice(0, 6);\n var [r, g, b] = [\n 0,\n 2,\n 4\n ].map(function(i) {\n var c = Number.parseInt(full.slice(i, i + 2), 16) / 255;\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n });\n var luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n var contrastWhite = 1.05 / (luminance + 0.05);\n var contrastBlack = (luminance + 0.05) / 0.05;\n return contrastWhite >= contrastBlack ? \"#ffffff\" : \"#000000\";\n}\nfunction getMonthDays(date, firstDayOfWeek) {\n var year = date.getFullYear();\n var month = date.getMonth();\n var firstDay = new Date(year, month, 1);\n var lastDay = new Date(year, month + 1, 0);\n var startOffset = firstDay.getDay() - firstDayOfWeek;\n if (startOffset < 0) startOffset += 7;\n var totalDays = startOffset + lastDay.getDate();\n var totalRows = Math.ceil(totalDays / 7);\n var totalCells = totalRows * 7;\n var days = [];\n for (var i = 0; i < totalCells; i++) {\n days.push(new Date(year, month, 1 - startOffset + i));\n }\n return days;\n}\nfunction getWeekDays(date, firstDayOfWeek) {\n var days = [];\n var dayOfWeek = date.getDay();\n var startOffset = dayOfWeek - firstDayOfWeek;\n if (startOffset < 0) startOffset += 7;\n var startDate = new Date(date);\n startDate.setDate(date.getDate() - startOffset);\n for (var i = 0; i < 7; i++) {\n var day = new Date(startDate);\n day.setDate(startDate.getDate() + i);\n days.push(day);\n }\n return days;\n}\nfunction formatDateKey(date) {\n return formatCalendarDate(date);\n}\nfunction addMonths(date, delta) {\n var next = new Date(date);\n next.setDate(1);\n next.setMonth(next.getMonth() + delta);\n var lastDay = new Date(next.getFullYear(), next.getMonth() + 1, 0).getDate();\n next.setDate(Math.min(date.getDate(), lastDay));\n return next;\n}\nfunction isSameDay(d1, d2) {\n return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();\n}\nfunction isToday(date) {\n return isSameDay(date, /* @__PURE__ */ new Date());\n}\nvar MS_PER_DAY = 864e5;\nfunction computeEventMoveRange(event, targetDay) {\n var startOfDay = function startOfDay2(d) {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate());\n };\n var dayDelta = Math.round((startOfDay(targetDay).getTime() - startOfDay(event.start).getTime()) / MS_PER_DAY);\n var shiftDays = function shiftDays2(d) {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate() + dayDelta, d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());\n };\n var start = shiftDays(event.start);\n var end = event.end ? shiftDays(event.end) : new Date(start.getTime());\n return {\n start,\n end\n };\n}\nfunction findDayKeyAtPoint(pageX, pageY, layouts) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layouts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layout = _step.value;\n if (pageX >= layout.x && pageX < layout.x + layout.width && pageY >= layout.y && pageY < layout.y + layout.height) {\n return layout.key;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return null;\n}\nfunction measureDayLayouts(refs, cb) {\n var entries = [\n ...refs.entries()\n ];\n if (entries.length === 0) {\n cb([]);\n return;\n }\n var layouts = [];\n var remaining = entries.length;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var [key, node] = _step.value;\n if (typeof node.measureInWindow !== \"function\") {\n if (--remaining === 0) cb(layouts);\n return \"continue\";\n }\n node.measureInWindow(function(x, y, width, height) {\n layouts.push({\n key,\n x,\n y,\n width,\n height\n });\n if (--remaining === 0) cb(layouts);\n });\n };\n for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction dayKeyToDate(key) {\n var [ty, tm, td] = key.split(\"-\").map(Number);\n return new Date(ty, tm - 1, td);\n}\nfunction dateAtMinutes(day, minutes) {\n return new Date(day.getFullYear(), day.getMonth(), day.getDate(), 0, minutes);\n}\nfunction isTimedEvent(event) {\n return event.end !== void 0 && event.end.getTime() > event.start.getTime() && isSameDay(event.start, event.end) && event.allDay !== true;\n}\nvar DRAG_THRESHOLD_PX = 4;\nvar TOUCH_LONG_PRESS_MS = 300;\nvar TOUCH_SLOP_PX = 8;\nvar LIFT_SHADOW = \"0px 8px 28px rgba(0,0,0,0.18), 0px 2px 6px rgba(0,0,0,0.08)\";\nvar MIN_BLOCK_PX = 18;\nvar RESIZE_ZONE_PX = MIN_PRESS_TARGET;\nvar MONTH_CHIP_MIN_PX = 24;\nfunction DayNumberDisc(param) {\n var { date, today, inMonth, focused, onAccent, nestedPx, nestedHitSlop, nestedBox, label } = param;\n var { knobProps } = useResolvedKnobs();\n return /* @__PURE__ */ _jsx(YStack, {\n ...nestedBox,\n flexShrink: 0,\n borderRadius: nestedPx / 2,\n ...radiusClassProps(\"R-PILL\", \"Calendar today marker\"),\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: today ? \"$accentBackground\" : \"transparent\",\n hitSlop: nestedHitSlop,\n ...focused && wasKeyboardFocus() ? keyboardFocusRingProps : {\n outlineWidth: 0\n },\n ...today && {\n \"data-calendar-today\": \"true\"\n },\n ...{\n \"data-nested-px\": nestedPx,\n \"data-calendar-day-disc\": \"true\"\n },\n children: /* @__PURE__ */ _jsx(Text, {\n ...label,\n fontWeight: today ? \"700\" : label.fontWeight,\n color: today ? onAccent !== null && onAccent !== void 0 ? onAccent : \"$accentColor\" : inMonth ? \"$color\" : knobProps.textAccentColor,\n textAlign: \"center\",\n children: date.getDate()\n })\n });\n}\nfunction getHours() {\n return Array.from({\n length: 24\n }, function(_, i) {\n return i;\n });\n}\nfunction formatHour(hour) {\n return formatTimeOfDay(new Date(2e3, 0, 1, hour, 0, 0), {\n minutes: false\n });\n}\nvar weekdayNames = getWeekdayNames();\nvar monthNames = getMonthNames();\nvar hours = getHours();\nfunction startWebPointerSession(options) {\n var _options_thresholdPx;\n var threshold = (_options_thresholdPx = options.thresholdPx) !== null && _options_thresholdPx !== void 0 ? _options_thresholdPx : DRAG_THRESHOLD_PX;\n var isTouch = options.pointerType === \"touch\";\n var active = false;\n var ended = false;\n var escaped = false;\n var liftArmed = !isTouch;\n var last = {\n x: options.startX,\n y: options.startY\n };\n var prevUserSelect = \"\";\n var longPressTimer = null;\n var preventTouchScroll = function preventTouchScroll2(te) {\n if (active) te.preventDefault();\n };\n var activate = function activate2(pt) {\n if (active) return;\n active = true;\n prevUserSelect = document.body.style.userSelect;\n document.body.style.userSelect = \"none\";\n options.onActivate(pt);\n };\n var teardown = function teardown2() {\n var _options_onSettled;\n if (ended) return;\n ended = true;\n if (longPressTimer) clearTimeout(longPressTimer);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"keydown\", onKey, true);\n window.removeEventListener(\"touchmove\", preventTouchScroll);\n if (active) document.body.style.userSelect = prevUserSelect;\n (_options_onSettled = options.onSettled) === null || _options_onSettled === void 0 ? void 0 : _options_onSettled.call(options, active, escaped);\n };\n var onMove = function onMove2(me) {\n last = {\n x: me.clientX,\n y: me.clientY\n };\n if (!active) {\n var travel = Math.hypot(me.clientX - options.startX, me.clientY - options.startY);\n if (isTouch && !liftArmed) {\n if (travel > TOUCH_SLOP_PX) teardown();\n return;\n }\n if (travel < threshold) return;\n activate(last);\n }\n options.onMove(last);\n };\n var onUp = function onUp2(ue) {\n var _options_onTapInstead;\n last = {\n x: ue.clientX,\n y: ue.clientY\n };\n var wasActive = active;\n teardown();\n if (wasActive) options.onCommit(last);\n else (_options_onTapInstead = options.onTapInstead) === null || _options_onTapInstead === void 0 ? void 0 : _options_onTapInstead.call(options);\n };\n var onKey = function onKey2(ke) {\n if (ke.key !== \"Escape\" || !active) return;\n ke.stopPropagation();\n escaped = true;\n var cancel = options.onCancel;\n teardown();\n cancel();\n };\n if (isTouch) {\n longPressTimer = setTimeout(function() {\n liftArmed = true;\n activate(last);\n }, TOUCH_LONG_PRESS_MS);\n window.addEventListener(\"touchmove\", preventTouchScroll, {\n passive: false\n });\n }\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"keydown\", onKey, true);\n return teardown;\n}\nfunction NowIndicator(param) {\n var { hourHeight } = param;\n var [now, setNow] = useState(function() {\n return /* @__PURE__ */ new Date();\n });\n var isRTL = useDirection() === \"rtl\";\n useEffect(function() {\n var id = setInterval(function() {\n return setNow(/* @__PURE__ */ new Date());\n }, 6e4);\n return function() {\n return clearInterval(id);\n };\n }, []);\n var y = minutesToY(minutesOfDay(now), hourHeight);\n return /* @__PURE__ */ _jsx(XStack, {\n position: \"absolute\",\n left: 0,\n right: 0,\n top: y - 1,\n height: 2,\n backgroundColor: \"$accentBackground\",\n pointerEvents: \"none\",\n zIndex: 3,\n \"data-calendar-now\": \"true\",\n children: /* @__PURE__ */ _jsx(YStack, {\n ...radiusClassProps(\"R-PILL\", \"Calendar now-marker dot\"),\n position: \"absolute\",\n ...isRTL ? {\n right: -3\n } : {\n left: -3\n },\n top: -3,\n width: 8,\n height: 8,\n borderRadius: 4,\n backgroundColor: \"$accentBackground\"\n })\n });\n}\nfunction SettleGhost(param) {\n var { settle, transition, borderRadius, onDone } = param;\n var onAccent = useReadableTextOn(\"$accentBackground\");\n var [moved, setMoved] = useState(false);\n useEffect(function() {\n var raf2 = 0;\n var raf1 = requestAnimationFrame(function() {\n raf2 = requestAnimationFrame(function() {\n return setMoved(true);\n });\n });\n var timer = setTimeout(onDone, 480);\n return function() {\n cancelAnimationFrame(raf1);\n cancelAnimationFrame(raf2);\n clearTimeout(timer);\n };\n }, [\n onDone\n ]);\n return /* @__PURE__ */ _jsx(YStack, {\n pointerEvents: \"none\",\n ...borderRadius,\n backgroundColor: settle.color || \"$accentBackground\",\n padding: \"$1\",\n transition,\n x: moved ? settle.to.x - settle.from.x : 0,\n y: moved ? settle.to.y - settle.from.y : 0,\n scale: moved ? 1 : 1.03,\n opacity: moved ? 0.6 : 0.95,\n ...{\n \"data-calendar-settle-ghost\": \"true\",\n style: {\n position: \"fixed\",\n left: settle.from.x,\n top: settle.from.y,\n zIndex: zIndex.sheet,\n maxWidth: 220,\n boxShadow: LIFT_SHADOW\n }\n },\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$2\",\n numberOfLines: 1,\n color: eventChipTextColor(settle.color, onAccent),\n children: settle.title\n })\n });\n}\nvar CalendarSlide = styled(YStack, {\n variants: {\n fromStart: {\n true: {\n x: -24,\n opacity: 0\n }\n },\n fromEnd: {\n true: {\n x: 24,\n opacity: 0\n }\n },\n fade: {\n true: {\n opacity: 0\n }\n }\n }\n});\nfunction Calendar(param) {\n var { events, renderEvent, onDateSelect, onEventClick, onEventMove, onEventResize, onEventCreate, enableEventDrag, viewType: initialViewType = \"month\", initialDate, height = 600, showNavigation = true, showViewSwitcher = true, firstDayOfWeek = 0, slotMinutes = 30, ...stackProps } = param;\n var { t } = useTranslation();\n var { knobProps } = useResolvedKnobs();\n var { knobProps: nestedKnobs } = useResolvedKnobs({\n compact: true\n });\n var { px: nestedPx, hitSlop: nestedHitSlop, ...nestedBox } = nestedKnobs.nestedControl;\n var onAccent = useReadableTextOn(\"$accentBackground\");\n var calendarId = useId();\n var isRTL = useDirection() === \"rtl\";\n var [currentDate, setCurrentDate] = useState(initialDate !== null && initialDate !== void 0 ? initialDate : /* @__PURE__ */ new Date());\n var [view, setView] = useState(initialViewType);\n var sz = knobProps.sizeToken;\n var hourHeight = sz === \"$3\" ? 48 : sz === \"$5\" ? 80 : 64;\n var monthCellMinHeight = sz === \"$3\" ? 64 : sz === \"$5\" ? 96 : 76;\n var space = knobProps.space;\n var cellPad = space === \"small\" ? 2 : space === \"large\" ? 7 : 4;\n var chipGap = space === \"small\" ? 2 : space === \"large\" ? 5 : 3;\n var monthRowHardFloor = cellPad * 2 + nestedPx + chipGap + MONTH_CHIP_MIN_PX;\n var [monthBodyHeight, setMonthBodyHeight] = useState(0);\n var overlayInset = isRTL ? {\n left: 2,\n right: 0\n } : {\n left: 0,\n right: 2\n };\n var transition = knobProps.transition;\n var webLayoutTransition = isWeb ? transition : void 0;\n var navDirectionRef = useRef(0);\n var hasNavigatedRef = useRef(false);\n var periodKey = view === \"month\" ? `${currentDate.getFullYear()}-${currentDate.getMonth()}` : view === \"week\" ? formatDateKey(getWeekDays(currentDate, firstDayOfWeek)[0]) : formatDateKey(currentDate);\n var motionKey = `${view}:${periodKey}`;\n var dragEnabled = enableEventDrag !== null && enableEventDrag !== void 0 ? enableEventDrag : onEventMove !== void 0;\n var hasDom = isWeb && typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var webDragEnabled = dragEnabled && hasDom;\n var nativeDragEnabled = dragEnabled && !isWeb;\n var webResizeEnabled = onEventResize !== void 0 && hasDom;\n var webCreateEnabled = onEventCreate !== void 0 && hasDom;\n var [dragGhost, setDragGhost] = useState(null);\n var [dropTargetKey, setDropTargetKey] = useState(null);\n var [slotTarget, setSlotTarget] = useState(null);\n var [settle, setSettle] = useState(null);\n var [resizePreview, setResizePreview] = useState(null);\n var [createDraft, setCreateDraft] = useState(null);\n var [editorState, setEditorState] = useState(null);\n var [draftTitle, setDraftTitle] = useState(\"\");\n var [overflowDayKey, setOverflowDayKey] = useState(null);\n var [scrollLocked, setScrollLocked] = useState(false);\n var [draggingEventId, setDraggingEventId] = useState(null);\n var suppressClickRef = useRef(false);\n var dragSessionCleanupRef = useRef(null);\n var slotTargetRef = useRef(null);\n var resizePreviewRef = useRef(null);\n var editorStateRef = useRef(null);\n var draftTitleRef = useRef(\"\");\n var dayRefs = useRef(/* @__PURE__ */ new Map());\n var containerNodeRef = useRef(null);\n var containerOffsetRef = useRef({\n x: 0,\n y: 0\n });\n var nativeSessionRef = useRef(null);\n slotTargetRef.current = slotTarget;\n resizePreviewRef.current = resizePreview;\n editorStateRef.current = editorState;\n draftTitleRef.current = draftTitle;\n var registerDayRef = useCallback(function(key, node) {\n if (node) dayRefs.current.set(key, node);\n else dayRefs.current.delete(key);\n }, []);\n var refreshContainerOffset = useCallback(function() {\n var _containerNodeRef_current_measureInWindow, _containerNodeRef_current;\n (_containerNodeRef_current = containerNodeRef.current) === null || _containerNodeRef_current === void 0 ? void 0 : (_containerNodeRef_current_measureInWindow = _containerNodeRef_current.measureInWindow) === null || _containerNodeRef_current_measureInWindow === void 0 ? void 0 : _containerNodeRef_current_measureInWindow.call(_containerNodeRef_current, function(x, y) {\n containerOffsetRef.current = {\n x,\n y\n };\n });\n }, []);\n useEffect(function() {\n return function() {\n var _dragSessionCleanupRef_current;\n return (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n };\n }, []);\n var clearSettle = useCallback(function() {\n return setSettle(null);\n }, []);\n var suppressNextClick = useCallback(function() {\n suppressClickRef.current = true;\n setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }, []);\n var beginSettle = useCallback(function(event, from, to) {\n if (!transition || !hasDom) return;\n setSettle({\n key: Date.now(),\n title: event.title,\n color: event.color,\n from,\n to\n });\n }, [\n transition,\n hasDom\n ]);\n var commitMoveToKey = useCallback(function(event, key) {\n if (!key) return;\n var targetDay = dayKeyToDate(key);\n if (!isSameDay(targetDay, event.start)) {\n onEventMove === null || onEventMove === void 0 ? void 0 : onEventMove(event, computeEventMoveRange(event, targetDay));\n }\n }, [\n onEventMove\n ]);\n var handleEventPointerDown = useCallback(function(event, e, mode) {\n var _ref;\n var _e_stopPropagation, _dragSessionCleanupRef_current, _chipEl_getBoundingClientRect;\n if (!webDragEnabled) return;\n if (e.button !== void 0 && e.button !== 0) return;\n (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n var chipEl = e.currentTarget;\n var originRect = (_ref = chipEl === null || chipEl === void 0 ? void 0 : (_chipEl_getBoundingClientRect = chipEl.getBoundingClientRect) === null || _chipEl_getBoundingClientRect === void 0 ? void 0 : _chipEl_getBoundingClientRect.call(chipEl)) !== null && _ref !== void 0 ? _ref : null;\n var durationMin = event.end ? Math.max(slotMinutes, (event.end.getTime() - event.start.getTime()) / 6e4) : slotMinutes;\n var grabOffsetMin = mode === \"slot\" && originRect ? yToMinutes(e.clientY - originRect.top, hourHeight) : 0;\n var findDayKey = function findDayKey2(x, y) {\n var _ref2;\n var _document_elementFromPoint, _document, _el_closest;\n var el = (_document_elementFromPoint = (_document = document).elementFromPoint) === null || _document_elementFromPoint === void 0 ? void 0 : _document_elementFromPoint.call(_document, x, y);\n var dayEl = el === null || el === void 0 ? void 0 : (_el_closest = el.closest) === null || _el_closest === void 0 ? void 0 : _el_closest.call(el, \"[data-calendar-day]\");\n return (_ref2 = dayEl === null || dayEl === void 0 ? void 0 : dayEl.getAttribute(\"data-calendar-day\")) !== null && _ref2 !== void 0 ? _ref2 : null;\n };\n var findSlotTarget = function findSlotTarget2(x, y) {\n var _document_elementFromPoint, _document, _el_closest;\n var el = (_document_elementFromPoint = (_document = document).elementFromPoint) === null || _document_elementFromPoint === void 0 ? void 0 : _document_elementFromPoint.call(_document, x, y);\n var colEl = el === null || el === void 0 ? void 0 : (_el_closest = el.closest) === null || _el_closest === void 0 ? void 0 : _el_closest.call(el, \"[data-calendar-timecol]\");\n if (!colEl) return null;\n var dayKey = colEl.getAttribute(\"data-calendar-timecol\");\n if (!dayKey) return null;\n var rect = colEl.getBoundingClientRect();\n var raw = yToMinutes(y - rect.top, hourHeight) - grabOffsetMin;\n var startMin = Math.max(0, Math.min(MINUTES_PER_DAY - durationMin, snapMinutes(raw, slotMinutes, \"round\")));\n return {\n dayKey,\n startMin,\n durationMin,\n rect\n };\n };\n var endVisuals = function endVisuals2() {\n setDragGhost(null);\n setDropTargetKey(null);\n setSlotTarget(null);\n setDraggingEventId(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n };\n var lastPoint = {\n x: e.clientX,\n y: e.clientY\n };\n var cleanup = startWebPointerSession({\n pointerType: e.pointerType,\n startX: e.clientX,\n startY: e.clientY,\n onActivate: function onActivate(pt) {\n lastPoint = pt;\n setDraggingEventId(event.id);\n setScrollLocked(true);\n setDragGhost({\n event,\n x: pt.x,\n y: pt.y\n });\n },\n onMove: function onMove(pt) {\n lastPoint = pt;\n setDragGhost({\n event,\n x: pt.x,\n y: pt.y\n });\n if (mode === \"slot\") {\n var target = findSlotTarget(pt.x, pt.y);\n setSlotTarget(target ? {\n dayKey: target.dayKey,\n startMin: target.startMin,\n durationMin\n } : null);\n setDropTargetKey(target ? null : findDayKey(pt.x, pt.y));\n } else {\n setDropTargetKey(findDayKey(pt.x, pt.y));\n }\n },\n onCommit: function onCommit(pt) {\n endVisuals();\n suppressNextClick();\n var ghostFrom = {\n x: pt.x + 12,\n y: pt.y + 12\n };\n if (mode === \"slot\") {\n var target = findSlotTarget(pt.x, pt.y);\n if (target) {\n var targetDay = dayKeyToDate(target.dayKey);\n var range = moveRangeToSlot(event, targetDay, target.startMin);\n if (range.start.getTime() !== event.start.getTime()) {\n onEventMove === null || onEventMove === void 0 ? void 0 : onEventMove(event, range);\n }\n beginSettle(event, ghostFrom, {\n x: target.rect.left + 2,\n y: target.rect.top + minutesToY(target.startMin, hourHeight)\n });\n return;\n }\n }\n var dayKey = findDayKey(pt.x, pt.y);\n if (dayKey) {\n var _cellEl_getBoundingClientRect;\n commitMoveToKey(event, dayKey);\n var cellEl = document.querySelector(`[data-calendar-day=\"${dayKey}\"]`);\n var rect = cellEl === null || cellEl === void 0 ? void 0 : (_cellEl_getBoundingClientRect = cellEl.getBoundingClientRect) === null || _cellEl_getBoundingClientRect === void 0 ? void 0 : _cellEl_getBoundingClientRect.call(cellEl);\n if (rect) beginSettle(event, ghostFrom, {\n x: rect.left + 4,\n y: rect.top + 24\n });\n return;\n }\n if (originRect) beginSettle(event, ghostFrom, {\n x: originRect.left,\n y: originRect.top\n });\n },\n onCancel: function onCancel() {\n var ghost = {\n x: lastPoint.x + 12,\n y: lastPoint.y + 12\n };\n endVisuals();\n suppressClickRef.current = true;\n window.addEventListener(\"pointerup\", function() {\n return setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }, {\n once: true\n });\n if (originRect) {\n beginSettle(event, ghost, {\n x: originRect.left,\n y: originRect.top\n });\n }\n },\n onSettled: function onSettled(activated) {\n if (!activated) {\n endVisuals();\n }\n }\n });\n dragSessionCleanupRef.current = cleanup;\n }, [\n webDragEnabled,\n slotMinutes,\n hourHeight,\n onEventMove,\n commitMoveToKey,\n beginSettle,\n suppressNextClick\n ]);\n var handleResizePointerDown = useCallback(function(event, edge, e) {\n var _e_stopPropagation, _dragSessionCleanupRef_current, _handleEl_closest, _colEl_getBoundingClientRect;\n if (!webResizeEnabled) return;\n if (e.button !== void 0 && e.button !== 0) return;\n (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n var handleEl = e.currentTarget;\n var colEl = handleEl === null || handleEl === void 0 ? void 0 : (_handleEl_closest = handleEl.closest) === null || _handleEl_closest === void 0 ? void 0 : _handleEl_closest.call(handleEl, \"[data-calendar-timecol]\");\n var colRect = colEl === null || colEl === void 0 ? void 0 : (_colEl_getBoundingClientRect = colEl.getBoundingClientRect) === null || _colEl_getBoundingClientRect === void 0 ? void 0 : _colEl_getBoundingClientRect.call(colEl);\n if (!colRect) return;\n var applyPreview = function applyPreview2(pt) {\n var raw = yToMinutes(pt.y - colRect.top, hourHeight);\n var range = computeResizeRange(event, edge, raw, slotMinutes);\n setResizePreview({\n id: event.id,\n start: range.start,\n end: range.end\n });\n };\n var cleanup = startWebPointerSession({\n pointerType: e.pointerType,\n startX: e.clientX,\n startY: e.clientY,\n thresholdPx: 1,\n onActivate: function onActivate(pt) {\n setScrollLocked(true);\n applyPreview(pt);\n },\n onMove: applyPreview,\n onCommit: function onCommit() {\n var _event_end;\n var preview = resizePreviewRef.current;\n setResizePreview(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n suppressNextClick();\n if (!preview) return;\n var prevEnd = (_event_end = event.end) !== null && _event_end !== void 0 ? _event_end : event.start;\n if (preview.start.getTime() !== event.start.getTime() || preview.end.getTime() !== prevEnd.getTime()) {\n onEventResize === null || onEventResize === void 0 ? void 0 : onEventResize(event, {\n start: preview.start,\n end: preview.end\n });\n }\n },\n onCancel: function onCancel() {\n setResizePreview(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n suppressClickRef.current = true;\n window.addEventListener(\"pointerup\", function() {\n return setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }, {\n once: true\n });\n },\n onSettled: function onSettled(activated) {\n if (!activated) {\n setResizePreview(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n }\n }\n });\n dragSessionCleanupRef.current = cleanup;\n }, [\n webResizeEnabled,\n hourHeight,\n slotMinutes,\n onEventResize,\n suppressNextClick\n ]);\n var openEditor = useCallback(function(dayKey, range) {\n setCreateDraft(null);\n setDraftTitle(\"\");\n setEditorState({\n dayKey,\n start: range.start,\n end: range.end\n });\n }, []);\n var commitEditor = useCallback(function() {\n var state = editorStateRef.current;\n if (!state) return;\n setEditorState(null);\n setCreateDraft(null);\n setDraftTitle(\"\");\n onEventCreate === null || onEventCreate === void 0 ? void 0 : onEventCreate({\n title: draftTitleRef.current.trim() || t(\"New event\"),\n start: state.start,\n end: state.end\n });\n }, [\n onEventCreate,\n t\n ]);\n var handleGridPointerDown = useCallback(function(day, e) {\n var _dragSessionCleanupRef_current, _colEl_getBoundingClientRect;\n if (!hasDom) return;\n if (e.button !== void 0 && e.button !== 0) return;\n if (editorStateRef.current) return;\n (_dragSessionCleanupRef_current = dragSessionCleanupRef.current) === null || _dragSessionCleanupRef_current === void 0 ? void 0 : _dragSessionCleanupRef_current.call(dragSessionCleanupRef);\n var colEl = e.currentTarget;\n var colRect = colEl === null || colEl === void 0 ? void 0 : (_colEl_getBoundingClientRect = colEl.getBoundingClientRect) === null || _colEl_getBoundingClientRect === void 0 ? void 0 : _colEl_getBoundingClientRect.call(colEl);\n if (!colRect) return;\n var dayKey = formatDateKey(day);\n var anchorRaw = yToMinutes(e.clientY - colRect.top, hourHeight);\n var created = false;\n var lastRange = null;\n var cleanup = startWebPointerSession({\n pointerType: e.pointerType,\n startX: e.clientX,\n startY: e.clientY,\n onActivate: function onActivate(pt) {\n if (!webCreateEnabled) return;\n created = true;\n setScrollLocked(true);\n var raw = yToMinutes(pt.y - colRect.top, hourHeight);\n var range = createRangeFromDrag(day, anchorRaw, raw, slotMinutes);\n lastRange = range;\n setCreateDraft({\n dayKey,\n start: range.start,\n end: range.end\n });\n },\n onMove: function onMove(pt) {\n if (!webCreateEnabled) return;\n var raw = yToMinutes(pt.y - colRect.top, hourHeight);\n var range = createRangeFromDrag(day, anchorRaw, raw, slotMinutes);\n lastRange = range;\n setCreateDraft({\n dayKey,\n start: range.start,\n end: range.end\n });\n },\n onCommit: function onCommit() {\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n suppressNextClick();\n if (!created) return;\n var range = lastRange !== null && lastRange !== void 0 ? lastRange : createRangeFromDrag(day, anchorRaw, anchorRaw, slotMinutes);\n setTimeout(function() {\n return openEditor(dayKey, range);\n }, 0);\n },\n onCancel: function onCancel() {\n setCreateDraft(null);\n setScrollLocked(false);\n dragSessionCleanupRef.current = null;\n },\n onTapInstead: function onTapInstead() {\n dragSessionCleanupRef.current = null;\n if (suppressClickRef.current) return;\n var startMin = snapMinutes(anchorRaw, slotMinutes, \"floor\");\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(dateAtMinutes(day, startMin));\n },\n onSettled: function onSettled(activated) {\n if (!activated) dragSessionCleanupRef.current = null;\n }\n });\n dragSessionCleanupRef.current = cleanup;\n }, [\n hasDom,\n webCreateEnabled,\n hourHeight,\n slotMinutes,\n onDateSelect,\n openEditor,\n suppressNextClick\n ]);\n var endNativeSession = useCallback(function(opts) {\n var session = nativeSessionRef.current;\n nativeSessionRef.current = null;\n setScrollLocked(false);\n setDragGhost(null);\n setDropTargetKey(null);\n setDraggingEventId(null);\n if (!(session === null || session === void 0 ? void 0 : session.dragging)) return;\n suppressClickRef.current = true;\n setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n if (!opts.commit || opts.pageX === void 0 || opts.pageY === void 0) return;\n measureDayLayouts(dayRefs.current, function(layouts) {\n var _findDayKeyAtPoint;\n var key = (_findDayKeyAtPoint = findDayKeyAtPoint(opts.pageX, opts.pageY, layouts)) !== null && _findDayKeyAtPoint !== void 0 ? _findDayKeyAtPoint : findDayKeyAtPoint(opts.pageX, opts.pageY, session.layouts);\n commitMoveToKey(session.event, key);\n });\n }, [\n commitMoveToKey\n ]);\n var handleNativeGrant = useCallback(function(event, e) {\n var _ref, _ref1;\n var _e_nativeEvent, _e_nativeEvent1;\n if (!nativeDragEnabled) return;\n var pageX = (_ref = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pageX) !== null && _ref !== void 0 ? _ref : 0;\n var pageY = (_ref1 = (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.pageY) !== null && _ref1 !== void 0 ? _ref1 : 0;\n nativeSessionRef.current = {\n event,\n startX: pageX,\n startY: pageY,\n dragging: false,\n layouts: []\n };\n }, [\n nativeDragEnabled\n ]);\n var handleNativeMove = useCallback(function(e) {\n var _ref, _ref1;\n var _e_nativeEvent, _e_nativeEvent1;\n var session = nativeSessionRef.current;\n if (!session) return;\n var pageX = (_ref = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pageX) !== null && _ref !== void 0 ? _ref : 0;\n var pageY = (_ref1 = (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.pageY) !== null && _ref1 !== void 0 ? _ref1 : 0;\n if (!session.dragging) {\n if (Math.hypot(pageX - session.startX, pageY - session.startY) < DRAG_THRESHOLD_PX) return;\n session.dragging = true;\n setScrollLocked(true);\n setDraggingEventId(session.event.id);\n refreshContainerOffset();\n measureDayLayouts(dayRefs.current, function(layouts) {\n if (nativeSessionRef.current) nativeSessionRef.current.layouts = layouts;\n });\n }\n setDragGhost({\n event: session.event,\n x: pageX - containerOffsetRef.current.x + 12,\n y: pageY - containerOffsetRef.current.y + 12\n });\n setDropTargetKey(findDayKeyAtPoint(pageX, pageY, session.layouts));\n }, [\n refreshContainerOffset\n ]);\n var handleNativeRelease = useCallback(function(e) {\n var _e_nativeEvent, _e_nativeEvent1;\n var session = nativeSessionRef.current;\n if (!session) return;\n if (!session.dragging) {\n nativeSessionRef.current = null;\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(session.event);\n return;\n }\n endNativeSession({\n commit: true,\n pageX: (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pageX,\n pageY: (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.pageY\n });\n }, [\n endNativeSession,\n onEventClick\n ]);\n var handleNativeTerminate = useCallback(function() {\n endNativeSession({\n commit: false\n });\n }, [\n endNativeSession\n ]);\n var getEventDragProps = useCallback(function(event) {\n var mode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"day\";\n var base = {\n \"data-calendar-event\": event.id\n };\n if (webDragEnabled) {\n return {\n ...base,\n onPointerDown: function onPointerDown(e) {\n return handleEventPointerDown(event, e, mode);\n }\n };\n }\n if (nativeDragEnabled) {\n return {\n ...base,\n // Claim the touch so moves continue outside the chip (ScrollView-safe once dragging).\n onStartShouldSetResponder: function onStartShouldSetResponder() {\n return true;\n },\n onMoveShouldSetResponder: function onMoveShouldSetResponder() {\n return true;\n },\n onResponderTerminationRequest: function onResponderTerminationRequest() {\n var _nativeSessionRef_current;\n return !((_nativeSessionRef_current = nativeSessionRef.current) === null || _nativeSessionRef_current === void 0 ? void 0 : _nativeSessionRef_current.dragging);\n },\n onResponderGrant: function onResponderGrant(e) {\n return handleNativeGrant(event, e);\n },\n onResponderMove: handleNativeMove,\n onResponderRelease: handleNativeRelease,\n onResponderTerminate: handleNativeTerminate\n };\n }\n return base;\n }, [\n webDragEnabled,\n nativeDragEnabled,\n handleEventPointerDown,\n handleNativeGrant,\n handleNativeMove,\n handleNativeRelease,\n handleNativeTerminate\n ]);\n var eventsByDate = useMemo(function() {\n var grouped = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = events[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var event = _step.value;\n var key = formatDateKey(event.start);\n if (!grouped[key]) grouped[key] = [];\n grouped[key].push(event);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return grouped;\n }, [\n events\n ]);\n var goToPrevious = useCallback(function() {\n navDirectionRef.current = -1;\n hasNavigatedRef.current = true;\n setCurrentDate(function(prev) {\n if (view === \"month\") return addMonths(prev, -1);\n var next = new Date(prev);\n if (view === \"week\") next.setDate(prev.getDate() - 7);\n else next.setDate(prev.getDate() - 1);\n return next;\n });\n }, [\n view\n ]);\n var goToNext = useCallback(function() {\n navDirectionRef.current = 1;\n hasNavigatedRef.current = true;\n setCurrentDate(function(prev) {\n if (view === \"month\") return addMonths(prev, 1);\n var next = new Date(prev);\n if (view === \"week\") next.setDate(prev.getDate() + 7);\n else next.setDate(prev.getDate() + 1);\n return next;\n });\n }, [\n view\n ]);\n var goToToday = useCallback(function() {\n navDirectionRef.current = 0;\n hasNavigatedRef.current = true;\n setCurrentDate(/* @__PURE__ */ new Date());\n }, []);\n var changeView = useCallback(function(next) {\n navDirectionRef.current = 0;\n hasNavigatedRef.current = true;\n setView(next);\n }, []);\n var displayTitle = useMemo(function() {\n if (view === \"month\") {\n return `${monthNames[currentDate.getMonth()]} ${currentDate.getFullYear()}`;\n }\n if (view === \"week\") {\n var weekDays = getWeekDays(currentDate, firstDayOfWeek);\n var start = weekDays[0];\n var end = weekDays[6];\n if (start.getMonth() === end.getMonth()) {\n return `${monthNames[start.getMonth()]} ${start.getDate()} - ${end.getDate()}, ${start.getFullYear()}`;\n }\n return `${monthNames[start.getMonth()]} ${start.getDate()} - ${monthNames[end.getMonth()]} ${end.getDate()}, ${end.getFullYear()}`;\n }\n return `${weekdayNames[currentDate.getDay()]}, ${monthNames[currentDate.getMonth()]} ${currentDate.getDate()}, ${currentDate.getFullYear()}`;\n }, [\n currentDate,\n view,\n firstDayOfWeek\n ]);\n var [focusedDate, setFocusedDate] = useState(null);\n var [focusedSlotMin, setFocusedSlotMin] = useState(9 * 60);\n var [announcement, setAnnouncement] = useState(\"\");\n if (typeof document !== \"undefined\") ensureKeyboardModalityTracking();\n var handleBodyFocus = useCallback(function() {\n if (!wasKeyboardFocus()) return;\n setFocusedDate(function(prev) {\n return prev !== null && prev !== void 0 ? prev : currentDate;\n });\n }, [\n currentDate\n ]);\n useEffect(function() {\n if (hasNavigatedRef.current) setAnnouncement(displayTitle);\n }, [\n displayTitle\n ]);\n var focusedDayKey = focusedDate ? formatDateKey(focusedDate) : null;\n var focusCellId = focusedDayKey ? view === \"month\" ? `${calendarId}-day-${focusedDayKey}` : `${calendarId}-slot-cursor` : void 0;\n var handleBodyKeyDown = useCallback(function(e) {\n if (editorStateRef.current) return;\n var key = e.key;\n var arrows = [\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\"\n ];\n if (arrows.includes(key)) {\n var _e_preventDefault;\n (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);\n var base = focusedDate !== null && focusedDate !== void 0 ? focusedDate : currentDate;\n if (!focusedDate) {\n setFocusedDate(base);\n setAnnouncement(formatDayLong(base));\n return;\n }\n if (view !== \"month\" && (key === \"ArrowUp\" || key === \"ArrowDown\")) {\n var nextMin = moveFocusSlot(focusedSlotMin, key, slotMinutes);\n setFocusedSlotMin(nextMin);\n setAnnouncement(`${formatDayLong(base)}, ${formatTimeRangeLabel(dateAtMinutes(base, nextMin), dateAtMinutes(base, nextMin + slotMinutes))}`);\n return;\n }\n var logicalKey = isRTL && key === \"ArrowLeft\" ? \"ArrowRight\" : isRTL && key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n var next = moveFocusDate(base, logicalKey, view);\n setFocusedDate(next);\n setAnnouncement(formatDayLong(next));\n var delta = next.getTime() - base.getTime();\n if (view === \"month\" && next.getMonth() !== currentDate.getMonth()) {\n navDirectionRef.current = delta > 0 ? 1 : -1;\n hasNavigatedRef.current = true;\n setCurrentDate(next);\n } else if (view === \"week\") {\n var visible = getWeekDays(currentDate, firstDayOfWeek).map(formatDateKey);\n if (!visible.includes(formatDateKey(next))) {\n navDirectionRef.current = delta > 0 ? 1 : -1;\n hasNavigatedRef.current = true;\n setCurrentDate(next);\n }\n } else if (view === \"day\" && !isSameDay(next, currentDate)) {\n navDirectionRef.current = delta > 0 ? 1 : -1;\n hasNavigatedRef.current = true;\n setCurrentDate(next);\n }\n return;\n }\n if (key === \"Enter\" && focusedDate) {\n var _e_preventDefault1;\n (_e_preventDefault1 = e.preventDefault) === null || _e_preventDefault1 === void 0 ? void 0 : _e_preventDefault1.call(e);\n if (view === \"month\") {\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(focusedDate);\n return;\n }\n var start = dateAtMinutes(focusedDate, focusedSlotMin);\n if (onEventCreate) {\n openEditor(formatDateKey(focusedDate), {\n start,\n end: dateAtMinutes(focusedDate, focusedSlotMin + slotMinutes)\n });\n } else {\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(start);\n }\n }\n }, [\n focusedDate,\n currentDate,\n view,\n focusedSlotMin,\n slotMinutes,\n firstDayOfWeek,\n isRTL,\n onDateSelect,\n onEventCreate,\n openEditor\n ]);\n var eventA11yProps = useCallback(function(event) {\n return {\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": eventAccessibleLabel(event),\n outlineWidth: 0,\n focusStyle: {\n outlineWidth: 0\n },\n focusVisibleStyle: ensureFocusVisibleRing({\n outlineOffset: -2\n }),\n onKeyDown: function onKeyDown(ke) {\n if (ke.key === \"Enter\" || ke.key === \" \") {\n var _ke_preventDefault, _ke_stopPropagation;\n (_ke_preventDefault = ke.preventDefault) === null || _ke_preventDefault === void 0 ? void 0 : _ke_preventDefault.call(ke);\n (_ke_stopPropagation = ke.stopPropagation) === null || _ke_stopPropagation === void 0 ? void 0 : _ke_stopPropagation.call(ke);\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(event);\n }\n }\n };\n }, [\n onEventClick\n ]);\n var renderEventBadge = useCallback(function(event) {\n var compact = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var dragProps = getEventDragProps(event, \"day\");\n var lifted = draggingEventId === event.id;\n if (renderEvent) {\n if (!dragEnabled) {\n return /* @__PURE__ */ _jsx(React.Fragment, {\n children: renderEvent(event)\n }, event.id);\n }\n return /* @__PURE__ */ _jsx(YStack, {\n cursor: webDragEnabled ? \"grab\" : void 0,\n opacity: lifted ? 0.4 : 1,\n ...dragProps,\n children: renderEvent(event)\n }, event.id);\n }\n return /* @__PURE__ */ _jsx(YStack, {\n ...knobProps.borderRadius,\n backgroundColor: event.color || \"$accentBackground\",\n padding: compact ? \"$1\" : \"$2\",\n // DG-LAY-04: month-view chips measured 23px tall — floor the visual\n // box at 24 and fill the rest of the 44 target with hit slop (real\n // 44 chips would break stacked chips inside month cells).\n minHeight: MONTH_CHIP_MIN_PX,\n justifyContent: \"center\",\n hitSlop: pressTargetHitSlop(compact ? MONTH_CHIP_MIN_PX : 32),\n opacity: lifted ? 0.4 : 1,\n hoverStyle: {\n opacity: lifted ? 0.4 : 0.9\n },\n pressStyle: {\n opacity: 0.8\n },\n cursor: webDragEnabled ? \"grab\" : \"pointer\",\n ...eventA11yProps(event),\n ...dragProps,\n // Native drag responders own the tap → click is handled on release.\n onPress: nativeDragEnabled ? void 0 : function(e) {\n var _e_stopPropagation;\n e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n if (suppressClickRef.current) return;\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(event);\n },\n children: /* @__PURE__ */ _jsx(Text, {\n ...knobProps.body,\n fontSize: compact ? \"$1\" : \"$2\",\n numberOfLines: compact ? 1 : 2,\n color: eventChipTextColor(event.color, onAccent),\n children: event.title\n })\n }, event.id);\n }, [\n renderEvent,\n onEventClick,\n knobProps.borderRadius,\n dragEnabled,\n webDragEnabled,\n nativeDragEnabled,\n getEventDragProps,\n eventA11yProps,\n draggingEventId,\n onAccent\n ]);\n var MONTH_VISIBLE_EVENTS = 3;\n var renderMonthView = function renderMonthView2() {\n var monthDays = getMonthDays(currentDate, firstDayOfWeek);\n var totalWeeks = Math.ceil(monthDays.length / 7);\n var monthRowMinHeight = monthCellMinHeight;\n if (monthBodyHeight > 0 && totalWeeks * monthCellMinHeight > monthBodyHeight) {\n monthRowMinHeight = totalWeeks * monthRowHardFloor <= monthBodyHeight ? monthRowHardFloor : monthBodyHeight / Math.max(1, Math.floor(monthBodyHeight / monthRowHardFloor));\n }\n var weekdayHeaders = [];\n for (var i = 0; i < 7; i++) {\n weekdayHeaders.push(weekdayNames[(firstDayOfWeek + i) % 7]);\n }\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n role: \"grid\",\n \"aria-label\": t(\"Calendar\"),\n tabIndex: 0,\n \"aria-activedescendant\": focusCellId,\n onFocus: handleBodyFocus,\n onKeyDown: handleBodyKeyDown,\n outlineWidth: 0,\n \"data-calendar-body\": view,\n children: [\n /* @__PURE__ */ _jsx(XStack, {\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n role: \"row\",\n children: weekdayHeaders.map(function(day) {\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n padding: \"$2\",\n alignItems: \"center\",\n role: \"columnheader\",\n backgroundColor: componentColors.surface.background,\n children: /* @__PURE__ */ _jsx(Text, {\n ...nestedKnobs.label,\n fontWeight: \"500\",\n color: knobProps.textAccentColor,\n children: day\n })\n }, day);\n })\n }),\n /* flexGrow content: week rows stretch to share the panel height so a\n 5/6-week month fits without slicing the last row; scroll engages\n only below the per-row hard floor. */\n /* @__PURE__ */ _jsx(ScrollView, {\n flex: 1,\n scrollEnabled: !scrollLocked,\n contentContainerStyle: {\n flexGrow: 1\n },\n onLayout: function onLayout(e) {\n var next = e.nativeEvent.layout.height;\n setMonthBodyHeight(function(prev) {\n return prev === next ? prev : next;\n });\n },\n children: /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n children: Array.from({\n length: totalWeeks\n }).map(function(_, weekIndex, weeks) {\n return (\n // basis:auto (not flex={1}): rows grow from their content and\n // share only the EXTRA space, so a crowded cell can never be\n // sliced by a fixed row share; scroll engages past the floor.\n /* @__PURE__ */ _jsx(XStack, {\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: \"auto\",\n minHeight: monthRowMinHeight,\n role: \"row\",\n children: monthDays.slice(weekIndex * 7, (weekIndex + 1) * 7).map(function(day, dayIndex) {\n var isCurrentMonth = day.getMonth() === currentDate.getMonth();\n var dayKey = formatDateKey(day);\n var dayEvents = eventsByDate[dayKey] || [];\n var isDropTarget = dragGhost !== null && dropTargetKey === dayKey;\n var isFocused = focusedDayKey === dayKey;\n var hiddenCount = dayEvents.length - MONTH_VISIBLE_EVENTS;\n var today = isToday(day);\n return /* @__PURE__ */ _jsxs(YStack, {\n id: `${calendarId}-day-${dayKey}`,\n ...{\n role: \"gridcell\"\n },\n \"aria-selected\": isFocused || void 0,\n \"aria-label\": dayEvents.length > 0 ? `${formatDayLong(day)}, ${withInterp(t(\"{{count}} events\"), {\n count: dayEvents.length\n })}` : formatDayLong(day),\n ref: nativeDragEnabled ? function(node) {\n return registerDayRef(dayKey, node);\n } : void 0,\n flex: 1,\n minHeight: monthRowMinHeight,\n // Interior hairline separators only — the panel frame\n // owns the outer edge (OPTICS: one device pixel, no\n // doubled rules at the last column/row).\n ...gridCellEdges(dayIndex < 6, weekIndex < weeks.length - 1),\n borderColor: \"$borderColor\",\n backgroundColor: isDropTarget ? \"$accentBackground\" : isCurrentMonth ? \"$background\" : componentColors.surface.background,\n padding: cellPad,\n gap: chipGap,\n outlineWidth: 0,\n \"data-calendar-day\": dayKey,\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(day);\n },\n cursor: \"pointer\",\n hoverStyle: {\n backgroundColor: componentColors.surface.background\n },\n children: [\n /* @__PURE__ */ _jsx(XStack, {\n justifyContent: \"flex-end\",\n paddingInlineEnd: \"$1\",\n children: /* @__PURE__ */ _jsx(DayNumberDisc, {\n date: day,\n today,\n inMonth: isCurrentMonth,\n focused: isFocused,\n onAccent,\n nestedPx,\n nestedHitSlop,\n nestedBox,\n label: nestedKnobs.label\n })\n }),\n /* @__PURE__ */ _jsxs(YStack, {\n gap: chipGap,\n children: [\n dayEvents.slice(0, MONTH_VISIBLE_EVENTS).map(function(event) {\n return renderEventBadge(event, true);\n }),\n hiddenCount > 0 && /* @__PURE__ */ _jsx(FloatingPanel, {\n open: overflowDayKey === dayKey,\n onOpenChange: function onOpenChange(open) {\n return setOverflowDayKey(open ? dayKey : null);\n },\n fitContent: true,\n trigger: /* @__PURE__ */ _jsx(XStack, {\n role: \"button\",\n \"aria-label\": withInterp(t(\"Show all {{count}} events\"), {\n count: dayEvents.length\n }),\n cursor: \"pointer\",\n paddingInlineStart: \"$1\",\n hitSlop: nestedHitSlop,\n // Web: keep the \"+N more\" press from also selecting\n // the day cell. Native must not stop propagation —\n // the sheet trigger's own press lives on a parent.\n onPress: isWeb ? function(e) {\n var _e_stopPropagation;\n return e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n } : void 0,\n hoverStyle: {\n opacity: 0.7\n },\n \"data-calendar-overflow\": String(hiddenCount),\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: withInterp(t(\"+{{count}} more\"), {\n count: hiddenCount\n })\n })\n }),\n children: /* @__PURE__ */ _jsxs(YStack, {\n gap: \"$1\",\n minWidth: 220,\n \"data-calendar-overflow-panel\": dayKey,\n children: [\n /* @__PURE__ */ _jsx(Text, {\n ...knobProps.heading,\n fontSize: \"$3\",\n children: formatDayLong(day)\n }),\n dayEvents.map(function(event) {\n return renderEventBadge(event, false);\n })\n ]\n })\n })\n ]\n })\n ]\n }, day.toISOString());\n })\n }, weekIndex)\n );\n })\n })\n })\n ]\n });\n };\n var timeGridScrollRef = useRef(null);\n var gridHeight = 24 * hourHeight;\n useEffect(function() {\n var _timeGridScrollRef_current_scrollTo, _timeGridScrollRef_current;\n if (view === \"month\") return;\n var target = Math.max(0, minutesToY(7 * 60, hourHeight) - 8);\n (_timeGridScrollRef_current = timeGridScrollRef.current) === null || _timeGridScrollRef_current === void 0 ? void 0 : (_timeGridScrollRef_current_scrollTo = _timeGridScrollRef_current.scrollTo) === null || _timeGridScrollRef_current_scrollTo === void 0 ? void 0 : _timeGridScrollRef_current_scrollTo.call(_timeGridScrollRef_current, {\n y: target,\n animated: false\n });\n }, [\n view,\n hourHeight\n ]);\n var renderTimedBlock = function renderTimedBlock2(event, layout) {\n var _event_end;\n var preview = (resizePreview === null || resizePreview === void 0 ? void 0 : resizePreview.id) === event.id ? resizePreview : null;\n var start = preview ? preview.start : event.start;\n var end = preview ? preview.end : (_event_end = event.end) !== null && _event_end !== void 0 ? _event_end : event.start;\n var startMin = minutesOfDay(start);\n var endMin = Math.max(startMin + slotMinutes, startMin + (end.getTime() - start.getTime()) / 6e4);\n var top = minutesToY(startMin, hourHeight);\n var blockHeight = Math.max(MIN_BLOCK_PX, minutesToY(endMin - startMin, hourHeight));\n var widthPct = 100 / layout.columns;\n var leftPct = (isRTL ? layout.columns - 1 - layout.column : layout.column) * widthPct;\n var lifted = draggingEventId === event.id;\n var zoneInner = Math.min(RESIZE_ZONE_PX / 2, blockHeight / 2);\n var dragProps = getEventDragProps(event, \"slot\");\n return /* @__PURE__ */ _jsxs(YStack, {\n position: \"absolute\",\n top,\n height: blockHeight,\n left: `${leftPct}%`,\n width: `${widthPct}%`,\n paddingInlineEnd: 2,\n zIndex: preview ? 4 : 2,\n // LC-25: committed/reverted/snapped geometry jumps tween on web.\n transition: webLayoutTransition,\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n ...knobProps.borderRadius,\n backgroundColor: event.color || \"$accentBackground\",\n padding: \"$1\",\n overflow: \"hidden\",\n opacity: lifted ? 0.4 : 1,\n borderWidth: 1,\n borderColor: \"$background\",\n cursor: webDragEnabled ? \"grab\" : \"pointer\",\n ...eventA11yProps(event),\n ...dragProps,\n onPress: nativeDragEnabled ? void 0 : function(e) {\n var _e_stopPropagation;\n e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n if (suppressClickRef.current) return;\n onEventClick === null || onEventClick === void 0 ? void 0 : onEventClick(event);\n },\n children: renderEvent ? renderEvent(event) : /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n fontWeight: \"600\",\n numberOfLines: 1,\n color: eventChipTextColor(event.color, onAccent),\n children: event.title\n }),\n blockHeight >= 34 && /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n numberOfLines: 1,\n color: eventChipTextColor(event.color, onAccent),\n children: formatTimeRangeLabel(start, end)\n })\n ]\n })\n }),\n /* Resize handles: 44px hit zones straddling each edge (Axiom 12). */\n webResizeEnabled && /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: -RESIZE_ZONE_PX / 2,\n height: RESIZE_ZONE_PX / 2 + zoneInner,\n cursor: \"ns-resize\",\n zIndex: 3,\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingBottom: 2,\n opacity: 0,\n hoverStyle: {\n opacity: 1\n },\n onPointerDown: function onPointerDown(e) {\n return handleResizePointerDown(event, \"start\", e);\n },\n \"data-calendar-resize\": `start:${event.id}`,\n children: /* @__PURE__ */ _jsx(YStack, {\n width: 28,\n height: 3,\n borderRadius: 2,\n backgroundColor: \"$accentColor\"\n })\n }),\n /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n bottom: -RESIZE_ZONE_PX / 2,\n height: RESIZE_ZONE_PX / 2 + zoneInner,\n cursor: \"ns-resize\",\n zIndex: 3,\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n paddingTop: 2,\n opacity: 0,\n hoverStyle: {\n opacity: 1\n },\n onPointerDown: function onPointerDown(e) {\n return handleResizePointerDown(event, \"end\", e);\n },\n \"data-calendar-resize\": `end:${event.id}`,\n children: /* @__PURE__ */ _jsx(YStack, {\n width: 28,\n height: 3,\n borderRadius: 2,\n backgroundColor: \"$accentColor\"\n })\n })\n ]\n }),\n /* Live duration label while resizing. */\n preview && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n top: -26,\n alignSelf: \"center\",\n backgroundColor: \"$background\",\n ...knobProps.borderRadius,\n borderWidth: 1,\n borderColor: \"$borderColor\",\n paddingHorizontal: \"$2\",\n zIndex: 5,\n pointerEvents: \"none\",\n \"data-calendar-resize-label\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: \"$color\",\n children: formatTimeRangeLabel(preview.start, preview.end)\n })\n })\n ]\n }, event.id);\n };\n var renderTimeGrid = function renderTimeGrid2(days) {\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n role: \"grid\",\n \"aria-label\": t(\"Calendar\"),\n tabIndex: 0,\n \"aria-activedescendant\": focusCellId,\n onFocus: handleBodyFocus,\n onKeyDown: handleBodyKeyDown,\n outlineWidth: 0,\n \"data-calendar-body\": view,\n children: [\n /* Day headers */\n /* @__PURE__ */ _jsxs(XStack, {\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n width: 56\n }),\n days.map(function(day) {\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n padding: \"$2\",\n alignItems: \"center\",\n minHeight: MIN_PRESS_TARGET,\n cursor: \"pointer\",\n backgroundColor: componentColors.surface.background,\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(day);\n },\n children: [\n /* @__PURE__ */ _jsx(Text, {\n ...nestedKnobs.label,\n fontWeight: \"500\",\n color: knobProps.textAccentColor,\n children: weekdayNames[day.getDay()]\n }),\n /* @__PURE__ */ _jsx(DayNumberDisc, {\n date: day,\n today: isToday(day),\n inMonth: true,\n focused: false,\n onAccent,\n nestedPx,\n nestedHitSlop,\n nestedBox,\n label: nestedKnobs.label\n })\n ]\n }, day.toISOString());\n })\n ]\n }),\n /* All-day / untimed strip (also the day-granularity drop row) */\n /* @__PURE__ */ _jsxs(XStack, {\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n minHeight: MIN_PRESS_TARGET,\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n width: 56,\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n paddingInlineEnd: \"$2\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: t(\"All day\")\n })\n }),\n days.map(function(day) {\n var dayKey = formatDateKey(day);\n var dayEvents = (eventsByDate[dayKey] || []).filter(function(ev) {\n return !isTimedEvent(ev);\n });\n var isDropTarget = dragGhost !== null && dropTargetKey === dayKey;\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n ...hairlineEnd,\n borderColor: \"$borderColor\",\n padding: \"$1\",\n gap: \"$1\",\n backgroundColor: isDropTarget ? \"$accentBackground\" : void 0,\n \"data-calendar-day\": dayKey,\n ref: nativeDragEnabled ? function(node) {\n return registerDayRef(`allday:${dayKey}`, node);\n } : void 0,\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n onDateSelect === null || onDateSelect === void 0 ? void 0 : onDateSelect(day);\n },\n children: dayEvents.map(function(event) {\n return renderEventBadge(event, true);\n })\n }, day.toISOString());\n })\n ]\n }),\n /* Time grid body */\n /* @__PURE__ */ _jsx(ScrollView, {\n ref: timeGridScrollRef,\n flex: 1,\n scrollEnabled: !scrollLocked,\n children: /* @__PURE__ */ _jsxs(XStack, {\n children: [\n /* Hour gutter */\n /* @__PURE__ */ _jsx(YStack, {\n width: 56,\n children: hours.map(function(hour) {\n return /* @__PURE__ */ _jsx(YStack, {\n height: hourHeight,\n alignItems: \"flex-end\",\n paddingInlineEnd: \"$2\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: formatHour(hour)\n })\n }, hour);\n })\n }),\n days.map(function(day) {\n var dayKey = formatDateKey(day);\n var dayEvents = (eventsByDate[dayKey] || []).filter(isTimedEvent);\n var blocks = layoutDayBlocks(dayEvents.map(function(ev) {\n var _ref;\n var _ev_end;\n return {\n id: ev.id,\n startMin: minutesOfDay(ev.start),\n endMin: Math.min(MINUTES_PER_DAY, Math.max(minutesOfDay(ev.start) + slotMinutes, minutesOfDay(ev.start) + (((_ref = (_ev_end = ev.end) === null || _ev_end === void 0 ? void 0 : _ev_end.getTime()) !== null && _ref !== void 0 ? _ref : ev.start.getTime()) - ev.start.getTime()) / 6e4))\n };\n }));\n var byId = new Map(dayEvents.map(function(ev) {\n return [\n ev.id,\n ev\n ];\n }));\n var isSlotTargetDay = (slotTarget === null || slotTarget === void 0 ? void 0 : slotTarget.dayKey) === dayKey;\n var draftHere = (createDraft === null || createDraft === void 0 ? void 0 : createDraft.dayKey) === dayKey ? createDraft : null;\n var editorHere = (editorState === null || editorState === void 0 ? void 0 : editorState.dayKey) === dayKey ? editorState : null;\n var focusHere = view !== \"month\" && focusedDayKey === dayKey;\n return /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n height: gridHeight,\n position: \"relative\",\n ...hairlineEnd,\n borderColor: \"$borderColor\",\n \"data-calendar-timecol\": dayKey,\n ref: nativeDragEnabled ? function(node) {\n return registerDayRef(dayKey, node);\n } : void 0,\n onPointerDown: hasDom ? function(e) {\n return handleGridPointerDown(day, e);\n } : void 0,\n children: [\n /* Hour lines */\n hours.map(function(hour) {\n return /* @__PURE__ */ _jsx(YStack, {\n height: hourHeight,\n ...hairline.bottom,\n borderColor: componentColors.divider,\n pointerEvents: \"none\"\n }, hour);\n }),\n /* Timed events */\n blocks.map(function(block) {\n var event = byId.get(block.id);\n if (!event) return null;\n return renderTimedBlock(event, block);\n }),\n /* Drop-target slot highlight (ramp tint) */\n isSlotTargetDay && slotTarget && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(slotTarget.startMin, hourHeight),\n height: Math.max(MIN_BLOCK_PX, minutesToY(slotTarget.durationMin, hourHeight)),\n backgroundColor: \"$accentBackground\",\n opacity: 0.25,\n ...knobProps.borderRadius,\n borderWidth: 1,\n borderColor: \"$accentColor\",\n pointerEvents: \"none\",\n zIndex: 1,\n \"data-calendar-slot-target\": \"true\"\n }),\n /* Drag-to-create sketch */\n draftHere && !editorHere && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(minutesOfDay(draftHere.start), hourHeight),\n height: Math.max(MIN_BLOCK_PX, minutesToY((draftHere.end.getTime() - draftHere.start.getTime()) / 6e4, hourHeight)),\n backgroundColor: \"$accentBackground\",\n opacity: 0.45,\n ...knobProps.borderRadius,\n borderWidth: 1,\n borderColor: \"$accentColor\",\n pointerEvents: \"none\",\n zIndex: 4,\n transition: webLayoutTransition,\n \"data-calendar-create-draft\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: \"$accentColor\",\n padding: \"$1\",\n numberOfLines: 1,\n children: formatTimeRangeLabel(draftHere.start, draftHere.end)\n })\n }),\n /* Draft block + live-commit editor (LC-06 / LC-21) */\n editorHere && /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(minutesOfDay(editorHere.start), hourHeight),\n height: Math.max(MIN_BLOCK_PX + 6, minutesToY((editorHere.end.getTime() - editorHere.start.getTime()) / 6e4, hourHeight)),\n zIndex: 5,\n children: /* @__PURE__ */ _jsx(FloatingPanel, {\n open: true,\n onOpenChange: function onOpenChange(open) {\n if (!open) commitEditor();\n },\n fitContent: true,\n trigger: /* @__PURE__ */ _jsx(YStack, {\n ...knobProps.borderRadius,\n height: \"100%\",\n backgroundColor: \"$accentBackground\",\n opacity: 0.9,\n borderWidth: 1,\n borderColor: \"$accentColor\",\n padding: \"$1\",\n overflow: \"hidden\",\n \"data-calendar-editor-block\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n fontWeight: \"600\",\n color: \"$accentColor\",\n numberOfLines: 1,\n children: draftTitle || t(\"New event\")\n })\n }),\n children: /* @__PURE__ */ _jsxs(YStack, {\n gap: \"$2\",\n minWidth: 240,\n \"data-calendar-create-editor\": \"true\",\n children: [\n /* @__PURE__ */ _jsx(Input, {\n label: t(\"Title\"),\n placeholder: t(\"New event\"),\n value: draftTitle,\n onChangeText: setDraftTitle,\n inputProps: {\n autoFocus: true\n }\n }),\n /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$2\",\n color: knobProps.textAccentColor,\n children: `${formatDayLong(editorHere.start)}, ${formatTimeRangeLabel(editorHere.start, editorHere.end)}`\n }),\n /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$1\",\n color: knobProps.textAccentColor,\n children: t(\"Changes apply when the editor closes\")\n })\n ]\n })\n })\n }),\n /* Keyboard slot cursor (discrete moves tween — Axiom 4) */\n focusHere && wasKeyboardFocus() && /* @__PURE__ */ _jsx(YStack, {\n id: `${calendarId}-slot-cursor`,\n ...{\n role: \"gridcell\"\n },\n \"aria-label\": `${formatDayLong(day)}, ${formatTimeRangeLabel(dateAtMinutes(day, focusedSlotMin), dateAtMinutes(day, focusedSlotMin + slotMinutes))}`,\n position: \"absolute\",\n ...overlayInset,\n top: minutesToY(focusedSlotMin, hourHeight),\n height: minutesToY(slotMinutes, hourHeight),\n ...knobProps.borderRadius,\n ...keyboardFocusRingProps,\n pointerEvents: \"none\",\n zIndex: 3,\n transition: webLayoutTransition,\n \"data-calendar-slot-cursor\": \"true\"\n }),\n /* Now indicator */\n isToday(day) && /* @__PURE__ */ _jsx(NowIndicator, {\n hourHeight\n })\n ]\n }, day.toISOString());\n })\n ]\n })\n })\n ]\n });\n };\n var renderWeekView = function renderWeekView2() {\n return renderTimeGrid(getWeekDays(currentDate, firstDayOfWeek));\n };\n var renderDayView = function renderDayView2() {\n return renderTimeGrid([\n currentDate\n ]);\n };\n var physicalDir = navDirectionRef.current * (isRTL ? -1 : 1);\n var bodyEnterVariant = !transition ? void 0 : physicalDir > 0 ? \"fromEnd\" : physicalDir < 0 ? \"fromStart\" : \"fade\";\n var bodyExitVariant = !transition ? void 0 : physicalDir > 0 ? \"fromStart\" : physicalDir < 0 ? \"fromEnd\" : \"fade\";\n return /* @__PURE__ */ _jsxs(YStack, {\n height,\n position: \"relative\",\n overflow: \"hidden\",\n backgroundColor: \"$background\",\n // Panel-tier lift follows the elevation knob (LC-18: the calendar frame\n // is a themed surface, same as Dashboard cards / Kanban columns).\n elevation: knobProps.elevation,\n ref: nativeDragEnabled ? function(node) {\n containerNodeRef.current = node;\n refreshContainerOffset();\n } : void 0,\n onLayout: nativeDragEnabled ? refreshContainerOffset : void 0,\n ...stackProps,\n children: [\n /* Header */\n (showNavigation || showViewSwitcher) && /* @__PURE__ */ _jsxs(XStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...hairline.bottom,\n borderColor: \"$borderColor\",\n children: [\n showNavigation && /* @__PURE__ */ _jsxs(XStack, {\n gap: \"$2\",\n alignItems: \"center\",\n children: [\n /* @__PURE__ */ _jsx(Button, {\n size: knobProps.sizeToken,\n onPress: goToPrevious,\n \"aria-label\": t(\"Previous\"),\n children: \"<\"\n }),\n /* @__PURE__ */ _jsx(Button, {\n size: knobProps.sizeToken,\n onPress: goToToday,\n children: t(\"Today\")\n }),\n /* @__PURE__ */ _jsx(Button, {\n size: knobProps.sizeToken,\n onPress: goToNext,\n \"aria-label\": t(\"Next\"),\n children: \">\"\n })\n ]\n }),\n /* Period title is the panel's section heading — shared scale\n (LC-17), family still follows the heading font knob. */\n /* @__PURE__ */ _jsx(Text, {\n ...knobProps.heading,\n ...sectionHeading,\n children: displayTitle\n }),\n showViewSwitcher && /* Canonical fused view picker (LC-16 ONE-IMPLEMENTATION): brings\n the 44px press-target floor + hitSlop (SP-FIXED) and the\n keyboard focus ring the hand-rolled ToggleGroup lacked. */\n /* @__PURE__ */ _jsx(ViewSwitcher, {\n views: [\n {\n type: \"month\",\n label: t(\"Month\")\n },\n {\n type: \"week\",\n label: t(\"Week\")\n },\n {\n type: \"day\",\n label: t(\"Day\")\n }\n ],\n currentView: view,\n onViewChange: function onViewChange(val) {\n return changeView(val);\n }\n })\n ]\n }),\n /* aria-live region: period + focus announcements (visually hidden) */\n /* @__PURE__ */ _jsx(YStack, {\n position: \"absolute\",\n width: 1,\n height: 1,\n overflow: \"hidden\",\n opacity: 0,\n pointerEvents: \"none\",\n \"aria-live\": \"polite\",\n \"data-calendar-live\": \"true\",\n children: /* @__PURE__ */ _jsx(Text, {\n children: announcement\n })\n }),\n /* Calendar Body — view/period switches slide+fade with PAIRED\n enter/exit (LC-24): the leaving period exits toward where it came\n from while the new one slides in from the reading-direction end.\n Children are keyed per period inside one persistent AnimatePresence\n (keying the presence itself would drop the exit — the old wrapper\n unmounts before it can animate). `fullscreen` keeps both periods\n overlaid during the crossfade instead of stacking in flow. */\n /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n overflow: \"hidden\",\n position: \"relative\",\n children: /* @__PURE__ */ _jsx(AnimatePresence, {\n initial: false,\n enterVariant: bodyEnterVariant,\n exitVariant: bodyExitVariant,\n children: /* @__PURE__ */ _jsxs(CalendarSlide, {\n fullscreen: true,\n x: 0,\n opacity: 1,\n transition,\n \"data-calendar-motion\": motionKey,\n children: [\n view === \"month\" && renderMonthView(),\n view === \"week\" && renderWeekView(),\n view === \"day\" && renderDayView()\n ]\n }, motionKey)\n })\n }),\n /* Drag ghost following the pointer / finger (lifted: shadow + scale) */\n dragGhost && /* @__PURE__ */ _jsx(YStack, {\n pointerEvents: \"none\",\n ...knobProps.borderRadius,\n backgroundColor: dragGhost.event.color || \"$accentBackground\",\n padding: \"$1\",\n opacity: 0.95,\n scale: 1.03,\n ...{\n \"data-calendar-drag-ghost\": true,\n ...isWeb ? {\n style: {\n position: \"fixed\",\n left: dragGhost.x + 12,\n top: dragGhost.y + 12,\n // Sheet tier (Axiom 14): the ghost tracks the pointer\n // above page content and sticky chrome.\n zIndex: zIndex.sheet,\n maxWidth: 220,\n boxShadow: LIFT_SHADOW\n }\n } : {\n position: \"absolute\",\n left: dragGhost.x,\n top: dragGhost.y,\n zIndex: zIndex.sheet,\n maxWidth: 220,\n shadowColor: \"$shadowColor\",\n shadowOffset: {\n width: 0,\n height: 6\n },\n shadowRadius: 12,\n shadowOpacity: 0.3,\n elevation: 8\n }\n },\n children: /* @__PURE__ */ _jsx(Text, {\n fontSize: \"$2\",\n numberOfLines: 1,\n color: eventChipTextColor(dragGhost.event.color, onAccent),\n children: dragGhost.event.title\n })\n }),\n /* FLIP settle: drop/cancel tweens the ghost into its final slot (LC-25) */\n settle && isWeb && /* @__PURE__ */ _jsx(SettleGhost, {\n settle,\n transition,\n borderRadius: knobProps.borderRadius,\n onDone: clearSettle\n }, settle.key)\n ]\n });\n}\nexport {\n Calendar,\n computeEventMoveRange,\n eventChipTextColor,\n findDayKeyAtPoint\n};\n//# sourceMappingURL=Calendar.js.map\n"],"mappings":"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","ignoreList":[]}