kennel 0.2.3 → 0.2.5

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 (237) hide show
  1. package/README.md +23 -13
  2. package/dist/cli/dispatch.js +16 -3
  3. package/dist/cli/src/cli/dispatch.js +16 -3
  4. package/dist/cli/src/cli/usage.js +1 -1
  5. package/dist/cli/src/core/command.js +1 -0
  6. package/dist/cli/src/core/init.js +5 -5
  7. package/dist/cli/src/plugins/external.d.ts +28 -2
  8. package/dist/cli/src/plugins/external.js +75 -21
  9. package/dist/cli/src/site/server-plugins.d.ts +2 -7
  10. package/dist/cli/src/site/viewer.js +1 -0
  11. package/dist/cli/usage.js +1 -1
  12. package/dist/core/command.js +1 -0
  13. package/dist/core/init.js +5 -5
  14. package/dist/core/runtime.js +357 -3207
  15. package/dist/package/preview.js +1232 -5113
  16. package/dist/plugins/external.d.ts +28 -2
  17. package/dist/plugins/external.js +75 -21
  18. package/dist/site/server-plugins.d.ts +2 -7
  19. package/dist/site/server-plugins.js +552 -10447
  20. package/dist/site/viewer.js +1 -0
  21. package/kernel/apps/web/package.json +1 -5
  22. package/kernel/apps/web/scripts/dev.mjs +53 -0
  23. package/kernel/apps/web/src/app.css +0 -3
  24. package/kernel/apps/web/src/main.tsx +0 -1
  25. package/kernel/apps/web/src/plugins.ts +0 -30
  26. package/kernel/apps/web/tsconfig.json +1 -2
  27. package/kernel/apps/web/vite.config.ts +31 -13
  28. package/kernel/packages/api/package.json +0 -4
  29. package/kernel/packages/api/src/server/folder-metadata-plugin.ts +13 -38
  30. package/kernel/packages/api/src/server/index.ts +0 -1
  31. package/kernel/packages/api/src/server/plugins.ts +49 -16
  32. package/kernel/packages/api/test/core.test.ts +13 -25
  33. package/kernel/packages/markdown/README.md +1 -1
  34. package/package.json +1 -1
  35. package/web/assets/{abnfDiagram-VRR7QNED-Bgfb1nEB.js → abnfDiagram-VRR7QNED-xd_g1uK3.js} +1 -1
  36. package/web/assets/app-CX20nNIa.js +2 -0
  37. package/web/assets/{app-options-D-RJiQ-X.js → app-options-CkPJE5ep.js} +1 -1
  38. package/web/assets/{app-view-header-BLvLq02T.js → app-view-header-CNk5KnA-.js} +1 -1
  39. package/web/assets/{arc-Dk_KI36B.js → arc-B0u5yBJA.js} +1 -1
  40. package/web/assets/{architectureDiagram-ZJ3FMSHR-NR_KhRCf.js → architectureDiagram-ZJ3FMSHR-DfxOAo8P.js} +1 -1
  41. package/web/assets/{ask-tray-TzeTcO6-.js → ask-tray-SscJecDY.js} +1 -1
  42. package/web/assets/{blockDiagram-677ZJIJ3-CkLkwx9C.js → blockDiagram-677ZJIJ3-Ci3Usxh6.js} +1 -1
  43. package/web/assets/{c4Diagram-LMCZKHZV-CFCUH8e_.js → c4Diagram-LMCZKHZV-BqgwIVgh.js} +1 -1
  44. package/web/assets/channel-X7WHyxxT.js +1 -0
  45. package/web/assets/{chunk-2Q5K7J3B-B_BPLWsW.js → chunk-2Q5K7J3B-CfX69l2U.js} +1 -1
  46. package/web/assets/{chunk-32BRIVSS-B1VB1hOy.js → chunk-32BRIVSS-CuFlzZkl.js} +1 -1
  47. package/web/assets/{chunk-5VM5RSS4-KFcYr8Co.js → chunk-5VM5RSS4-DidCMlJa.js} +1 -1
  48. package/web/assets/{chunk-EX3LRPZG-CpBX3kuK.js → chunk-EX3LRPZG-B5CDm1dS.js} +1 -1
  49. package/web/assets/{chunk-JWPE2WC7-BPSl40wG.js → chunk-JWPE2WC7-D5fGV_sH.js} +1 -1
  50. package/web/assets/{chunk-MOJQB5TN-D2RcYmoU.js → chunk-MOJQB5TN-ayhH5Q-H.js} +1 -1
  51. package/web/assets/{chunk-RYQCIY6F-m7Gyn-t3.js → chunk-RYQCIY6F-C4BfOOZn.js} +1 -1
  52. package/web/assets/{chunk-V7JOEXUC-TDvdopxS.js → chunk-V7JOEXUC-DpUEIM9V.js} +1 -1
  53. package/web/assets/{chunk-VR4S4FIN-DZTsG51a.js → chunk-VR4S4FIN-DoQuFFRh.js} +1 -1
  54. package/web/assets/{chunk-XXDRQBXY-Dp0--RE2.js → chunk-XXDRQBXY-CI9eiLwn.js} +1 -1
  55. package/web/assets/classDiagram-OUVF2IWQ-BjsLQ3dz.js +1 -0
  56. package/web/assets/classDiagram-v2-EOCWNBFH-BjsLQ3dz.js +1 -0
  57. package/web/assets/client-7OWw5kW2.js +6 -0
  58. package/web/assets/client-DYj_td4Q.js +17 -0
  59. package/web/assets/{client-j2kQmxsO.js → client-Dk-NBvJR.js} +4 -4
  60. package/web/assets/command-zkzH4hVz.js +38 -0
  61. package/web/assets/{copy-context-C0Uqsp-3.js → copy-context-D5oiWrYC.js} +1 -1
  62. package/web/assets/{cose-bilkent-JH36ORCC-CPu3PI8h.js → cose-bilkent-JH36ORCC-BHRk1mO3.js} +1 -1
  63. package/web/assets/{cynefin-VYW2F7L2-DWxftYAm.js → cynefin-VYW2F7L2-C1B09TRE.js} +1 -1
  64. package/web/assets/{cynefinDiagram-TSTJHNR4-DsmN2V-p.js → cynefinDiagram-TSTJHNR4-B27qXQbv.js} +1 -1
  65. package/web/assets/{dagre-VKFMJZFB-COEbApyY.js → dagre-VKFMJZFB-B1qEi32g.js} +1 -1
  66. package/web/assets/{diagram-FQU43EPY-0O9WGWKB.js → diagram-FQU43EPY-BMkkgADD.js} +1 -1
  67. package/web/assets/{diagram-G47NLZAW-CutEdMVh.js → diagram-G47NLZAW-Cb8_g1A5.js} +1 -1
  68. package/web/assets/{diagram-NH7WQ7WH-C9KZc3B2.js → diagram-NH7WQ7WH-B51wuc5m.js} +1 -1
  69. package/web/assets/{diagram-OA4YK3LP-D8kkPXbY.js → diagram-OA4YK3LP-xnsecbbI.js} +1 -1
  70. package/web/assets/{diagram-WEI45ONY-_YqiTaGP.js → diagram-WEI45ONY-DSZdyaAV.js} +1 -1
  71. package/web/assets/{document-Dgt5eZFj.js → document-Dc2dftTW.js} +3 -3
  72. package/web/assets/{ebnfDiagram-CCIWWBDH-JO-zQh6g.js → ebnfDiagram-CCIWWBDH-aTHmcUGy.js} +1 -1
  73. package/web/assets/{entities-C3wz7FCx.js → entities-CCUtpskY.js} +1 -1
  74. package/web/assets/{erDiagram-Q63AITRT-9UjQwJ4P.js → erDiagram-Q63AITRT-CUUPBcvo.js} +1 -1
  75. package/web/assets/{file-viewer-DZJ8nYnl.js → file-viewer-DJ3rsmef.js} +1 -1
  76. package/web/assets/{flowDiagram-23GEKE2U-Ca08tnYM.js → flowDiagram-23GEKE2U-aTQXx2Mh.js} +1 -1
  77. package/web/assets/{folder-image-BfGgxo7i.js → folder-image-Bnv43tzP.js} +1 -1
  78. package/web/assets/{folder-landing-qUKBCnG-.js → folder-landing-DCnzYXXY.js} +1 -1
  79. package/web/assets/{folder-list-BfFjv7rR.js → folder-list-DvVkVjiR.js} +1 -1
  80. package/web/assets/{folder-metadata-DCw8xzHk.js → folder-metadata-C9hMMzIH.js} +1 -1
  81. package/web/assets/{folder-mobile-bar-Ubz4babf.js → folder-mobile-bar-VoTL1GS0.js} +1 -1
  82. package/web/assets/folder-plugin-view-Cvd804ZU.js +6 -0
  83. package/web/assets/{ganttDiagram-NO4QXBWP-KnHzX5W3.js → ganttDiagram-NO4QXBWP-DiwdUp7u.js} +1 -1
  84. package/web/assets/{gitGraphDiagram-IHSO6WYX-Cm8woNtK.js → gitGraphDiagram-IHSO6WYX-BL2gG_IS.js} +1 -1
  85. package/web/assets/{index-CNyy98F8.js → index-CUTtMSyJ.js} +2 -2
  86. package/web/assets/index-CegvVQ1C.js +1 -0
  87. package/web/assets/index-Dwhf8F_U.css +1 -0
  88. package/web/assets/{infoDiagram-FWYZ7A6U-yyqmUtIb.js → infoDiagram-FWYZ7A6U-B3n0zZpt.js} +1 -1
  89. package/web/assets/{ishikawaDiagram-FXEZZL3T-BfvR_Zy4.js → ishikawaDiagram-FXEZZL3T-D7YytbEv.js} +1 -1
  90. package/web/assets/{journeyDiagram-5HDEW3XC-BKuw06HM.js → journeyDiagram-5HDEW3XC-BYwqEl3C.js} +1 -1
  91. package/web/assets/{kanban-definition-HUTT4EX6-n0010rmQ.js → kanban-definition-HUTT4EX6-BQHNJgXZ.js} +1 -1
  92. package/web/assets/{linear-C0d0lT8O.js → linear-BPiQCLNk.js} +1 -1
  93. package/web/assets/{mermaid.core-BDVbShyO.js → mermaid.core-CD-KvBjV.js} +4 -4
  94. package/web/assets/{metadata-KV0dpp4G.js → metadata-COJ7fZul.js} +1 -1
  95. package/web/assets/{mindmap-definition-LN4V7U3C--_0ks3GF.js → mindmap-definition-LN4V7U3C-C1L_gyoj.js} +1 -1
  96. package/web/assets/{pegDiagram-2B236MQR-CBoNIpKR.js → pegDiagram-2B236MQR-BDAfItqS.js} +1 -1
  97. package/web/assets/{pieDiagram-ENE6RG2P-MA5tkYh5.js → pieDiagram-ENE6RG2P-CkZYH3Vz.js} +1 -1
  98. package/web/assets/{popover-DBD7FF-W.js → popover-0oA2lLUV.js} +2 -2
  99. package/web/assets/{project-search-dialog-DM1IkSZu.js → project-search-dialog-B2oqMT6h.js} +1 -1
  100. package/web/assets/{quadrantDiagram-ABIIQ3AL-CWT1ryqF.js → quadrantDiagram-ABIIQ3AL-Dy8Al3YZ.js} +1 -1
  101. package/web/assets/{railroadDiagram-RFXS5EU6-ZiLB5FGi.js → railroadDiagram-RFXS5EU6-Dd9_yo7B.js} +1 -1
  102. package/web/assets/{requirementDiagram-TGXJPOKE-CQq9uneq.js → requirementDiagram-TGXJPOKE-DPhIUsbs.js} +1 -1
  103. package/web/assets/{sankeyDiagram-HTMAVEWB-qDG-0JqI.js → sankeyDiagram-HTMAVEWB-B2QkYtub.js} +1 -1
  104. package/web/assets/{search-DNrQA5fF.js → search-C1J0-xiB.js} +1 -1
  105. package/web/assets/select-CtXC_PLC.js +30 -0
  106. package/web/assets/{selection-popup-DmtTeRs2.js → selection-popup-qhlUFzGq.js} +1 -1
  107. package/web/assets/{sequenceDiagram-DBY2YBRQ-CiApurLO.js → sequenceDiagram-DBY2YBRQ-Bx7fcZDx.js} +1 -1
  108. package/web/assets/{sizeCapture-X5ZJPWSS-DZSR5QXm.js → sizeCapture-X5ZJPWSS-CIXIhl_A.js} +1 -1
  109. package/web/assets/{stateDiagram-2N3HPSRC-CjJJR9_z.js → stateDiagram-2N3HPSRC-DCrdAflB.js} +1 -1
  110. package/web/assets/stateDiagram-v2-6OUMAXLB-0KCFLYeQ.js +1 -0
  111. package/web/assets/{swimlanes-5IMT3BWC-CKmo1sg6.js → swimlanes-5IMT3BWC-DA2vc7iZ.js} +2 -2
  112. package/web/assets/swimlanesDiagram-G3AALYLV-CAw3AV84.js +8 -0
  113. package/web/assets/{timeline-definition-FHXFAJF6-D-NMwS3y.js → timeline-definition-FHXFAJF6-lKfJiV9V.js} +1 -1
  114. package/web/assets/{vennDiagram-L72KCM5P-CfL6LBWw.js → vennDiagram-L72KCM5P-DO1q2KzG.js} +1 -1
  115. package/web/assets/{view-context-gyDl_p2V.js → view-context-DXKM3-l1.js} +4 -4
  116. package/web/assets/{viewer-capabilities-Bpp8Uvcg.js → viewer-capabilities-Cig_xM9u.js} +1 -1
  117. package/web/assets/{wardleyDiagram-EHGQE667-DgldMxaj.js → wardleyDiagram-EHGQE667-Dal9LkuZ.js} +1 -1
  118. package/web/assets/{xychartDiagram-FW5EYKEG-CIoAIFX8.js → xychartDiagram-FW5EYKEG-B3dPLPII.js} +1 -1
  119. package/web/index.html +2 -2
  120. package/kernel/packages/api/test/partial-loading.test.ts +0 -43
  121. package/kernel/plugins/calendar/SKILL.md +0 -173
  122. package/kernel/plugins/calendar/eslint.config.js +0 -10
  123. package/kernel/plugins/calendar/package.json +0 -73
  124. package/kernel/plugins/calendar/schema.json +0 -137
  125. package/kernel/plugins/calendar/src/calendar.tsx +0 -328
  126. package/kernel/plugins/calendar/src/client.tsx +0 -139
  127. package/kernel/plugins/calendar/src/context.ts +0 -48
  128. package/kernel/plugins/calendar/src/copy-button.tsx +0 -66
  129. package/kernel/plugins/calendar/src/event-dialog.tsx +0 -270
  130. package/kernel/plugins/calendar/src/index.ts +0 -4
  131. package/kernel/plugins/calendar/src/manifest.ts +0 -7
  132. package/kernel/plugins/calendar/src/parse.ts +0 -610
  133. package/kernel/plugins/calendar/src/server.ts +0 -160
  134. package/kernel/plugins/calendar/src/utils.ts +0 -80
  135. package/kernel/plugins/calendar/src/views.tsx +0 -418
  136. package/kernel/plugins/calendar/test/context.test.mjs +0 -60
  137. package/kernel/plugins/calendar/test/package.test.mjs +0 -43
  138. package/kernel/plugins/calendar/test/parse.test.mjs +0 -392
  139. package/kernel/plugins/calendar/test/server.test.mjs +0 -126
  140. package/kernel/plugins/calendar/tsconfig.json +0 -17
  141. package/kernel/plugins/mail/SKILL.md +0 -97
  142. package/kernel/plugins/mail/eslint.config.js +0 -10
  143. package/kernel/plugins/mail/package.json +0 -79
  144. package/kernel/plugins/mail/src/api.ts +0 -359
  145. package/kernel/plugins/mail/src/bun-ffi.d.ts +0 -14
  146. package/kernel/plugins/mail/src/client.tsx +0 -14
  147. package/kernel/plugins/mail/src/flock.ts +0 -137
  148. package/kernel/plugins/mail/src/folders.ts +0 -37
  149. package/kernel/plugins/mail/src/history.ts +0 -485
  150. package/kernel/plugins/mail/src/index.ts +0 -3
  151. package/kernel/plugins/mail/src/mail-card.tsx +0 -123
  152. package/kernel/plugins/mail/src/mail-conversation.tsx +0 -153
  153. package/kernel/plugins/mail/src/mail-detail-page.tsx +0 -467
  154. package/kernel/plugins/mail/src/mail-hooks.ts +0 -252
  155. package/kernel/plugins/mail/src/mail-page.tsx +0 -109
  156. package/kernel/plugins/mail/src/mail-request.ts +0 -78
  157. package/kernel/plugins/mail/src/mail-send-box.tsx +0 -175
  158. package/kernel/plugins/mail/src/mailos.ts +0 -723
  159. package/kernel/plugins/mail/src/manifest.ts +0 -7
  160. package/kernel/plugins/mail/src/node.ts +0 -171
  161. package/kernel/plugins/mail/src/parse.ts +0 -139
  162. package/kernel/plugins/mail/src/server.ts +0 -125
  163. package/kernel/plugins/mail/src/types.ts +0 -10
  164. package/kernel/plugins/mail/src/viewer.tsx +0 -147
  165. package/kernel/plugins/mail/test/flock.test.mjs +0 -156
  166. package/kernel/plugins/mail/test/folders.test.mjs +0 -138
  167. package/kernel/plugins/mail/test/history.test.mjs +0 -460
  168. package/kernel/plugins/mail/test/mailos.test.mjs +0 -752
  169. package/kernel/plugins/mail/test/node.test.mjs +0 -207
  170. package/kernel/plugins/mail/test/package.test.mjs +0 -54
  171. package/kernel/plugins/mail/test/parse.test.mjs +0 -32
  172. package/kernel/plugins/mail/test/server.test.mjs +0 -116
  173. package/kernel/plugins/mail/test/viewer.test.mjs +0 -192
  174. package/kernel/plugins/mail/tsconfig.json +0 -17
  175. package/kernel/plugins/projects/SKILL.md +0 -73
  176. package/kernel/plugins/projects/eslint.config.js +0 -10
  177. package/kernel/plugins/projects/package.json +0 -70
  178. package/kernel/plugins/projects/src/client.tsx +0 -17
  179. package/kernel/plugins/projects/src/data/model.ts +0 -129
  180. package/kernel/plugins/projects/src/index.ts +0 -17
  181. package/kernel/plugins/projects/src/manifest.ts +0 -7
  182. package/kernel/plugins/projects/src/project-context.ts +0 -41
  183. package/kernel/plugins/projects/src/server.ts +0 -276
  184. package/kernel/plugins/projects/src/ui/project-card.tsx +0 -61
  185. package/kernel/plugins/projects/src/ui/projects-page.tsx +0 -102
  186. package/kernel/plugins/projects/test/package.test.mjs +0 -51
  187. package/kernel/plugins/projects/tsconfig.json +0 -17
  188. package/kernel/plugins/tasks/SKILL.md +0 -341
  189. package/kernel/plugins/tasks/eslint.config.js +0 -10
  190. package/kernel/plugins/tasks/package.json +0 -74
  191. package/kernel/plugins/tasks/schema.json +0 -939
  192. package/kernel/plugins/tasks/src/api.ts +0 -212
  193. package/kernel/plugins/tasks/src/client.tsx +0 -23
  194. package/kernel/plugins/tasks/src/data/parse.ts +0 -544
  195. package/kernel/plugins/tasks/src/data/task-id.ts +0 -56
  196. package/kernel/plugins/tasks/src/data/todo-model.ts +0 -795
  197. package/kernel/plugins/tasks/src/index.ts +0 -34
  198. package/kernel/plugins/tasks/src/manifest.ts +0 -7
  199. package/kernel/plugins/tasks/src/pages/task-detail.tsx +0 -48
  200. package/kernel/plugins/tasks/src/pages/task-list.tsx +0 -88
  201. package/kernel/plugins/tasks/src/server.ts +0 -447
  202. package/kernel/plugins/tasks/src/styles.css +0 -9
  203. package/kernel/plugins/tasks/src/ui/compact-todo-list.tsx +0 -372
  204. package/kernel/plugins/tasks/src/ui/error-details.tsx +0 -78
  205. package/kernel/plugins/tasks/src/ui/task-page.tsx +0 -392
  206. package/kernel/plugins/tasks/src/ui/todo-agent-filter.tsx +0 -36
  207. package/kernel/plugins/tasks/src/ui/todo-filter-bar.tsx +0 -66
  208. package/kernel/plugins/tasks/src/ui/todo-item.tsx +0 -494
  209. package/kernel/plugins/tasks/src/ui/todo-status-filter.tsx +0 -60
  210. package/kernel/plugins/tasks/src/ui/todo-tag-filter.tsx +0 -48
  211. package/kernel/plugins/tasks/src/ui/todo-warnings.tsx +0 -106
  212. package/kernel/plugins/tasks/test/api.test.mjs +0 -99
  213. package/kernel/plugins/tasks/test/folder-sources.test.mjs +0 -46
  214. package/kernel/plugins/tasks/test/package.test.mjs +0 -54
  215. package/kernel/plugins/tasks/test/parse.test.mjs +0 -225
  216. package/kernel/plugins/tasks/test/server.test.mjs +0 -386
  217. package/kernel/plugins/tasks/tsconfig.json +0 -17
  218. package/web/assets/app-DoGr2Zi7.js +0 -2
  219. package/web/assets/channel-uMEjV8qc.js +0 -1
  220. package/web/assets/classDiagram-OUVF2IWQ-fbZocVor.js +0 -1
  221. package/web/assets/classDiagram-v2-EOCWNBFH-fbZocVor.js +0 -1
  222. package/web/assets/client-C6Nxdfif.js +0 -2
  223. package/web/assets/client-CXYfBko5.js +0 -17
  224. package/web/assets/client-CoKtOq-X.js +0 -7
  225. package/web/assets/client-DyRQz5RU.js +0 -53
  226. package/web/assets/client-OY6HUzuD.js +0 -98
  227. package/web/assets/client-YOYWZIFi.js +0 -34
  228. package/web/assets/command-BugZBGXE.js +0 -38
  229. package/web/assets/folder-plugin-view-DsWR1zmQ.js +0 -6
  230. package/web/assets/index-BaRnbYRw.js +0 -1
  231. package/web/assets/index-BexmLxIP.css +0 -1
  232. package/web/assets/index-DDirZMgx.js +0 -1
  233. package/web/assets/note-card-DBfX6gW1.js +0 -6
  234. package/web/assets/select-D8cqNgcp.js +0 -30
  235. package/web/assets/stateDiagram-v2-6OUMAXLB-BpeGSCu9.js +0 -1
  236. package/web/assets/swimlanesDiagram-G3AALYLV-D9RjLKb9.js +0 -8
  237. package/web/assets/use-folder-filter-LQyXns5Q.js +0 -1
@@ -1,34 +0,0 @@
1
- import{c as v,j as s}from"./react-B9jn2M18.js";import{m as Me}from"./tanstack-YzX_Mi37.js";import{c as ve,a as De}from"./folder-plugin-view-DsWR1zmQ.js";import{u as Se}from"./use-folder-filter-LQyXns5Q.js";import{l as g}from"./view-context-gyDl_p2V.js";import"./markdown-Bw9RgUGR.js";import"./index-CNyy98F8.js";import"./button-C6arH7zt.js";import"./utils-DCaHk0Gm.js";import"./command-BugZBGXE.js";import"./index-CCXE8zc9.js";import"./index-DDirZMgx.js";import"./popover-DBD7FF-W.js";import"./folder-image-BfGgxo7i.js";import"./viewer-capabilities-Bpp8Uvcg.js";const ie=6048e5,Te=864e5,Z=Symbol.for("constructDateFrom");function k(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Z in e?e[Z](t):e instanceof Date?new e.constructor(t):new Date(t)}function y(e,t){return k(t||e,e)}function j(e,t,r){const n=y(e,r?.in);return isNaN(t)?k(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function le(e,t,r){const n=y(e,r?.in);if(isNaN(t))return k(e,NaN);if(!t)return n;const a=n.getDate(),o=k(e,n.getTime());o.setMonth(n.getMonth()+t+1,0);const i=o.getDate();return a>=i?o:(n.setFullYear(o.getFullYear(),o.getMonth(),a),n)}let Oe={};function A(){return Oe}function M(e,t){const r=A(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=y(e,t?.in),o=a.getDay(),i=(o<n?7:0)+o-n;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function L(e,t){return M(e,{...t,weekStartsOn:1})}function ce(e,t){const r=y(e,t?.in),n=r.getFullYear(),a=k(r,0);a.setFullYear(n+1,0,4),a.setHours(0,0,0,0);const o=L(a),i=k(r,0);i.setFullYear(n,0,4),i.setHours(0,0,0,0);const c=L(i);return r.getTime()>=o.getTime()?n+1:r.getTime()>=c.getTime()?n:n-1}function ee(e){const t=y(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),+e-+r}function I(e,...t){const r=k.bind(null,t.find(n=>typeof n=="object"));return t.map(r)}function N(e,t){const r=y(e,t?.in);return r.setHours(0,0,0,0),r}function X(e,t,r){const[n,a]=I(r?.in,e,t),o=N(n),i=N(a),c=+o-ee(o),l=+i-ee(i);return Math.round((c-l)/Te)}function Ce(e,t){const r=ce(e,t),n=k(e,0);return n.setFullYear(r,0,4),n.setHours(0,0,0,0),L(n)}function de(e,t,r){return j(e,t*7,r)}function J(e,t,r){const[n,a]=I(r?.in,e,t);return+N(n)==+N(a)}function Pe(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Ee(e){return!(!Pe(e)&&typeof e!="number"||isNaN(+y(e)))}function We(e,t,r){const[n,a]=I(r?.in,e,t),o=n.getFullYear()-a.getFullYear(),i=n.getMonth()-a.getMonth();return o*12+i}function Ye(e,t){const r=y(e,t?.in);return r.setHours(23,59,59,999),r}function ue(e,t){const r=y(e,t?.in);return r.setDate(1),r.setHours(0,0,0,0),r}function Fe(e,t){const r=y(e,t?.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}function $e(e,t){const r=A(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=y(e,t?.in),o=a.getDay(),i=(o<n?-7:0)+6-(o-n);return a.setDate(a.getDate()+i),a.setHours(23,59,59,999),a}const ze={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},_e=(e,t,r)=>{let n;const a=ze[e];return typeof a=="string"?n=a:t===1?n=a.one:n=a.other.replace("{{count}}",t.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"in "+n:n+" ago":n};function G(e){return(t={})=>{const r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}const Ae={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},qe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Le={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},He={date:G({formats:Ae,defaultWidth:"full"}),time:G({formats:qe,defaultWidth:"full"}),dateTime:G({formats:Le,defaultWidth:"full"})},Ie={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Re=(e,t,r,n)=>Ie[e];function W(e){return(t,r)=>{const n=r?.context?String(r.context):"standalone";let a;if(n==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,c=r?.width?String(r.width):i;a=e.formattingValues[c]||e.formattingValues[i]}else{const i=e.defaultWidth,c=r?.width?String(r.width):e.defaultWidth;a=e.values[c]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}const Be={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ge={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Qe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Ve={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Xe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Ue={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Je=(e,t)=>{const r=Number(e),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},Ke={ordinalNumber:Je,era:W({values:Be,defaultWidth:"wide"}),quarter:W({values:Ge,defaultWidth:"wide",argumentCallback:e=>e-1}),month:W({values:Qe,defaultWidth:"wide"}),day:W({values:Ve,defaultWidth:"wide"}),dayPeriod:W({values:Xe,defaultWidth:"wide",formattingValues:Ue,defaultFormattingWidth:"wide"})};function Y(e){return(t,r={})=>{const n=r.width,a=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const i=o[0],c=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?et(c,u=>u.test(i)):Ze(c,u=>u.test(i));let d;d=e.valueCallback?e.valueCallback(l):l,d=r.valueCallback?r.valueCallback(d):d;const m=t.slice(i.length);return{value:d,rest:m}}}function Ze(e,t){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t(e[r]))return r}function et(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return r}function tt(e){return(t,r={})=>{const n=t.match(e.matchPattern);if(!n)return null;const a=n[0],o=t.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=r.valueCallback?r.valueCallback(i):i;const c=t.slice(a.length);return{value:i,rest:c}}}const rt=/^(\d+)(th|st|nd|rd)?/i,nt=/\d+/i,at={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},st={any:[/^b/i,/^(a|c)/i]},ot={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},it={any:[/1/i,/2/i,/3/i,/4/i]},lt={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ct={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},dt={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ut={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},mt={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},ft={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},ht={ordinalNumber:tt({matchPattern:rt,parsePattern:nt,valueCallback:e=>parseInt(e,10)}),era:Y({matchPatterns:at,defaultMatchWidth:"wide",parsePatterns:st,defaultParseWidth:"any"}),quarter:Y({matchPatterns:ot,defaultMatchWidth:"wide",parsePatterns:it,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Y({matchPatterns:lt,defaultMatchWidth:"wide",parsePatterns:ct,defaultParseWidth:"any"}),day:Y({matchPatterns:dt,defaultMatchWidth:"wide",parsePatterns:ut,defaultParseWidth:"any"}),dayPeriod:Y({matchPatterns:mt,defaultMatchWidth:"any",parsePatterns:ft,defaultParseWidth:"any"})},gt={code:"en-US",formatDistance:_e,formatLong:He,formatRelative:Re,localize:Ke,match:ht,options:{weekStartsOn:0,firstWeekContainsDate:1}};function pt(e,t){const r=y(e,t?.in);return X(r,Fe(r))+1}function bt(e,t){const r=y(e,t?.in),n=+L(r)-+Ce(r);return Math.round(n/ie)+1}function me(e,t){const r=y(e,t?.in),n=r.getFullYear(),a=A(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=k(t?.in||e,0);i.setFullYear(n+1,0,o),i.setHours(0,0,0,0);const c=M(i,t),l=k(t?.in||e,0);l.setFullYear(n,0,o),l.setHours(0,0,0,0);const d=M(l,t);return+r>=+c?n+1:+r>=+d?n:n-1}function xt(e,t){const r=A(),n=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=me(e,t),o=k(t?.in||e,0);return o.setFullYear(a,0,n),o.setHours(0,0,0,0),M(o,t)}function yt(e,t){const r=y(e,t?.in),n=+M(r,t)-+xt(r,t);return Math.round(n/ie)+1}function f(e,t){const r=e<0?"-":"",n=Math.abs(e).toString().padStart(t,"0");return r+n}const S={y(e,t){const r=e.getFullYear(),n=r>0?r:1-r;return f(t==="yy"?n%100:n,t.length)},M(e,t){const r=e.getMonth();return t==="M"?String(r+1):f(r+1,2)},d(e,t){return f(e.getDate(),t.length)},a(e,t){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return r==="am"?"a.m.":"p.m."}},h(e,t){return f(e.getHours()%12||12,t.length)},H(e,t){return f(e.getHours(),t.length)},m(e,t){return f(e.getMinutes(),t.length)},s(e,t){return f(e.getSeconds(),t.length)},S(e,t){const r=t.length,n=e.getMilliseconds(),a=Math.trunc(n*Math.pow(10,r-3));return f(a,t.length)}},O={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},te={G:function(e,t,r){const n=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if(t==="yo"){const n=e.getFullYear(),a=n>0?n:1-n;return r.ordinalNumber(a,{unit:"year"})}return S.y(e,t)},Y:function(e,t,r,n){const a=me(e,n),o=a>0?a:1-a;if(t==="YY"){const i=o%100;return f(i,2)}return t==="Yo"?r.ordinalNumber(o,{unit:"year"}):f(o,t.length)},R:function(e,t){const r=ce(e);return f(r,t.length)},u:function(e,t){const r=e.getFullYear();return f(r,t.length)},Q:function(e,t,r){const n=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return f(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){const n=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return f(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){const n=e.getMonth();switch(t){case"M":case"MM":return S.M(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){const n=e.getMonth();switch(t){case"L":return String(n+1);case"LL":return f(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){const a=yt(e,n);return t==="wo"?r.ordinalNumber(a,{unit:"week"}):f(a,t.length)},I:function(e,t,r){const n=bt(e);return t==="Io"?r.ordinalNumber(n,{unit:"week"}):f(n,t.length)},d:function(e,t,r){return t==="do"?r.ordinalNumber(e.getDate(),{unit:"date"}):S.d(e,t)},D:function(e,t,r){const n=pt(e);return t==="Do"?r.ordinalNumber(n,{unit:"dayOfYear"}):f(n,t.length)},E:function(e,t,r){const n=e.getDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){const a=e.getDay(),o=(a-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return f(o,2);case"eo":return r.ordinalNumber(o,{unit:"day"});case"eee":return r.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(a,{width:"short",context:"formatting"});default:return r.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){const a=e.getDay(),o=(a-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return f(o,t.length);case"co":return r.ordinalNumber(o,{unit:"day"});case"ccc":return r.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(a,{width:"narrow",context:"standalone"});case"cccccc":return r.day(a,{width:"short",context:"standalone"});default:return r.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,r){const n=e.getDay(),a=n===0?7:n;switch(t){case"i":return String(a);case"ii":return f(a,t.length);case"io":return r.ordinalNumber(a,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(a,{width:"narrow",context:"formatting"});default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,r){const n=e.getHours();let a;switch(n===12?a=O.noon:n===0?a=O.midnight:a=n/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(a,{width:"narrow",context:"formatting"});default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,r){const n=e.getHours();let a;switch(n>=17?a=O.evening:n>=12?a=O.afternoon:n>=4?a=O.morning:a=O.night,t){case"B":case"BB":case"BBB":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(a,{width:"narrow",context:"formatting"});default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,r){if(t==="ho"){let n=e.getHours()%12;return n===0&&(n=12),r.ordinalNumber(n,{unit:"hour"})}return S.h(e,t)},H:function(e,t,r){return t==="Ho"?r.ordinalNumber(e.getHours(),{unit:"hour"}):S.H(e,t)},K:function(e,t,r){const n=e.getHours()%12;return t==="Ko"?r.ordinalNumber(n,{unit:"hour"}):f(n,t.length)},k:function(e,t,r){let n=e.getHours();return n===0&&(n=24),t==="ko"?r.ordinalNumber(n,{unit:"hour"}):f(n,t.length)},m:function(e,t,r){return t==="mo"?r.ordinalNumber(e.getMinutes(),{unit:"minute"}):S.m(e,t)},s:function(e,t,r){return t==="so"?r.ordinalNumber(e.getSeconds(),{unit:"second"}):S.s(e,t)},S:function(e,t){return S.S(e,t)},X:function(e,t,r){const n=e.getTimezoneOffset();if(n===0)return"Z";switch(t){case"X":return ne(n);case"XXXX":case"XX":return T(n);default:return T(n,":")}},x:function(e,t,r){const n=e.getTimezoneOffset();switch(t){case"x":return ne(n);case"xxxx":case"xx":return T(n);default:return T(n,":")}},O:function(e,t,r){const n=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+re(n,":");default:return"GMT"+T(n,":")}},z:function(e,t,r){const n=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+re(n,":");default:return"GMT"+T(n,":")}},t:function(e,t,r){const n=Math.trunc(+e/1e3);return f(n,t.length)},T:function(e,t,r){return f(+e,t.length)}};function re(e,t=""){const r=e>0?"-":"+",n=Math.abs(e),a=Math.trunc(n/60),o=n%60;return o===0?r+String(a):r+String(a)+t+f(o,2)}function ne(e,t){return e%60===0?(e>0?"-":"+")+f(Math.abs(e)/60,2):T(e,t)}function T(e,t=""){const r=e>0?"-":"+",n=Math.abs(e),a=f(Math.trunc(n/60),2),o=f(n%60,2);return r+a+t+o}const ae=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},fe=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},wt=(e,t)=>{const r=e.match(/(P+)(p+)?/)||[],n=r[1],a=r[2];if(!a)return ae(e,t);let o;switch(n){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",ae(n,t)).replace("{{time}}",fe(a,t))},Nt={p:fe,P:wt},kt=/^D+$/,jt=/^Y+$/,Mt=["D","DD","YY","YYYY"];function vt(e){return kt.test(e)}function Dt(e){return jt.test(e)}function St(e,t,r){const n=Tt(e,t,r);if(console.warn(n),Mt.includes(e))throw new RangeError(n)}function Tt(e,t,r){const n=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${n} to the input \`${r}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Ot=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ct=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Pt=/^'([^]*?)'?$/,Et=/''/g,Wt=/[a-zA-Z]/;function b(e,t,r){const n=A(),a=n.locale??gt,o=n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=n.weekStartsOn??n.locale?.options?.weekStartsOn??0,c=y(e,r?.in);if(!Ee(c))throw new RangeError("Invalid time value");let l=t.match(Ct).map(m=>{const u=m[0];if(u==="p"||u==="P"){const p=Nt[u];return p(m,a.formatLong)}return m}).join("").match(Ot).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const u=m[0];if(u==="'")return{isToken:!1,value:Yt(m)};if(te[u])return{isToken:!0,value:m};if(u.match(Wt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+u+"`");return{isToken:!1,value:m}});a.localize.preprocessor&&(l=a.localize.preprocessor(c,l));const d={firstWeekContainsDate:o,weekStartsOn:i,locale:a};return l.map(m=>{if(!m.isToken)return m.value;const u=m.value;(Dt(u)||vt(u))&&St(u,t,String(e));const p=te[u[0]];return p(c,u,a.localize,d)}).join("")}function Yt(e){const t=e.match(Pt);return t?t[1].replace(Et,"'"):e}function U(e,t,r){const[n,a]=I(r?.in,e,t);return n.getFullYear()===a.getFullYear()&&n.getMonth()===a.getMonth()}const Ft={blue:{badge:"border-blue-300 bg-blue-50 text-blue-800 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-200",dot:"bg-blue-500",selected:"border-blue-600 bg-blue-600 !text-white shadow-sm hover:bg-blue-700",soft:"border-blue-200 bg-blue-50 text-blue-800 hover:bg-blue-100 dark:border-blue-900 dark:bg-blue-950 dark:text-blue-200"},green:{badge:"border-emerald-300 bg-emerald-50 text-emerald-800 dark:border-emerald-800 dark:bg-emerald-950 dark:text-emerald-200",dot:"bg-emerald-500",selected:"border-emerald-600 bg-emerald-600 !text-white shadow-sm hover:bg-emerald-700",soft:"border-emerald-200 bg-emerald-50 text-emerald-800 hover:bg-emerald-100 dark:border-emerald-900 dark:bg-emerald-950 dark:text-emerald-200"},orange:{badge:"border-orange-300 bg-orange-50 text-orange-800 dark:border-orange-800 dark:bg-orange-950 dark:text-orange-200",dot:"bg-orange-500",selected:"border-orange-600 bg-orange-600 !text-white shadow-sm hover:bg-orange-700",soft:"border-orange-200 bg-orange-50 text-orange-800 hover:bg-orange-100 dark:border-orange-900 dark:bg-orange-950 dark:text-orange-200"},purple:{badge:"border-purple-300 bg-purple-50 text-purple-800 dark:border-purple-800 dark:bg-purple-950 dark:text-purple-200",dot:"bg-purple-500",selected:"border-purple-600 bg-purple-600 !text-white shadow-sm hover:bg-purple-700",soft:"border-purple-200 bg-purple-50 text-purple-800 hover:bg-purple-100 dark:border-purple-900 dark:bg-purple-950 dark:text-purple-200"},red:{badge:"border-red-300 bg-red-50 text-red-800 dark:border-red-800 dark:bg-red-950 dark:text-red-200",dot:"bg-red-500",selected:"border-red-600 bg-red-600 !text-white shadow-sm hover:bg-red-700",soft:"border-red-200 bg-red-50 text-red-800 hover:bg-red-100 dark:border-red-900 dark:bg-red-950 dark:text-red-200"},yellow:{badge:"border-amber-300 bg-amber-50 text-amber-900 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-100",dot:"bg-amber-500",selected:"border-amber-500 bg-amber-500 !text-amber-950 shadow-sm hover:bg-amber-600",soft:"border-amber-200 bg-amber-50 text-amber-900 hover:bg-amber-100 dark:border-amber-900 dark:bg-amber-950 dark:text-amber-100"}};function he(e){return Ft[e??"blue"]}function K(e){return he(e.color??e.groupColor)}function x(...e){return e.filter(Boolean).join(" ")}function z(e){return{allDay:e.allDay??e.end.getTime()-e.start.getTime()>=86399e3,end:e.end,start:e.start}}function ge(e){return[`## ${e.title}`,"",`- ID: ${e.id}`,`- Start: ${e.start.toISOString()}`,`- End: ${e.end.toISOString()}`,`- All day: ${z(e).allDay?"Yes":"No"}`,e.group?`- Group: ${e.group}`:null,e.status?`- Status: ${e.status}`:null,e.location?`- Location: ${e.location}`:null,e.organizer?`- Organizer: ${e.organizer}`:null,e.attendees?.length?`- Attendees: ${e.attendees.join(", ")}`:null,e.repeating?`- Repeats: ${e.repeating}`:null,e.repeatUntil?`- Repeat until: ${e.repeatUntil.toISOString()}`:null,e.excludeDates?.length?`- Excluded dates: ${e.excludeDates.map(r=>r.toISOString()).join(", ")}`:null,e.reminders?.length?`- Reminders: ${e.reminders.map(r=>r===0?"at start":`${r} minutes before`).join(", ")}`:null,e.tags?.length?`- Tags: ${e.tags.join(", ")}`:null,e.color?`- Color: ${e.color}`:null,e.url?`- URL: ${e.url}`:null,e.description?"":null,e.description??null].filter(r=>r!==null).join(`
2
- `)}function $t(e,t){const r=`# Calendar context for ${b(e,"EEEE, MMMM d, yyyy")}`;return t.length?`${r}
3
-
4
- ${[...t].sort((n,a)=>n.start.getTime()-a.start.getTime()).map(ge).join(`
5
-
6
- `)}`:`${r}
7
-
8
- No events.`}function zt(e){const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.cssText="position:fixed;left:-9999px;top:0",document.body.append(t),t.select();const r=document.execCommand("copy");return t.remove(),r}function _t(e){const t=zt(e);return navigator.clipboard?.writeText?navigator.clipboard.writeText(e).then(()=>!0,()=>t):Promise.resolve(t)}function pe({className:e,iconOnly:t=!1,label:r,value:n}){const[a,o]=v.useState(!1);return s.jsxs("button",{"aria-label":r,className:x("hover:bg-accent flex items-center gap-1 rounded-md border text-xs",t?"size-8 justify-center p-0":"px-2 py-1",e),onClick:()=>{_t(n).then(i=>{i&&(o(!0),window.setTimeout(()=>o(!1),1800))})},title:r,type:"button",children:[a?s.jsx(g.Check,{"aria-hidden":"true",className:"size-3.5"}):s.jsx(g.Clipboard,{"aria-hidden":"true",className:"size-3.5"}),t?null:a?"Copied":r]})}const At=new Set(["blue","green","red","yellow","purple","orange"]),qt=new Set(["daily","weekly","monthly"]),Lt=new Set(["confirmed","tentative","cancelled"]);function C(e,t){for(const r of t){const n=e[r];if(n!=null&&n!=="")return n}}function F(e,t){const r=C(e,t);return typeof r=="string"&&r.trim()?r.trim():void 0}function se(e){if(!Array.isArray(e))return;const t=[...new Set(e.filter(r=>typeof r=="string").map(r=>r.trim()).filter(Boolean))];return t.length?t:void 0}function Ht(e){if(!Array.isArray(e))return;const t=[...new Set(e.filter(r=>typeof r=="number"&&Number.isInteger(r)&&r>=0))].sort((r,n)=>r-n);return t.length?t:void 0}const It=/^\d{4}-\d{2}-\d{2}$/;function Rt(e){const t=e.trim();if(!It.test(t))return;const[r,n,a]=t.split("-").map(Number);return new Date(r??0,(n??1)-1,a??1)}function _(e,t){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(typeof e=="number"&&Number.isFinite(e))return new Date(e);if(typeof e=="string"&&e.trim()){const r=Rt(e)??new Date(e);if(!Number.isNaN(r.getTime()))return r}return t}function Q(e){if(typeof e!="string")return;const t=e.toLowerCase();return At.has(t)?t:void 0}function Bt(e){if(typeof e!="string")return;const t=e.toLowerCase();return qt.has(t)?t:void 0}function Gt(e){if(typeof e!="string")return;const t=e.toLowerCase();return Lt.has(t)?t:void 0}function Qt(e){if(typeof e!="string"||!e.trim())return;const t=e.trim();return/^https?:\/\/[^\s]+$/i.test(t)?t:void 0}function Vt(e){if(!Array.isArray(e))return;const t=e.map(r=>_(r,new Date(Number.NaN))).filter(r=>!Number.isNaN(r.getTime()));return t.length?t:void 0}function Xt(e){if(typeof e=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(e)){const r=_(e,new Date(Number.NaN));return Number.isNaN(r.getTime())?void 0:Ye(r)}const t=_(e,new Date(Number.NaN));return Number.isNaN(t.getTime())?void 0:t}function Ut(e){return e.map((t,r)=>Jt(t,r))}function Jt(e,t){const r=C(e,["id","uid","key"])?.toString()??String(t),n=_(C(e,["start","startDate","start_date","date","begin"]),new Date(0)),a=_(C(e,["end","endDate","end_date","due","finish"]),n),o=typeof e.allDay=="boolean"?e.allDay:void 0,i=n,c=a>i?a:new Date(i.getTime()+(o?864e5:36e5)),l=C(e,["color","colour","calendarId","calendar","category"])??C(e,["calendars"]),d=Q(l)??Q(Array.isArray(l)?l[0]:void 0);return{id:r,start:i,end:c,color:d,folder:typeof e.folder=="string"?e.folder:void 0,group:F(e,["group"]),groupColor:Q(e.groupColor),repeating:Bt(e.repeating),allDay:o,attendees:se(e.attendees),excludeDates:Vt(e.excludeDates),location:F(e,["location"]),organizer:F(e,["organizer"]),reminders:Ht(e.reminders),repeatUntil:Xt(e.repeatUntil),status:Gt(e.status),tags:se(e.tags),url:Qt(e.url),description:F(e,["description","detail","notes","summary","body"]),title:F(e,["title","name","subject","summary","label"])??"Untitled"}}const $=["green","orange","purple","red","yellow","blue"];function Kt(e){const t=new Map,r=new Set;for(const a of e){if(!a.group||t.has(a.group))continue;const o=a.color??a.groupColor;t.set(a.group,o),o&&r.add(o)}let n=0;for(const[a,o]of t){if(o!==void 0)continue;let i;for(let c=0;c<$.length;c++){const l=$[(n+c)%$.length];if(!r.has(l)){i=l,n+=c+1;break}}i||(i=$[n%$.length],n+=1),r.add(i),t.set(a,i)}return e.map(a=>({...a,color:a.color??a.groupColor??t.get(a.group??"")??"blue"}))}function Zt(e,t){return e.repeating==="daily"?j(e.start,t):e.repeating==="weekly"?de(e.start,t):le(e.start,t)}function er(e,t){return e.repeating==="daily"?Math.max(0,X(t,e.start)-1):e.repeating==="weekly"?Math.max(0,Math.floor(X(t,e.start)/7)-1):Math.max(0,We(t,e.start)-1)}function V(e,t,r){if(Number.isNaN(t.getTime())||Number.isNaN(r.getTime())||r<=t)return[];const n=[];for(const a of e){if(!a.repeating){a.end>t&&a.start<r&&n.push(a);continue}const o=a.end.getTime()-a.start.getTime(),i=new Date(t.getTime()-o);for(let c=er(a,i);;c+=1){const l=Zt(a,c);if(Number.isNaN(l.getTime())||l>=r||a.repeatUntil&&l>a.repeatUntil)break;const d=new Date(l.getTime()+o);d<=t||a.excludeDates?.some(m=>J(m,l))||n.push({...a,id:`${a.id}:${l.toISOString()}`,start:l,end:d})}}return n.sort((a,o)=>a.start.getTime()-o.start.getTime())}function tr({event:e}){return s.jsxs("details",{className:"relative",children:[s.jsx("summary",{"aria-label":"More event actions",className:`hover:bg-accent flex size-8 cursor-pointer list-none
9
- items-center justify-center rounded-md
10
- [&::-webkit-details-marker]:hidden`,title:"More event actions",children:s.jsx(g.EllipsisVertical,{"aria-hidden":"true",className:"size-4"})}),s.jsxs("div",{className:`bg-background absolute top-9 right-0 z-10 min-w-48 rounded-md
11
- border p-1 shadow-lg`,role:"menu",children:[s.jsx(pe,{className:"w-full justify-start border-0",label:"Copy event context",value:ge(e)}),e.url?s.jsxs("a",{className:`hover:bg-accent flex items-center gap-2 rounded-md px-2
12
- py-1.5 text-xs`,href:e.url,rel:"noreferrer",role:"menuitem",target:"_blank",children:[s.jsx(g.ExternalLink,{"aria-hidden":"true",className:"size-3.5"}),"Open event link"]}):null]})]})}function rr({event:e}){return s.jsx("span",{className:x("truncate",e.status==="cancelled"&&"line-through opacity-60"),children:e.title})}function nr({event:e}){const t=K(e);return s.jsx("span",{"aria-hidden":"true",className:x("size-1.5 shrink-0 rounded-full",t.dot)})}function be({event:e,variant:t="chip"}){const r=z(e).allDay,n=K(e),[a,o]=v.useState(!1);return s.jsxs(s.Fragment,{children:[s.jsx("button",{className:x(`block w-full cursor-pointer truncate rounded px-1.5 py-0.5 text-left
13
- text-xs`,t==="bar"?n.soft:"hover:bg-accent"),onClick:()=>o(!0),type:"button",children:s.jsxs("span",{className:"flex items-center gap-1.5 leading-tight",children:[t==="chip"?s.jsx(nr,{event:e}):null,s.jsx(rr,{event:e})]})}),a?s.jsx("div",{className:`fixed inset-0 z-50 flex items-center justify-center
14
- bg-black/50 p-4`,role:"presentation",children:s.jsxs("div",{"aria-label":e.title,"aria-modal":"true",className:`bg-background relative max-h-[85vh] w-full max-w-sm
15
- overflow-auto rounded-xl border p-5 shadow-xl`,role:"dialog",children:[s.jsxs("div",{className:"absolute top-3 right-3 flex items-center gap-1",children:[s.jsx(tr,{event:e}),s.jsx("button",{"aria-label":"Close event",className:`hover:bg-accent flex size-8 items-center
16
- justify-center rounded-md`,onClick:()=>o(!1),title:"Close event",type:"button",children:s.jsx(g.X,{"aria-hidden":"true",className:"size-4"})})]}),s.jsx("h2",{className:"pr-20 text-lg font-semibold",children:e.title}),s.jsxs("div",{className:"pt-2 text-sm",children:[s.jsxs("p",{className:"text-muted-foreground flex items-center gap-1.5",children:[s.jsx(g.Clock,{"aria-hidden":"true",className:"size-3.5"}),r?`All day · ${b(e.start,"MMM d, yyyy")}`:`${b(e.start,"MMM d, yyyy h:mm a")} - ${b(e.end,"h:mm a")}`]}),e.group?s.jsxs("p",{className:x(`mt-2 inline-flex items-center gap-1.5 rounded-full border
17
- px-2 py-0.5 text-xs font-medium`,n.soft),children:[s.jsx("span",{"aria-hidden":"true",className:x("size-2 rounded-full",n.dot)}),e.group]}):null,e.description?s.jsx("p",{className:"pt-1 whitespace-pre-wrap",children:e.description}):null,e.location?s.jsxs("p",{className:`text-muted-foreground flex items-center gap-1.5
18
- pt-2`,children:[s.jsx(g.MapPin,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),e.location]}):null,e.organizer?s.jsxs("p",{className:`text-muted-foreground flex items-center gap-1.5
19
- pt-2`,children:[s.jsx(g.UserRound,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),"Organized by ",e.organizer]}):null,e.attendees?.length?s.jsxs("p",{className:`text-muted-foreground flex items-start gap-1.5
20
- pt-2`,children:[s.jsx(g.UsersRound,{"aria-hidden":"true",className:"mt-0.5 size-3.5 shrink-0"}),s.jsx("span",{children:e.attendees.join(", ")})]}):null,e.reminders?.length?s.jsxs("p",{className:`text-muted-foreground flex items-start gap-1.5
21
- pt-2`,children:[s.jsx(g.Bell,{"aria-hidden":"true",className:"mt-0.5 size-3.5 shrink-0"}),s.jsx("span",{children:e.reminders.map(i=>i===0?"At start":`${i} minutes before`).join(", ")})]}):null,e.repeating?s.jsxs("p",{className:"text-muted-foreground pt-2 capitalize",children:["Repeats ",e.repeating,e.repeatUntil?` until ${b(e.repeatUntil,"MMM d, yyyy")}`:""]}):null,e.excludeDates?.length?s.jsxs("p",{className:"text-muted-foreground pt-2",children:["Excluded:"," ",e.excludeDates.map(i=>b(i,"MMM d, yyyy")).join(", ")]}):null,e.status?s.jsxs("p",{className:"pt-2 capitalize",children:["Status: ",e.status]}):null,e.tags?.length?s.jsxs("div",{className:"flex items-center gap-1.5 pt-2",children:[s.jsx(g.Tag,{"aria-hidden":"true",className:"text-muted-foreground size-3.5 shrink-0"}),s.jsx("div",{className:"flex flex-wrap gap-1",children:e.tags.map(i=>s.jsx("span",{className:"bg-muted rounded px-2 py-0.5 text-xs",children:i},i))})]}):null,e.url?s.jsxs("a",{className:`text-primary flex items-center gap-1.5 pt-2
22
- underline underline-offset-4`,href:e.url,rel:"noreferrer",target:"_blank",children:[s.jsx(g.ExternalLink,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),s.jsx("span",{className:"break-all",children:e.url})]}):null]})]})}):null]})}const ar=["Mo","Tu","We","Th","Fr","Sa","Su"],xe={weekStartsOn:1},oe=48;function ye(e,t){if(e.length===0)return[];const r=N(e[0]),n=j(N(e[e.length-1]),1),a=t.filter(c=>c.end>r&&c.start<n).sort((c,l)=>c.start.getTime()-l.start.getTime()||l.end.getTime()-l.start.getTime()-(c.end.getTime()-c.start.getTime())),o=[],i=[];for(const c of a){const l=Math.max(0,e.findIndex(u=>u.getTime()>=N(c.start).getTime()));let d=l;for(let u=l;u<e.length&&!(e[u].getTime()>=c.end.getTime());u++)d=u;let m=o.findIndex(u=>u<=l);m===-1&&(m=o.length,o.push(-1)),o[m]=d+1,i.push({endCol:d,event:c,lane:m,startCol:l})}return i}function we({columns:e,items:t}){if(t.length===0)return null;const r=Math.max(...t.map(n=>n.lane))+1;return s.jsx("div",{className:"relative grid",style:{gridTemplateColumns:`repeat(${e}, 1fr)`,gridTemplateRows:`repeat(${r}, auto)`},children:t.map(n=>s.jsx("div",{className:"min-w-0 pr-0.5 pb-0.5",style:{gridColumn:`${n.startCol+1} / ${n.endCol+2}`,gridRow:n.lane+1},children:s.jsx(be,{event:n.event,variant:n.endCol>n.startCol?"bar":"chip"})},n.event.id))})}function sr({date:e,events:t}){const r=ue(e),n=M(r,xe),a=Array.from({length:6},(o,i)=>Array.from({length:7},(c,l)=>j(n,i*7+l)));return s.jsxs("div",{children:[s.jsx("div",{className:"grid grid-cols-7",children:ar.map(o=>s.jsx("div",{className:`text-muted-foreground border-b py-1 text-center text-xs
23
- font-medium`,children:o},o))}),a.map(o=>s.jsx(or,{days:o,events:t,monthStart:r},o[0].toISOString()))]})}function or({days:e,events:t,monthStart:r}){const n=ye(e,t);return s.jsxs("div",{className:"min-h-20 border-b last:border-b-0",children:[s.jsx("div",{className:"grid grid-cols-7",children:e.map(a=>{const o=U(a,r),i=J(a,new Date);return s.jsx("div",{className:x("flex justify-end border-r px-1.5 py-1 last:border-r-0",!o&&"bg-muted/30"),children:s.jsx("span",{className:x("flex size-5 items-center justify-center rounded-full text-xs",i?"bg-primary text-primary-foreground font-semibold":"text-muted-foreground"),children:b(a,"d")})},a.toISOString())})}),s.jsxs("div",{className:"relative min-h-14 pt-0.5",children:[s.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 grid grid-cols-7",children:e.map(a=>s.jsx("div",{className:x("border-r last:border-r-0",!U(a,r)&&"bg-muted/30")},a.toISOString()))}),s.jsx(we,{columns:e.length,items:n})]})]})}function ir(e,t){const r=N(t),n=j(r,1),a=new Map;for(const o of e.filter(i=>i.end>r&&i.start<n&&!z(i).allDay)){const i=Math.max(0,Math.floor(o.start.getHours())),c=Math.min(23,o.end.getHours());for(let l=i;l<=c;l++){const d=a.get(l)??[];d.push(o),a.set(l,d)}}return a}function Ne({columns:e,columnHeaders:t,events:r}){const n=v.useRef(null),a=e.map(l=>({hours:ir(r,l)})),o=ye(e,r.filter(l=>z(l).allDay)),i=o.length>0,c=r.filter(l=>!z(l).allDay).sort((l,d)=>l.start.getTime()-d.start.getTime())[0];return v.useEffect(()=>{const l=requestAnimationFrame(()=>{const d=n.current?.querySelector('[data-slot="scroll-area-viewport"]'),m=d?.querySelector('[data-calendar-first-event="true"]');if(!d||!m)return;const u=d.getBoundingClientRect(),p=m.getBoundingClientRect();d.scrollTo({behavior:"auto",top:Math.max(0,d.scrollTop+p.top-u.top-d.clientHeight/2+p.height/2)})});return()=>cancelAnimationFrame(l)},[c?.id,c?.start]),s.jsx("div",{className:"h-[calc(100vh-240px)] min-h-80",ref:n,children:s.jsx("div",{className:"size-full overflow-auto rounded-[inherit]","data-slot":"scroll-area-viewport",children:s.jsxs("div",{className:"min-w-[600px]",children:[t?s.jsxs("div",{className:"grid border-b",style:{gridTemplateColumns:`52px repeat(${e.length}, 1fr)`},children:[s.jsx("div",{}),t.map((l,d)=>s.jsx("div",{className:"border-l px-2 py-2 font-medium",children:l},e[d]?.toISOString()))]}):null,i?s.jsxs("div",{className:"grid border-b",style:{gridTemplateColumns:"52px 1fr"},children:[s.jsx("div",{className:`text-muted-foreground px-1 py-1 text-right
24
- text-[0.65rem] uppercase`,children:"All day"}),s.jsxs("div",{className:"relative min-h-8 py-0.5",children:[s.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${e.length}, 1fr)`},children:e.map(l=>s.jsx("div",{className:"border-l"},l.toISOString()))}),s.jsx(we,{columns:e.length,items:o})]})]}):null,s.jsxs("div",{className:"grid",style:{gridTemplateColumns:`52px repeat(${e.length}, 1fr)`},children:[s.jsx("div",{children:Array.from({length:24},(l,d)=>s.jsx("div",{className:`text-muted-foreground relative pr-2 text-right
25
- text-[0.65rem]`,style:{height:oe},children:s.jsx("span",{className:"absolute top-0 right-1 -translate-y-1/2",children:d===0?"":b(new Date(2020,0,1,d),"ha")})},d))}),a.map((l,d)=>s.jsx("div",{className:"border-l",children:Array.from({length:24},(m,u)=>s.jsx("div",{className:"relative border-t px-1",style:{height:oe},children:l.hours.get(u)?.map(p=>s.jsx("div",{className:x("mb-0.5 truncate rounded border-l-2 text-xs last:mb-0",K(p).badge),"data-calendar-first-event":p.id===c?.id?"true":void 0,children:s.jsx(be,{event:p})},p.id))??null},u))},e[d]?.toISOString()))]})]})})})}function lr({date:e,events:t}){return s.jsx(Ne,{columnHeaders:[s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx(g.CalendarDays,{"aria-hidden":"true",className:"size-4"}),b(e,"EEE MMM d")]},"day")],columns:[N(e)],events:t})}function cr({date:e,events:t}){const r=M(e,xe),n=Array.from({length:7},(o,i)=>j(r,i)),a=n.map(o=>s.jsxs("div",{className:x("leading-tight",J(o,new Date)&&"text-primary"),children:[s.jsx("strong",{children:b(o,"EEE")})," ",s.jsx("span",{className:"text-muted-foreground",children:b(o,"d")})]},o.toISOString()));return s.jsx(Ne,{columnHeaders:a,columns:n,events:t})}const H={weekStartsOn:1};function dr(e,t){if(e==="day")return b(t,"EEEE, MMM d, yyyy");if(e==="week"){const r=M(t,H),n=$e(t,H);return U(r,n)?`${b(r,"MMM d")} - ${b(n,"d, yyyy")}`:`${b(r,"MMM d")} - ${b(n,"MMM d, yyyy")}`}return b(t,"MMMM yyyy")}function ur({date:e,onNavigate:t,onToday:r,onView:n,view:a}){return s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b px-3 py-2",children:[s.jsx("button",{className:"hover:bg-accent h-8 rounded-md border px-3 text-sm",onClick:r,type:"button",children:"Today"}),s.jsxs("div",{className:"flex items-center gap-0.5",children:[s.jsx("button",{"aria-label":"Previous",className:`hover:bg-accent flex size-8 items-center justify-center
26
- rounded-md`,onClick:()=>t(-1),type:"button",children:s.jsx(g.ChevronLeft,{"aria-hidden":"true",className:"size-4"})}),s.jsx("button",{"aria-label":"Next",className:`hover:bg-accent flex size-8 items-center justify-center
27
- rounded-md`,onClick:()=>t(1),type:"button",children:s.jsx(g.ChevronRight,{"aria-hidden":"true",className:"size-4"})})]}),s.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:dr(a,e)}),s.jsx("div",{"aria-label":"Calendar view",className:"bg-muted flex shrink-0 rounded-md p-1",role:"tablist",children:["month","week","day"].map(o=>s.jsx("button",{"aria-selected":a===o,className:x("rounded px-2 py-1 text-xs capitalize",a===o&&"bg-background shadow-sm"),onClick:()=>n(o),role:"tab",type:"button",children:o},o))})]})}function mr(e){if(!e)return new Date;const t=new Date(e);return Number.isNaN(t.getTime())?new Date:t}function fr(e,t,r){if(t==="month"){const a=M(ue(r),H);return V(e,a,j(a,42))}if(t==="week"){const a=M(r,H);return V(e,a,j(a,7))}const n=N(r);return V(e,n,j(n,1))}function hr(){return s.jsxs("div",{className:`flex flex-col items-center justify-center gap-2 px-6 py-16
28
- text-center`,children:[s.jsx(g.CalendarDays,{"aria-hidden":"true",className:"text-muted-foreground size-8"}),s.jsx("p",{className:"text-muted-foreground text-sm",children:"No events in this view."})]})}function gr(){return s.jsx("div",{"aria-label":"Loading calendar",className:"flex min-h-80 items-center justify-center",children:s.jsx(g.Loader2,{"aria-label":"Loading",className:"text-muted-foreground size-6 animate-spin",role:"status"})})}function pr({active:e,groups:t,onChange:r}){return t.length<2?null:s.jsxs("div",{"aria-label":"Calendar groups",className:"flex min-w-0 flex-1 gap-1 overflow-x-auto",children:[s.jsxs("button",{"aria-pressed":!e,className:x(`focus-visible:ring-ring flex shrink-0 items-center gap-1.5
29
- rounded-full border px-2.5 py-1 text-xs font-medium transition-colors
30
- focus-visible:ring-2 focus-visible:outline-none`,e?"bg-background hover:bg-muted":`border-slate-900 bg-slate-900 !text-white shadow-sm
31
- dark:border-slate-100 dark:bg-slate-100 dark:!text-slate-900`),onClick:()=>r(void 0),type:"button",children:[e?null:s.jsx(g.Check,{"aria-hidden":"true",className:"size-3"}),"All"]}),t.map(n=>{const a=e===n.name,o=he(n.color);return s.jsxs("button",{"aria-pressed":a,className:x(`focus-visible:ring-ring flex shrink-0 items-center gap-1.5
32
- rounded-full border px-2.5 py-1 text-xs font-medium
33
- transition-colors focus-visible:ring-2 focus-visible:outline-none`,a?o.selected:o.soft),onClick:()=>r(a?void 0:n.name),type:"button",children:[a?s.jsx(g.Check,{"aria-hidden":"true",className:"size-3"}):s.jsx("span",{"aria-hidden":"true",className:x("size-2 rounded-full",o.dot)}),n.name]},n.name)})]})}function br({events:e,className:t,initialDate:r,initialView:n="month",loading:a=!1}){const[o,i]=v.useState(()=>mr(r)),[c,l]=v.useState(n),[d,m]=v.useState(),u=h=>{i(w=>c==="month"?le(w,h):c==="week"?de(w,h):j(w,h))},p=Kt(e),D=h=>{if(m(h),!h)return;const w=p.filter(E=>E.group===h).map(E=>E.start).sort((E,je)=>E.getTime()-je.getTime())[0];w&&i(N(w))},R=new Map,B=new Map;for(const h of p)!h.group||R.has(h.group)||(R.set(h.group,h.color),B.set(h.group,h.start.getTime()));const ke=[...R].map(([h,w])=>({color:w,name:h})).sort((h,w)=>(B.get(h.name)??0)-(B.get(w.name)??0)||h.name.localeCompare(w.name)),q=d?p.filter(h=>h.group===d):p,P=fr(q,c,o);return s.jsxs("div",{className:x("calendar-view overflow-hidden rounded-xl border",t),children:[s.jsx(ur,{date:o,onNavigate:u,onToday:()=>i(new Date),onView:l,view:c}),s.jsxs("div",{className:"flex items-center gap-2 border-b px-3 py-2",children:[c==="day"?s.jsx(pe,{iconOnly:!0,label:"Copy day context",value:$t(o,P)}):null,s.jsx(pr,{active:d,groups:ke,onChange:D}),s.jsxs("span",{className:"ml-auto rounded-md border px-2 py-0.5 text-xs",children:[q.length,d?` of ${e.length}`:""," ",q.length===1?"event":"events"]})]}),a?s.jsx(gr,{}):q.length===0||P.length===0?s.jsx(hr,{}):c==="month"?s.jsx(sr,{date:o,events:P}):c==="week"?s.jsx(cr,{date:o,events:P}):s.jsx(lr,{date:o,events:P})]})}function xr({issues:e}){return s.jsxs("div",{className:"rounded-md border border-[#9c3a3a]/40 p-4",children:[s.jsx("p",{className:"m-0 text-sm font-semibold text-[#9c3a3a]",children:"calendar.json is not valid."}),s.jsx("ul",{className:"m-0 mt-2 list-disc space-y-1 pl-5 text-sm text-[#9c3a3a]",children:e.map((t,r)=>s.jsxs("li",{children:[s.jsx("code",{className:"text-[13px]",children:t.path}),": ",t.message]},r))})]})}function yr({folder:e,folderId:t,request:r}){const n=Me.useQuery({enabled:!!e,gcTime:3e5,queryFn:()=>r(""),queryKey:["folder",t,"calendar",""],staleTime:15e3}),a=n.data,o=a?.status==="available",i=v.useMemo(()=>Ut(a?.calendar?.items??[]),[a?.calendar?.items]),c=Se(i,{getFolder:d=>d.folder??null,rootFolder:e}),l=v.useMemo(()=>{const d=a?.calendar?.startDate;if(d){const D=new Date(d);if(!Number.isNaN(D.getTime()))return D}if(!i.length)return;const m=new Date,u=Math.min(...i.map(D=>D.start.getTime())),p=Math.max(...i.map(D=>D.end.getTime()));return m.getTime()>=u&&m.getTime()<=p?m:new Date(u)},[a?.calendar?.startDate,i]);return s.jsxs("div",{className:`mx-auto grid w-full max-w-[1100px] min-w-0 grid-cols-1 gap-4
34
- px-4 py-5`,children:[n.isPending?s.jsx("p",{className:"text-muted-foreground m-0 text-sm",children:"Loading calendar…"}):null,n.error?s.jsx("p",{className:"m-0 text-sm text-[#9c3a3a]",children:"Could not load calendar."}):null,!n.error&&a?.status==="error"&&a.issues?.length?s.jsx(xr,{issues:a.issues}):null,!n.isPending&&!n.error&&a&&!o?s.jsx("p",{className:"text-muted-foreground m-0 text-sm",children:"No calendar found in this folder."}):null,o&&a?.calendar?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"m-0 text-xl font-semibold",children:a.calendar.title??"Calendar"}),c.choices.length>1?s.jsx(De,{ariaLabel:"Filter by folder",choices:c.choices,onSelect:c.setSelected,selected:c.effectiveSelected,total:c.total}):null,s.jsx(br,{className:"bg-background",events:c.visibleItems,initialDate:l,loading:n.isPending})]}):null]})}const Fr={...ve,component:yr};export{xr as CalendarIssues,yr as CalendarPlugin,Fr as calendarClient};
@@ -1,38 +0,0 @@
1
- import{c as s,j as m,R as Be,d as ht,B as Et}from"./react-B9jn2M18.js";import{R as yt,h as bt}from"./index-CCXE8zc9.js";import{l as Ke}from"./view-context-gyDl_p2V.js";import{a as M}from"./utils-DCaHk0Gm.js";import{D as xt,c as Ct,d as Dt,a as wt,b as Rt,e as Nt,f as St,g as It}from"./index-DDirZMgx.js";var Ae=1,Pt=.9,Ot=.8,At=.17,me=.1,pe=.999,_t=.9999,kt=.99,Tt=/[\\\/_+.#"@\[\(\{&]/,Mt=/[\\\/_+.#"@\[\(\{&]/g,Ft=/[\s-]/,Ve=/[\s-]/g;function ye(e,t,n,o,r,a,c){if(a===t.length)return r===e.length?Ae:kt;var i=`${r},${a}`;if(c[i]!==void 0)return c[i];for(var f=o.charAt(a),l=n.indexOf(f,r),d=0,p,y,h,R;l>=0;)p=ye(e,t,n,o,l+1,a+1,c),p>d&&(l===r?p*=Ae:Tt.test(e.charAt(l-1))?(p*=Ot,h=e.slice(r,l-1).match(Mt),h&&r>0&&(p*=Math.pow(pe,h.length))):Ft.test(e.charAt(l-1))?(p*=Pt,R=e.slice(r,l-1).match(Ve),R&&r>0&&(p*=Math.pow(pe,R.length))):(p*=At,r>0&&(p*=Math.pow(pe,l-r))),e.charAt(l)!==t.charAt(a)&&(p*=_t)),(p<me&&n.charAt(l-1)===o.charAt(a+1)||o.charAt(a+1)===o.charAt(a)&&n.charAt(l-1)!==o.charAt(a))&&(y=ye(e,t,n,o,l+1,a+2,c),y*me>p&&(p=y*me)),p>d&&(d=p),l=n.indexOf(f,l+1);return c[i]=d,d}function _e(e){return e.toLowerCase().replace(Ve," ")}function jt(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,ye(e,t,_e(e),_e(t),0,0,{})}function W(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function ke(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function K(...e){return t=>{let n=!1;const o=e.map(r=>{const a=ke(r,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let r=0;r<o.length;r++){const a=o[r];typeof a=="function"?a():ke(e[r],null)}}}}function H(...e){return s.useCallback(K(...e),e)}function Lt(e,t){const n=s.createContext(t),o=a=>{const{children:c,...i}=a,f=s.useMemo(()=>i,Object.values(i));return m.jsx(n.Provider,{value:f,children:c})};o.displayName=e+"Provider";function r(a){const c=s.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,r]}function $t(e,t=[]){let n=[];function o(a,c){const i=s.createContext(c),f=n.length;n=[...n,c];const l=p=>{const{scope:y,children:h,...R}=p,x=y?.[e]?.[f]||i,N=s.useMemo(()=>R,Object.values(R));return m.jsx(x.Provider,{value:N,children:h})};l.displayName=a+"Provider";function d(p,y){const h=y?.[e]?.[f]||i,R=s.useContext(h);if(R)return R;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[l,d]}const r=()=>{const a=n.map(c=>s.createContext(c));return function(i){const f=i?.[e]||a;return s.useMemo(()=>({[`__scope${e}`]:{...i,[e]:f}}),[i,f])}};return r.scopeName=e,[o,Wt(r,...t)]}function Wt(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(a){const c=o.reduce((i,{useScope:f,scopeName:l})=>{const p=f(a)[`__scope${l}`];return{...i,...p}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var ee=globalThis?.document?s.useLayoutEffect:()=>{},Ut=Be[" useId ".trim().toString()]||(()=>{}),Bt=0;function j(e){const[t,n]=s.useState(Ut());return ee(()=>{n(o=>o??String(Bt++))},[e]),t?`radix-${t}`:""}var Kt=Be[" useInsertionEffect ".trim().toString()]||ee;function Vt({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,a,c]=zt({defaultProp:t,onChange:n}),i=e!==void 0,f=i?e:r;{const d=s.useRef(e!==void 0);s.useEffect(()=>{const p=d.current;p!==i&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}const l=s.useCallback(d=>{if(i){const p=Ht(d)?d(e):d;p!==e&&c.current?.(p)}else a(d)},[i,e,a,c]);return[f,l]}function zt({defaultProp:e,onChange:t}){const[n,o]=s.useState(e),r=s.useRef(n),a=s.useRef(t);return Kt(()=>{a.current=t},[t]),s.useEffect(()=>{r.current!==n&&(a.current?.(n),r.current=n)},[n,r]),[n,o,a]}function Ht(e){return typeof e=="function"}function ze(e){const t=Gt(e),n=s.forwardRef((o,r)=>{const{children:a,...c}=o,i=s.Children.toArray(a),f=i.find(Xt);if(f){const l=f.props.children,d=i.map(p=>p===f?s.Children.count(l)>1?s.Children.only(null):s.isValidElement(l)?l.props.children:null:p);return m.jsx(t,{...c,ref:r,children:s.isValidElement(l)?s.cloneElement(l,void 0,d):null})}return m.jsx(t,{...c,ref:r,children:a})});return n.displayName=`${e}.Slot`,n}function Gt(e){const t=s.forwardRef((n,o)=>{const{children:r,...a}=n;if(s.isValidElement(r)){const c=Zt(r),i=Yt(a,r.props);return r.type!==s.Fragment&&(i.ref=o?K(o,c):c),s.cloneElement(r,i)}return s.Children.count(r)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var qt=Symbol("radix.slottable");function Xt(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===qt}function Yt(e,t){const n={...t};for(const o in t){const r=e[o],a=t[o];/^on[A-Z]/.test(o)?r&&a?n[o]=(...i)=>{const f=a(...i);return r(...i),f}:r&&(n[o]=r):o==="style"?n[o]={...r,...a}:o==="className"&&(n[o]=[r,a].filter(Boolean).join(" "))}return{...e,...n}}function Zt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Jt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],P=Jt.reduce((e,t)=>{const n=ze(`Primitive.${t}`),o=s.forwardRef((r,a)=>{const{asChild:c,...i}=r,f=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(f,{...i,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Qt(e,t){e&&ht.flushSync(()=>e.dispatchEvent(t))}function te(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...n)=>t.current?.(...n),[])}function en(e,t=globalThis?.document){const n=te(e);s.useEffect(()=>{const o=r=>{r.key==="Escape"&&n(r)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var tn="DismissableLayer",be="dismissableLayer.update",nn="dismissableLayer.pointerDownOutside",rn="dismissableLayer.focusOutside",Te,He=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ge=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:c,onDismiss:i,...f}=e,l=s.useContext(He),[d,p]=s.useState(null),y=d?.ownerDocument??globalThis?.document,[,h]=s.useState({}),R=H(t,E=>p(E)),x=Array.from(l.layers),[N]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),S=x.indexOf(N),k=d?x.indexOf(d):-1,A=l.layersWithOutsidePointerEventsDisabled.size>0,I=k>=S,T=an(E=>{const L=E.target,Z=[...l.branches].some(B=>B.contains(L));!I||Z||(r?.(E),c?.(E),E.defaultPrevented||i?.())},y),D=ln(E=>{const L=E.target;[...l.branches].some(B=>B.contains(L))||(a?.(E),c?.(E),E.defaultPrevented||i?.())},y);return en(E=>{k===l.layers.size-1&&(o?.(E),!E.defaultPrevented&&i&&(E.preventDefault(),i()))},y),s.useEffect(()=>{if(d)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(Te=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),Me(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=Te)}},[d,y,n,l]),s.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),Me())},[d,l]),s.useEffect(()=>{const E=()=>h({});return document.addEventListener(be,E),()=>document.removeEventListener(be,E)},[]),m.jsx(P.div,{...f,ref:R,style:{pointerEvents:A?I?"auto":"none":void 0,...e.style},onFocusCapture:W(e.onFocusCapture,D.onFocusCapture),onBlurCapture:W(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:W(e.onPointerDownCapture,T.onPointerDownCapture)})});Ge.displayName=tn;var on="DismissableLayerBranch",sn=s.forwardRef((e,t)=>{const n=s.useContext(He),o=s.useRef(null),r=H(t,o);return s.useEffect(()=>{const a=o.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),m.jsx(P.div,{...e,ref:r})});sn.displayName=on;function an(e,t=globalThis?.document){const n=te(e),o=s.useRef(!1),r=s.useRef(()=>{});return s.useEffect(()=>{const a=i=>{if(i.target&&!o.current){let f=function(){qe(nn,n,l,{discrete:!0})};const l={originalEvent:i};i.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=f,t.addEventListener("click",r.current,{once:!0})):f()}else t.removeEventListener("click",r.current);o.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",a),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function ln(e,t=globalThis?.document){const n=te(e),o=s.useRef(!1);return s.useEffect(()=>{const r=a=>{a.target&&!o.current&&qe(rn,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Me(){const e=new CustomEvent(be);document.dispatchEvent(e)}function qe(e,t,n,{discrete:o}){const r=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Qt(r,a):r.dispatchEvent(a)}var ve="focusScope.autoFocusOnMount",ge="focusScope.autoFocusOnUnmount",Fe={bubbles:!1,cancelable:!0},cn="FocusScope",Xe=s.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...c}=e,[i,f]=s.useState(null),l=te(r),d=te(a),p=s.useRef(null),y=H(t,x=>f(x)),h=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(o){let x=function(A){if(h.paused||!i)return;const I=A.target;i.contains(I)?p.current=I:$(p.current,{select:!0})},N=function(A){if(h.paused||!i)return;const I=A.relatedTarget;I!==null&&(i.contains(I)||$(p.current,{select:!0}))},S=function(A){if(document.activeElement===document.body)for(const T of A)T.removedNodes.length>0&&$(i)};document.addEventListener("focusin",x),document.addEventListener("focusout",N);const k=new MutationObserver(S);return i&&k.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",x),document.removeEventListener("focusout",N),k.disconnect()}}},[o,i,h.paused]),s.useEffect(()=>{if(i){Le.add(h);const x=document.activeElement;if(!i.contains(x)){const S=new CustomEvent(ve,Fe);i.addEventListener(ve,l),i.dispatchEvent(S),S.defaultPrevented||(un(vn(Ye(i)),{select:!0}),document.activeElement===x&&$(i))}return()=>{i.removeEventListener(ve,l),setTimeout(()=>{const S=new CustomEvent(ge,Fe);i.addEventListener(ge,d),i.dispatchEvent(S),S.defaultPrevented||$(x??document.body,{select:!0}),i.removeEventListener(ge,d),Le.remove(h)},0)}}},[i,l,d,h]);const R=s.useCallback(x=>{if(!n&&!o||h.paused)return;const N=x.key==="Tab"&&!x.altKey&&!x.ctrlKey&&!x.metaKey,S=document.activeElement;if(N&&S){const k=x.currentTarget,[A,I]=dn(k);A&&I?!x.shiftKey&&S===I?(x.preventDefault(),n&&$(A,{select:!0})):x.shiftKey&&S===A&&(x.preventDefault(),n&&$(I,{select:!0})):S===k&&x.preventDefault()}},[n,o,h.paused]);return m.jsx(P.div,{tabIndex:-1,...c,ref:y,onKeyDown:R})});Xe.displayName=cn;function un(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if($(o,{select:t}),document.activeElement!==n)return}function dn(e){const t=Ye(e),n=je(t,e),o=je(t.reverse(),e);return[n,o]}function Ye(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function je(e,t){for(const n of e)if(!fn(n,{upTo:t}))return n}function fn(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function mn(e){return e instanceof HTMLInputElement&&"select"in e}function $(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&mn(e)&&t&&e.select()}}var Le=pn();function pn(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=$e(e,t),e.unshift(t)},remove(t){e=$e(e,t),e[0]?.resume()}}}function $e(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function vn(e){return e.filter(t=>t.tagName!=="A")}var gn="Portal",Ze=s.forwardRef((e,t)=>{const{container:n,...o}=e,[r,a]=s.useState(!1);ee(()=>a(!0),[]);const c=n||r&&globalThis?.document?.body;return c?Et.createPortal(m.jsx(P.div,{...o,ref:t}),c):null});Ze.displayName=gn;function hn(e,t){return s.useReducer((n,o)=>t[n][o]??n,e)}var ae=e=>{const{present:t,children:n}=e,o=En(t),r=typeof n=="function"?n({present:o.isPresent}):s.Children.only(n),a=H(o.ref,yn(r));return typeof n=="function"||o.isPresent?s.cloneElement(r,{ref:a}):null};ae.displayName="Presence";function En(e){const[t,n]=s.useState(),o=s.useRef(null),r=s.useRef(e),a=s.useRef("none"),c=e?"mounted":"unmounted",[i,f]=hn(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const l=oe(o.current);a.current=i==="mounted"?l:"none"},[i]),ee(()=>{const l=o.current,d=r.current;if(d!==e){const y=a.current,h=oe(l);e?f("MOUNT"):h==="none"||l?.display==="none"?f("UNMOUNT"):f(d&&y!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,f]),ee(()=>{if(t){let l;const d=t.ownerDocument.defaultView??window,p=h=>{const x=oe(o.current).includes(CSS.escape(h.animationName));if(h.target===t&&x&&(f("ANIMATION_END"),!r.current)){const N=t.style.animationFillMode;t.style.animationFillMode="forwards",l=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=N)})}},y=h=>{h.target===t&&(a.current=oe(o.current))};return t.addEventListener("animationstart",y),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{d.clearTimeout(l),t.removeEventListener("animationstart",y),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:s.useCallback(l=>{o.current=l?getComputedStyle(l):null,n(l)},[])}}function oe(e){return e?.animationName||"none"}function yn(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var he=0;function bn(){s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??We()),document.body.insertAdjacentElement("beforeend",e[1]??We()),he++,()=>{he===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),he--}},[])}function We(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ie="Dialog",[Je]=$t(ie),[xn,F]=Je(ie),Qe=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:a,modal:c=!0}=e,i=s.useRef(null),f=s.useRef(null),[l,d]=Vt({prop:o,defaultProp:r??!1,onChange:a,caller:ie});return m.jsx(xn,{scope:t,triggerRef:i,contentRef:f,contentId:j(),titleId:j(),descriptionId:j(),open:l,onOpenChange:d,onOpenToggle:s.useCallback(()=>d(p=>!p),[d]),modal:c,children:n})};Qe.displayName=ie;var et="DialogTrigger",Cn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(et,n),a=H(t,r.triggerRef);return m.jsx(P.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":we(r.open),...o,ref:a,onClick:W(e.onClick,r.onOpenToggle)})});Cn.displayName=et;var Ce="DialogPortal",[Dn,tt]=Je(Ce,{forceMount:void 0}),nt=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,a=F(Ce,t);return m.jsx(Dn,{scope:t,forceMount:n,children:s.Children.map(o,c=>m.jsx(ae,{present:n||a.open,children:m.jsx(Ze,{asChild:!0,container:r,children:c})}))})};nt.displayName=Ce;var se="DialogOverlay",rt=s.forwardRef((e,t)=>{const n=tt(se,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,a=F(se,e.__scopeDialog);return a.modal?m.jsx(ae,{present:o||a.open,children:m.jsx(Rn,{...r,ref:t})}):null});rt.displayName=se;var wn=ze("DialogOverlay.RemoveScroll"),Rn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(se,n);return m.jsx(yt,{as:wn,allowPinchZoom:!0,shards:[r.contentRef],children:m.jsx(P.div,{"data-state":we(r.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),V="DialogContent",ot=s.forwardRef((e,t)=>{const n=tt(V,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,a=F(V,e.__scopeDialog);return m.jsx(ae,{present:o||a.open,children:a.modal?m.jsx(Nn,{...r,ref:t}):m.jsx(Sn,{...r,ref:t})})});ot.displayName=V;var Nn=s.forwardRef((e,t)=>{const n=F(V,e.__scopeDialog),o=s.useRef(null),r=H(t,n.contentRef,o);return s.useEffect(()=>{const a=o.current;if(a)return bt(a)},[]),m.jsx(st,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:W(e.onCloseAutoFocus,a=>{a.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:W(e.onPointerDownOutside,a=>{const c=a.detail.originalEvent,i=c.button===0&&c.ctrlKey===!0;(c.button===2||i)&&a.preventDefault()}),onFocusOutside:W(e.onFocusOutside,a=>a.preventDefault())})}),Sn=s.forwardRef((e,t)=>{const n=F(V,e.__scopeDialog),o=s.useRef(!1),r=s.useRef(!1);return m.jsx(st,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(o.current||n.triggerRef.current?.focus(),a.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const c=a.target;n.triggerRef.current?.contains(c)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),st=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,...c}=e,i=F(V,n),f=s.useRef(null),l=H(t,f);return bn(),m.jsxs(m.Fragment,{children:[m.jsx(Xe,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:m.jsx(Ge,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":we(i.open),...c,ref:l,onDismiss:()=>i.onOpenChange(!1)})}),m.jsxs(m.Fragment,{children:[m.jsx(An,{titleId:i.titleId}),m.jsx(kn,{contentRef:f,descriptionId:i.descriptionId})]})]})}),De="DialogTitle",In=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(De,n);return m.jsx(P.h2,{id:r.titleId,...o,ref:t})});In.displayName=De;var at="DialogDescription",Pn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(at,n);return m.jsx(P.p,{id:r.descriptionId,...o,ref:t})});Pn.displayName=at;var it="DialogClose",On=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(it,n);return m.jsx(P.button,{type:"button",...o,ref:t,onClick:W(e.onClick,()=>r.onOpenChange(!1))})});On.displayName=it;function we(e){return e?"open":"closed"}var lt="DialogTitleWarning",[fr,ct]=Lt(lt,{contentName:V,titleName:De,docsSlug:"dialog"}),An=({titleId:e})=>{const t=ct(lt),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return s.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},_n="DialogDescriptionWarning",kn=({contentRef:e,descriptionId:t})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ct(_n).contentName}}.`;return s.useEffect(()=>{const r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(o))},[o,e,t]),null},Tn=Qe,Mn=nt,Fn=rt,jn=ot,Q='[cmdk-group=""]',Ee='[cmdk-group-items=""]',Ln='[cmdk-group-heading=""]',ut='[cmdk-item=""]',Ue=`${ut}:not([aria-disabled="true"])`,xe="cmdk-item-select",q="data-value",$n=(e,t,n)=>jt(e,t,n),dt=s.createContext(void 0),ne=()=>s.useContext(dt),ft=s.createContext(void 0),Re=()=>s.useContext(ft),mt=s.createContext(void 0),pt=s.forwardRef((e,t)=>{let n=X(()=>{var u,g;return{search:"",value:(g=(u=e.value)!=null?u:e.defaultValue)!=null?g:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),o=X(()=>new Set),r=X(()=>new Map),a=X(()=>new Map),c=X(()=>new Set),i=vt(e),{label:f,children:l,value:d,onValueChange:p,filter:y,shouldFilter:h,loop:R,disablePointerSelection:x=!1,vimBindings:N=!0,...S}=e,k=j(),A=j(),I=j(),T=s.useRef(null),D=Yn();z(()=>{if(d!==void 0){let u=d.trim();n.current.value=u,E.emit()}},[d]),z(()=>{D(6,Ne)},[]);let E=s.useMemo(()=>({subscribe:u=>(c.current.add(u),()=>c.current.delete(u)),snapshot:()=>n.current,setState:(u,g,b)=>{var v,C,w,_;if(!Object.is(n.current[u],g)){if(n.current[u]=g,u==="search")ue(),B(),D(1,ce);else if(u==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let O=document.getElementById(I);O?O.focus():(v=document.getElementById(k))==null||v.focus()}if(D(7,()=>{var O;n.current.selectedItemId=(O=G())==null?void 0:O.id,E.emit()}),b||D(5,Ne),((C=i.current)==null?void 0:C.value)!==void 0){let O=g??"";(_=(w=i.current).onValueChange)==null||_.call(w,O);return}}E.emit()}},emit:()=>{c.current.forEach(u=>u())}}),[]),L=s.useMemo(()=>({value:(u,g,b)=>{var v;g!==((v=a.current.get(u))==null?void 0:v.value)&&(a.current.set(u,{value:g,keywords:b}),n.current.filtered.items.set(u,Z(g,b)),D(2,()=>{B(),E.emit()}))},item:(u,g)=>(o.current.add(u),g&&(r.current.has(g)?r.current.get(g).add(u):r.current.set(g,new Set([u]))),D(3,()=>{ue(),B(),n.current.value||ce(),E.emit()}),()=>{a.current.delete(u),o.current.delete(u),n.current.filtered.items.delete(u);let b=G();D(4,()=>{ue(),b?.getAttribute("id")===u&&ce(),E.emit()})}),group:u=>(r.current.has(u)||r.current.set(u,new Set),()=>{a.current.delete(u),r.current.delete(u)}),filter:()=>i.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:k,inputId:I,labelId:A,listInnerRef:T}),[]);function Z(u,g){var b,v;let C=(v=(b=i.current)==null?void 0:b.filter)!=null?v:$n;return u?C(u,n.current.search,g):0}function B(){if(!n.current.search||i.current.shouldFilter===!1)return;let u=n.current.filtered.items,g=[];n.current.filtered.groups.forEach(v=>{let C=r.current.get(v),w=0;C.forEach(_=>{let O=u.get(_);w=Math.max(O,w)}),g.push([v,w])});let b=T.current;J().sort((v,C)=>{var w,_;let O=v.getAttribute("id"),re=C.getAttribute("id");return((w=u.get(re))!=null?w:0)-((_=u.get(O))!=null?_:0)}).forEach(v=>{let C=v.closest(Ee);C?C.appendChild(v.parentElement===C?v:v.closest(`${Ee} > *`)):b.appendChild(v.parentElement===b?v:v.closest(`${Ee} > *`))}),g.sort((v,C)=>C[1]-v[1]).forEach(v=>{var C;let w=(C=T.current)==null?void 0:C.querySelector(`${Q}[${q}="${encodeURIComponent(v[0])}"]`);w?.parentElement.appendChild(w)})}function ce(){let u=J().find(b=>b.getAttribute("aria-disabled")!=="true"),g=u?.getAttribute(q);E.setState("value",g||void 0)}function ue(){var u,g,b,v;if(!n.current.search||i.current.shouldFilter===!1){n.current.filtered.count=o.current.size;return}n.current.filtered.groups=new Set;let C=0;for(let w of o.current){let _=(g=(u=a.current.get(w))==null?void 0:u.value)!=null?g:"",O=(v=(b=a.current.get(w))==null?void 0:b.keywords)!=null?v:[],re=Z(_,O);n.current.filtered.items.set(w,re),re>0&&C++}for(let[w,_]of r.current)for(let O of _)if(n.current.filtered.items.get(O)>0){n.current.filtered.groups.add(w);break}n.current.filtered.count=C}function Ne(){var u,g,b;let v=G();v&&(((u=v.parentElement)==null?void 0:u.firstChild)===v&&((b=(g=v.closest(Q))==null?void 0:g.querySelector(Ln))==null||b.scrollIntoView({block:"nearest"})),v.scrollIntoView({block:"nearest"}))}function G(){var u;return(u=T.current)==null?void 0:u.querySelector(`${ut}[aria-selected="true"]`)}function J(){var u;return Array.from(((u=T.current)==null?void 0:u.querySelectorAll(Ue))||[])}function de(u){let g=J()[u];g&&E.setState("value",g.getAttribute(q))}function fe(u){var g;let b=G(),v=J(),C=v.findIndex(_=>_===b),w=v[C+u];(g=i.current)!=null&&g.loop&&(w=C+u<0?v[v.length-1]:C+u===v.length?v[0]:v[C+u]),w&&E.setState("value",w.getAttribute(q))}function Se(u){let g=G(),b=g?.closest(Q),v;for(;b&&!v;)b=u>0?qn(b,Q):Xn(b,Q),v=b?.querySelector(Ue);v?E.setState("value",v.getAttribute(q)):fe(u)}let Ie=()=>de(J().length-1),Pe=u=>{u.preventDefault(),u.metaKey?Ie():u.altKey?Se(1):fe(1)},Oe=u=>{u.preventDefault(),u.metaKey?de(0):u.altKey?Se(-1):fe(-1)};return s.createElement(P.div,{ref:t,tabIndex:-1,...S,"cmdk-root":"",onKeyDown:u=>{var g;(g=S.onKeyDown)==null||g.call(S,u);let b=u.nativeEvent.isComposing||u.keyCode===229;if(!(u.defaultPrevented||b))switch(u.key){case"n":case"j":{N&&u.ctrlKey&&Pe(u);break}case"ArrowDown":{Pe(u);break}case"p":case"k":{N&&u.ctrlKey&&Oe(u);break}case"ArrowUp":{Oe(u);break}case"Home":{u.preventDefault(),de(0);break}case"End":{u.preventDefault(),Ie();break}case"Enter":{u.preventDefault();let v=G();if(v){let C=new Event(xe);v.dispatchEvent(C)}}}}},s.createElement("label",{"cmdk-label":"",htmlFor:L.inputId,id:L.labelId,style:Jn},f),le(e,u=>s.createElement(ft.Provider,{value:E},s.createElement(dt.Provider,{value:L},u))))}),Wn=s.forwardRef((e,t)=>{var n,o;let r=j(),a=s.useRef(null),c=s.useContext(mt),i=ne(),f=vt(e),l=(o=(n=f.current)==null?void 0:n.forceMount)!=null?o:c?.forceMount;z(()=>{if(!l)return i.item(r,c?.id)},[l]);let d=gt(r,a,[e.value,e.children,a],e.keywords),p=Re(),y=U(D=>D.value&&D.value===d.current),h=U(D=>l||i.filter()===!1?!0:D.search?D.filtered.items.get(r)>0:!0);s.useEffect(()=>{let D=a.current;if(!(!D||e.disabled))return D.addEventListener(xe,R),()=>D.removeEventListener(xe,R)},[h,e.onSelect,e.disabled]);function R(){var D,E;x(),(E=(D=f.current).onSelect)==null||E.call(D,d.current)}function x(){p.setState("value",d.current,!0)}if(!h)return null;let{disabled:N,value:S,onSelect:k,forceMount:A,keywords:I,...T}=e;return s.createElement(P.div,{ref:K(a,t),...T,id:r,"cmdk-item":"",role:"option","aria-disabled":!!N,"aria-selected":!!y,"data-disabled":!!N,"data-selected":!!y,onPointerMove:N||i.getDisablePointerSelection()?void 0:x,onClick:N?void 0:R},e.children)}),Un=s.forwardRef((e,t)=>{let{heading:n,children:o,forceMount:r,...a}=e,c=j(),i=s.useRef(null),f=s.useRef(null),l=j(),d=ne(),p=U(h=>r||d.filter()===!1?!0:h.search?h.filtered.groups.has(c):!0);z(()=>d.group(c),[]),gt(c,i,[e.value,e.heading,f]);let y=s.useMemo(()=>({id:c,forceMount:r}),[r]);return s.createElement(P.div,{ref:K(i,t),...a,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},n&&s.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:l},n),le(e,h=>s.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?l:void 0},s.createElement(mt.Provider,{value:y},h))))}),Bn=s.forwardRef((e,t)=>{let{alwaysRender:n,...o}=e,r=s.useRef(null),a=U(c=>!c.search);return!n&&!a?null:s.createElement(P.div,{ref:K(r,t),...o,"cmdk-separator":"",role:"separator"})}),Kn=s.forwardRef((e,t)=>{let{onValueChange:n,...o}=e,r=e.value!=null,a=Re(),c=U(l=>l.search),i=U(l=>l.selectedItemId),f=ne();return s.useEffect(()=>{e.value!=null&&a.setState("search",e.value)},[e.value]),s.createElement(P.input,{ref:t,...o,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":i,id:f.inputId,type:"text",value:r?e.value:c,onChange:l=>{r||a.setState("search",l.target.value),n?.(l.target.value)}})}),Vn=s.forwardRef((e,t)=>{let{children:n,label:o="Suggestions",...r}=e,a=s.useRef(null),c=s.useRef(null),i=U(l=>l.selectedItemId),f=ne();return s.useEffect(()=>{if(c.current&&a.current){let l=c.current,d=a.current,p,y=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let h=l.offsetHeight;d.style.setProperty("--cmdk-list-height",h.toFixed(1)+"px")})});return y.observe(l),()=>{cancelAnimationFrame(p),y.unobserve(l)}}},[]),s.createElement(P.div,{ref:K(a,t),...r,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":o,id:f.listId},le(e,l=>s.createElement("div",{ref:K(c,f.listInnerRef),"cmdk-list-sizer":""},l)))}),zn=s.forwardRef((e,t)=>{let{open:n,onOpenChange:o,overlayClassName:r,contentClassName:a,container:c,...i}=e;return s.createElement(Tn,{open:n,onOpenChange:o},s.createElement(Mn,{container:c},s.createElement(Fn,{"cmdk-overlay":"",className:r}),s.createElement(jn,{"aria-label":e.label,"cmdk-dialog":"",className:a},s.createElement(pt,{ref:t,...i}))))}),Hn=s.forwardRef((e,t)=>U(n=>n.filtered.count===0)?s.createElement(P.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Gn=s.forwardRef((e,t)=>{let{progress:n,children:o,label:r="Loading...",...a}=e;return s.createElement(P.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":r},le(e,c=>s.createElement("div",{"aria-hidden":!0},c)))}),Y=Object.assign(pt,{List:Vn,Item:Wn,Input:Kn,Group:Un,Separator:Bn,Dialog:zn,Empty:Hn,Loading:Gn});function qn(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Xn(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function vt(e){let t=s.useRef(e);return z(()=>{t.current=e}),t}var z=typeof window>"u"?s.useEffect:s.useLayoutEffect;function X(e){let t=s.useRef();return t.current===void 0&&(t.current=e()),t}function U(e){let t=Re(),n=()=>e(t.snapshot());return s.useSyncExternalStore(t.subscribe,n,n)}function gt(e,t,n,o=[]){let r=s.useRef(),a=ne();return z(()=>{var c;let i=(()=>{var l;for(let d of n){if(typeof d=="string")return d.trim();if(typeof d=="object"&&"current"in d)return d.current?(l=d.current.textContent)==null?void 0:l.trim():r.current}})(),f=o.map(l=>l.trim());a.value(e,i,f),(c=t.current)==null||c.setAttribute(q,i),r.current=i}),r}var Yn=()=>{let[e,t]=s.useState(),n=X(()=>new Map);return z(()=>{n.current.forEach(o=>o()),n.current=new Map},[e]),(o,r)=>{n.current.set(o,r),t({})}};function Zn(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function le({asChild:e,children:t},n){return e&&s.isValidElement(t)?s.cloneElement(Zn(t),{ref:t.ref},n(t.props.children)):n(t)}var Jn={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function Qn({...e}){return m.jsx(xt,{"data-slot":"dialog",...e})}function mr({...e}){return m.jsx(It,{"data-slot":"dialog-trigger",...e})}function er({...e}){return m.jsx(Nt,{"data-slot":"dialog-portal",...e})}function tr({className:e,...t}){return m.jsx(St,{"data-slot":"dialog-overlay",className:M(`data-[state=open]:animate-in data-[state=closed]:animate-out
6
- data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0
7
- z-50 bg-black/50`,e),...t})}function nr({className:e,children:t,showCloseButton:n=!0,...o}){return m.jsxs(er,{"data-slot":"dialog-portal",children:[m.jsx(tr,{}),m.jsxs(wt,{"data-slot":"dialog-content",className:M(`bg-background data-[state=open]:animate-in
8
- data-[state=closed]:animate-out data-[state=closed]:fade-out-0
9
- data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95
10
- data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid
11
- w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%]
12
- gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none
13
- sm:max-w-lg`,e),...o,children:[t,n&&m.jsxs(Rt,{"data-slot":"dialog-close",className:`ring-offset-background focus:ring-ring
14
- data-[state=open]:bg-accent
15
- data-[state=open]:text-muted-foreground absolute top-4 right-4
16
- rounded-xs opacity-70 transition-opacity hover:opacity-100
17
- focus:ring-2 focus:ring-offset-2 focus:outline-hidden
18
- disabled:pointer-events-none [&_svg]:pointer-events-none
19
- [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[m.jsx(Ke.XIcon,{}),m.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function rr({className:e,...t}){return m.jsx("div",{"data-slot":"dialog-header",className:M("flex flex-col gap-2 text-center sm:text-left",e),...t})}function or({className:e,...t}){return m.jsx(Ct,{"data-slot":"dialog-title",className:M("text-lg leading-none font-semibold",e),...t})}function sr({className:e,...t}){return m.jsx(Dt,{"data-slot":"dialog-description",className:M("text-muted-foreground text-sm",e),...t})}function ar({className:e,...t}){return m.jsx(Y,{"data-slot":"command",className:M(`bg-popover text-popover-foreground flex h-full w-full flex-col
20
- overflow-hidden rounded-md`,e),...t})}function pr({title:e="Command Palette",description:t="Search for a command to run...",children:n,className:o,showCloseButton:r=!0,...a}){return m.jsxs(Qn,{...a,children:[m.jsxs(rr,{className:"sr-only",children:[m.jsx(or,{children:e}),m.jsx(sr,{children:t})]}),m.jsx(nr,{className:M("overflow-hidden p-0",o),showCloseButton:r,children:m.jsx(ar,{className:`[&_[cmdk-group-heading]]:text-muted-foreground
21
- **:data-[slot=command-input-wrapper]:h-12
22
- [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium
23
- [&_[cmdk-group]]:px-2
24
- [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0
25
- [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5
26
- [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3
27
- [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function vr({className:e,...t}){return m.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[m.jsx(Ke.SearchIcon,{className:"size-4 shrink-0 opacity-50"}),m.jsx(Y.Input,{"data-slot":"command-input",className:M(`placeholder:text-muted-foreground flex h-10 w-full rounded-md
28
- bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed
29
- disabled:opacity-50`,e),...t})]})}function gr({className:e,...t}){return m.jsx(Y.List,{"data-slot":"command-list",className:M("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}function hr({...e}){return m.jsx(Y.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function Er({className:e,...t}){return m.jsx(Y.Group,{"data-slot":"command-group",className:M(`text-foreground [&_[cmdk-group-heading]]:text-muted-foreground
30
- overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2
31
- [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs
32
- [&_[cmdk-group-heading]]:font-medium`,e),...t})}function yr({className:e,...t}){return m.jsx(Y.Item,{"data-slot":"command-item",className:M(`data-[selected=true]:bg-accent
33
- data-[selected=true]:text-accent-foreground
34
- [&_svg:not([class*='text-'])]:text-muted-foreground relative flex
35
- cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm
36
- outline-hidden select-none data-[disabled=true]:pointer-events-none
37
- data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none
38
- [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...t})}export{pr as C,Qn as D,vr as a,gr as b,hr as c,Er as d,yr as e,ar as f,mr as g,nr as h,rr as i,or as j,sr as k};
@@ -1,6 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/client-YOYWZIFi.js","assets/react-B9jn2M18.js","assets/markdown-Bw9RgUGR.js","assets/tanstack-YzX_Mi37.js","assets/use-folder-filter-LQyXns5Q.js","assets/view-context-gyDl_p2V.js","assets/index-CNyy98F8.js","assets/index-BexmLxIP.css","assets/button-C6arH7zt.js","assets/utils-DCaHk0Gm.js","assets/command-BugZBGXE.js","assets/index-CCXE8zc9.js","assets/index-DDirZMgx.js","assets/popover-DBD7FF-W.js","assets/folder-image-BfGgxo7i.js","assets/viewer-capabilities-Bpp8Uvcg.js","assets/client-DyRQz5RU.js","assets/copy-context-C0Uqsp-3.js","assets/client-CXYfBko5.js","assets/select-D8cqNgcp.js","assets/index-BaRnbYRw.js","assets/index-CXhBn-ar.js","assets/index-Bp9DidgD.js","assets/metadata-KV0dpp4G.js","assets/folder-metadata-DCw8xzHk.js","assets/client-OY6HUzuD.js","assets/note-card-DBfX6gW1.js","assets/folder-activity-Cv1X2ezj.js","assets/client-CoKtOq-X.js"])))=>i.map(i=>d[i]);
2
- import{j as t,c as l}from"./react-B9jn2M18.js";import{m as w,c as P}from"./tanstack-YzX_Mi37.js";import{l as c,a as u}from"./view-context-gyDl_p2V.js";import{a as C,f as _,_ as d,g as I,e as v,b as F}from"./index-CNyy98F8.js";import{c as N,B as k}from"./button-C6arH7zt.js";import{S as E,a as g}from"./utils-DCaHk0Gm.js";import{f as z,a as A,b as T,c as S,d as b,e as j}from"./command-BugZBGXE.js";import{P as M,a as V,b as O}from"./popover-DBD7FF-W.js";import{F as H}from"./folder-image-BfGgxo7i.js";import{u as R}from"./viewer-capabilities-Bpp8Uvcg.js";const B=N("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function D({className:e,variant:r,asChild:s=!1,...n}){const o=s?E:"span";return t.jsx(o,{"data-slot":"badge",className:g(B({variant:r}),e),...n})}const h=l.createContext(()=>t.jsx(c.Folder,{"aria-hidden":"true"}));function L({children:e,renderIcon:r}){return t.jsx(h.Provider,{value:r,children:e})}function pe({folder:e}){const r=l.useContext(h);return t.jsx(t.Fragment,{children:r(e)})}function q(e,r){return t.jsx("span",{"aria-hidden":"true",className:`inline-flex size-4 shrink-0 items-center justify-center
3
- [&>img]:size-full [&>img]:rounded-sm [&>img]:object-contain
4
- [&>svg]:size-full`,children:e(r)})}function xe({allLabel:e="All folders",ariaLabel:r="Filter by folder",choices:s,onSelect:n,selected:o,total:m}){const x=l.useContext(h),f=a=>o.includes(a),i=a=>f(a)?n(o.filter(p=>p!==a)):n([...o,a]);return t.jsxs(M,{children:[t.jsx(V,{asChild:!0,children:t.jsxs(k,{"aria-label":r,className:`gap-1.5 border-[#dde1dc] bg-white text-[0.82rem]
5
- font-medium text-[#4a554b] hover:bg-[#f3f5f2]`,size:"sm",type:"button",variant:"outline",children:[t.jsx(c.FolderSearch,{"aria-hidden":"true",className:"size-4 text-[#6c7a6d]"}),"Folder",t.jsx(D,{className:"ml-0.5 bg-[#dce8de] px-1.5 text-[#3f6048]",variant:"secondary",children:o.length>0?o.length:m})]})}),t.jsx(O,{align:"start",className:"w-72 overflow-hidden p-0",sideOffset:6,children:t.jsxs(z,{children:[t.jsx(A,{placeholder:"Search folders…"}),t.jsxs(T,{children:[t.jsx(S,{children:"No folders match"}),t.jsx(b,{children:t.jsxs(j,{onSelect:()=>n([]),value:"__all__",children:[t.jsx(c.FolderSearch,{"aria-hidden":"true",className:"size-4 text-[#6c7a6d]"}),t.jsx("span",{children:e}),t.jsx("span",{className:g("ml-auto text-[0.75rem] font-medium",o.length===0?"text-[#3f6048]":"text-[#6c7a6d]"),children:m}),o.length===0?t.jsx(c.Check,{"aria-hidden":"true",className:"size-4 text-[#3f6048]"}):null]})}),t.jsx(b,{heading:"Folders",children:s.map(a=>{const p=f(a.folder);return t.jsxs(j,{onSelect:()=>i(a.folder),title:a.folder,value:a.folder,children:[q(x,a.folder),t.jsx("span",{className:"truncate",children:a.relativePath===""?"This folder":a.label}),t.jsx("span",{className:g("ml-auto text-[0.75rem] font-medium",p?"text-[#3f6048]":"text-[#6c7a6d]"),children:a.count}),p?t.jsx(c.Check,{"aria-hidden":"true",className:"size-4 shrink-0 text-[#3f6048]"}):null]},a.folder)})})]})]})})]})}function K({folder:e}){const{data:r}=w.useQuery({queryKey:["folder",C(e),"identity"],queryFn:({signal:n})=>u.metadata(_(e,"notes"),"identity",{signal:n}),staleTime:Number.POSITIVE_INFINITY,retry:!1}),s=r?.iconAssetKey?r.assets[r.iconAssetKey]:void 0;return t.jsx(H,{icon:s})}function G(e){return t.jsx(K,{folder:e},e)}function Q({children:e}){return t.jsx(L,{renderIcon:G,children:e})}const Y=[],J={id:"agents",label:"Agents"},U={id:"calendar",label:"Calendar"},W={id:"mail",label:"Mail"},X={id:"projects",label:"Projects"},Z={id:"tasks",label:"Tasks"},$=[{...U,component:l.lazy(async()=>({default:(await d(async()=>{const{calendarClient:e}=await import("./client-YOYWZIFi.js");return{calendarClient:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))).calendarClient.component}))},{...W,component:l.lazy(async()=>({default:(await d(async()=>{const{mailClient:e}=await import("./client-DyRQz5RU.js");return{mailClient:e}},__vite__mapDeps([16,1,2,5,6,7,3,17,8,9,4,10,11,12,13,14,15]))).mailClient.component}))},{...J,component:l.lazy(async()=>({default:(await d(async()=>{const{agentsClient:e}=await import("./client-CXYfBko5.js");return{agentsClient:e}},__vite__mapDeps([18,1,2,3,5,6,7,19,11,9,20,21,14,22,4,23,24,17,8,10,12,13,15]))).agentsClient.component}))},{...Z,component:l.lazy(async()=>({default:(await d(async()=>{const{tasksClient:e}=await import("./client-OY6HUzuD.js");return{tasksClient:e}},__vite__mapDeps([25,1,2,3,8,9,5,6,7,17,26,27,10,11,12,4,13,14,20,21,22,15]))).tasksClient.component}))},{...X,component:l.lazy(async()=>({default:(await d(async()=>{const{projectsClient:e}=await import("./client-CoKtOq-X.js");return{projectsClient:e}},__vite__mapDeps([28,1,2,3,17,5,6,7,8,9,24,10,11,12,13,14,15]))).projectsClient.component}))},...Y],ee=new Map($.map(e=>[e.id,e]));function te(e){return e?ee.get(e):void 0}function ae(e,r,s,n){return u.plugin(e,r,s,n)}const y={backHref:"/",message:"That view is not registered."};function re(){const e=P.useParams({strict:!1}),r=R(),s=te(e.pluginId);if(!s||!e.folderId)return t.jsxs("div",{className:"mx-auto grid w-full max-w-3xl gap-4 px-4 py-5",children:[t.jsx("p",{className:"text-muted-foreground m-0 text-sm",children:y.message}),t.jsx("a",{className:`bg-background inline-flex w-fit items-center justify-center
6
- rounded-md border px-3 py-1.5 text-sm no-underline`,href:y.backHref,children:"Back to folder"})]});const n=I(e.folderId),o=e.folderId,m=r.data?.hostActions==="local"?{openPath:i=>u.openPath(i),createAgentFile:async i=>{const a=await u.createAgentFile(i);return await u.openPath(a.path),a}}:void 0,x={documentHref:F,folder:n,folderId:o,homeHref:_(n,"notes"),hostActions:m,href:i=>v(n,s.id,i),listHref:v(n,s.id),request:(i,a)=>ae(s.id,n,i,a),subpath:e.subpath??""},f=s.component;return t.jsx(Q,{children:t.jsx(f,{...x})})}const ge=Object.freeze(Object.defineProperty({__proto__:null,FolderPluginPage:re},Symbol.toStringTag,{value:"Module"}));export{D as B,pe as F,xe as a,J as b,U as c,ge as f,W as m,X as p,Z as t};
@@ -1 +0,0 @@
1
- import{c as o,j as d,d as Me}from"./react-B9jn2M18.js";import{c as He,P as H,b as E,u as $,d as Fe,a as Ue,j as we,i as Oe,h as We,f as Ke,R as Ge,F as ze,D as Ye,g as ye}from"./index-CCXE8zc9.js";import{c as qe,u as $e}from"./index-CXhBn-ar.js";import{u as F,c as Xe}from"./utils-DCaHk0Gm.js";import{c as Ne,A as Ze,C as Je,R as Qe}from"./folder-image-BfGgxo7i.js";import{V as et}from"./index-Bp9DidgD.js";var tt=Object.defineProperty,ot=(a,e)=>tt(a,"name",{value:e,configurable:!0});function De(a){const e=o.useRef({value:a,previous:a});return o.useMemo(()=>(e.current.value!==a&&(e.current.previous=e.current.value,e.current.value=a),e.current.previous),[a])}ot(De,"usePrevious");var nt=Object.defineProperty,rt=(a,e)=>nt(a,"name",{value:e,configurable:!0});function ge(a,[e,i]){return Math.min(i,Math.max(e,a))}rt(ge,"clamp");var ct=Object.defineProperty,v=(a,e)=>ct(a,"name",{value:e,configurable:!0}),st=[" ","Enter","ArrowUp","ArrowDown"],lt=[" ","Enter"],ie="Select",[fe,me,it]=qe(ie),[ne,Dt]=He(ie,[it,Ne]),Ce=Ne(),[at,X]=ne(ie),[dt,ut]=ne(ie);function je(a){const{__scopeSelect:e,children:i,open:t,defaultOpen:u,onOpenChange:s,value:f,defaultValue:c,onValueChange:n,dir:r,name:g,autoComplete:w,disabled:C,required:y,form:I,internal_do_not_use_render:b}=a,l=Ce(e),[S,x]=o.useState(null),[h,p]=o.useState(null),[D,M]=o.useState(!1),Z=$e(r),[j,B]=ye({prop:t,defaultProp:u??!1,onChange:s,caller:ie}),[J,G]=ye({prop:f,defaultProp:c,onChange:n,caller:ie}),U=o.useRef(null),W=o.useRef(J);o.useEffect(()=>{const O=I?S?.ownerDocument.getElementById(I):S?.form;if(O instanceof HTMLFormElement){const k=v(()=>G(W.current),"reset");return O.addEventListener("reset",k),()=>O.removeEventListener("reset",k)}},[I,S,G]);const Q=S?!!I||!!S.closest("form"):!0,[K,L]=o.useState(new Set),z=Oe(),Y=Array.from(K).map(O=>O.props.value).join(";"),q=o.useCallback(O=>{L(k=>new Set(k).add(O))},[]),V=o.useCallback(O=>{L(k=>{const se=new Set(k);return se.delete(O),se})},[]),ce={required:y,trigger:S,onTriggerChange:x,valueNode:h,onValueNodeChange:p,valueNodeHasChildren:D,onValueNodeHasChildrenChange:M,contentId:z,value:J,onValueChange:G,open:j,onOpenChange:B,dir:Z,triggerPointerDownPosRef:U,disabled:C,name:g,autoComplete:w,form:I,nativeOptions:K,nativeSelectKey:Y,isFormControl:Q};return d.jsx(Qe,{...l,children:d.jsx(at,{scope:e,...ce,children:d.jsx(fe.Provider,{scope:e,children:d.jsx(dt,{scope:e,onNativeOptionAdd:q,onNativeOptionRemove:V,children:Ve(b)?b(ce):i})})})})}v(je,"SelectProvider");var jt=v(a=>{const{__scopeSelect:e,children:i,...t}=a;return d.jsx(je,{__scopeSelect:e,...t,internal_do_not_use_render:({isFormControl:u})=>d.jsxs(d.Fragment,{children:[i,u?d.jsx(bt,{__scopeSelect:e}):null]})})},"Select"),pt="SelectTrigger",At=o.forwardRef(v(function(e,i){const{__scopeSelect:t,disabled:u=!1,...s}=e,f=Ce(t),c=X(pt,t),n=c.disabled||u,r=F(i,c.onTriggerChange),g=me(t),w=o.useRef("touch"),[C,y,I]=Pe(l=>{const S=g().filter(p=>!p.disabled),x=S.find(p=>p.value===c.value),h=Te(S,l,x);h!==void 0&&c.onValueChange(h.value)}),b=v(l=>{n||(c.onOpenChange(!0),I()),l&&(c.triggerPointerDownPosRef.current={x:Math.round(l.pageX),y:Math.round(l.pageY)})},"handleOpen");return d.jsx(Ze,{asChild:!0,...f,children:d.jsx(H.button,{type:"button",role:"combobox","aria-controls":c.open?c.contentId:void 0,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:n,"data-disabled":n?"":void 0,"data-placeholder":de(c.value)?"":void 0,...s,ref:r,onClick:E(s.onClick,l=>{l.currentTarget.focus(),w.current!=="mouse"&&b(l)}),onPointerDown:E(s.onPointerDown,l=>{w.current=l.pointerType;const S=l.target;S.hasPointerCapture(l.pointerId)&&S.releasePointerCapture(l.pointerId),l.button===0&&l.ctrlKey===!1&&l.pointerType==="mouse"&&(b(l),l.preventDefault())}),onKeyDown:E(s.onKeyDown,l=>{const S=C.current!=="";!(l.ctrlKey||l.altKey||l.metaKey)&&l.key.length===1&&y(l.key),!(S&&l.key===" ")&&st.includes(l.key)&&(b(),l.preventDefault())})})})},"SelectTrigger")),ft="SelectValue",Bt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,className:u,style:s,children:f,placeholder:c="",...n}=e,r=X(ft,t),{onValueNodeHasChildrenChange:g}=r,w=f!==void 0,C=F(i,r.onValueNodeChange);$(()=>{g(w)},[g,w]);const y=de(r.value);return d.jsx(H.span,{...n,asChild:y?!1:n.asChild,ref:C,style:{pointerEvents:"none"},children:d.jsx(o.Fragment,{children:y?c:f},y?"placeholder":"value")})},"SelectValue")),Lt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,children:u,...s}=e;return d.jsx(H.span,{"aria-hidden":!0,...s,ref:i,children:u||"▼"})},"SelectIcon")),mt="SelectPortal",[ht,St]=ne(mt,{forceMount:void 0}),Vt=v(a=>{const{__scopeSelect:e,forceMount:i,...t}=a;return d.jsx(ht,{scope:a.__scopeSelect,forceMount:i,children:d.jsx(Fe,{asChild:!0,...t})})},"SelectPortal"),oe="SelectContent",kt=o.forwardRef(v(function(e,i){const t=St(oe,e.__scopeSelect),{forceMount:u=t.forceMount,...s}=e,f=X(oe,e.__scopeSelect),[c,n]=o.useState();return $(()=>{n(new DocumentFragment)},[]),d.jsx(Ue,{present:u||f.open,children:({present:r})=>r?d.jsx(xt,{...s,ref:i}):d.jsx(vt,{...s,fragment:c})})},"SelectContent")),vt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,children:u,fragment:s}=e;return s?Me.createPortal(d.jsx(Ae,{scope:t,children:d.jsx(fe.Slot,{scope:t,children:d.jsx("div",{ref:i,children:u})})}),s):null},"SelectContentFragment")),A=10,[Ae,re]=ne(oe),gt=Xe("SelectContent.RemoveScroll"),xt=o.forwardRef(v(function(e,i){const{__scopeSelect:t}=e,{position:u="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:f,onPointerDownOutside:c,side:n,sideOffset:r,align:g,alignOffset:w,arrowPadding:C,collisionBoundary:y,collisionPadding:I,sticky:b,hideWhenDetached:l,avoidCollisions:S,...x}=e,h=X(oe,t),[p,D]=o.useState(null),[M,Z]=o.useState(null),j=F(i,D),[B,J]=o.useState(null),[G,U]=o.useState(null),W=me(t),[Q,K]=o.useState(!1),L=o.useRef(!1);o.useEffect(()=>{if(p)return We(p)},[p]),Ke();const z=o.useCallback(m=>{const[R,...N]=W().map(_=>_.ref.current),[P]=N.slice(-1),T=document.activeElement;for(const _ of m)if(_===T||(_?.scrollIntoView({block:"nearest"}),_===R&&M&&(M.scrollTop=0),_===P&&M&&(M.scrollTop=M.scrollHeight),_?.focus(),document.activeElement!==T))return},[W,M]),Y=o.useCallback(()=>z([B,p]),[z,B,p]);o.useEffect(()=>{Q&&Y()},[Q,Y]);const{onOpenChange:q,triggerPointerDownPosRef:V}=h;o.useEffect(()=>{if(p){let m={x:0,y:0};const R=v(P=>{m={x:Math.abs(Math.round(P.pageX)-(V.current?.x??0)),y:Math.abs(Math.round(P.pageY)-(V.current?.y??0))}},"handlePointerMove"),N=v(P=>{m.x<=10&&m.y<=10?P.preventDefault():P.composedPath().includes(p)||q(!1),document.removeEventListener("pointermove",R),V.current=null},"handlePointerUp");return V.current!==null&&(document.addEventListener("pointermove",R),document.addEventListener("pointerup",N,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",R),document.removeEventListener("pointerup",N,{capture:!0})}}},[p,q,V]),o.useEffect(()=>{const m=v(()=>q(!1),"close");return window.addEventListener("blur",m),window.addEventListener("resize",m),()=>{window.removeEventListener("blur",m),window.removeEventListener("resize",m)}},[q]);const[ce,O]=Pe(m=>{const R=W().filter(T=>!T.disabled),N=R.find(T=>T.ref.current===document.activeElement),P=Te(R,m,N);P&&setTimeout(()=>P.ref.current?.focus())}),k=o.useCallback((m,R,N)=>{const P=!L.current&&!N;(h.value!==void 0&&h.value===R||P)&&(J(m),P&&(L.current=!0))},[h.value]),se=o.useCallback(()=>p?.focus(),[p]),le=o.useCallback((m,R,N)=>{const P=!L.current&&!N;(h.value!==void 0&&h.value===R||P)&&U(m)},[h.value]),ue=u==="popper"?be:wt,ae=ue===be?{side:n,sideOffset:r,align:g,alignOffset:w,arrowPadding:C,collisionBoundary:y,collisionPadding:I,sticky:b,hideWhenDetached:l,avoidCollisions:S}:{};return d.jsx(Ae,{scope:t,content:p,viewport:M,onViewportChange:Z,itemRefCallback:k,selectedItem:B,onItemLeave:se,itemTextRefCallback:le,focusSelectedItem:Y,selectedItemText:G,position:u,isPositioned:Q,searchRef:ce,children:d.jsx(Ge,{as:gt,allowPinchZoom:!0,children:d.jsx(ze,{asChild:!0,trapped:h.open,onMountAutoFocus:m=>{m.preventDefault()},onUnmountAutoFocus:E(s,m=>{h.trigger?.focus({preventScroll:!0}),m.preventDefault()}),children:d.jsx(Ye,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:f,onPointerDownOutside:c,onFocusOutside:m=>m.preventDefault(),onDismiss:()=>h.onOpenChange(!1),children:d.jsx(ue,{role:"listbox",id:h.contentId,"data-state":h.open?"open":"closed",dir:h.dir,onContextMenu:m=>m.preventDefault(),...x,...ae,onPlaced:()=>K(!0),ref:j,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:E(x.onKeyDown,m=>{const R=m.ctrlKey||m.altKey||m.metaKey;if(m.key==="Tab"&&m.preventDefault(),!R&&m.key.length===1&&O(m.key),["ArrowUp","ArrowDown","Home","End"].includes(m.key)){let P=W().filter(T=>!T.disabled).map(T=>T.ref.current);if(["ArrowUp","End"].includes(m.key)&&(P=P.slice().reverse()),["ArrowUp","ArrowDown"].includes(m.key)){const T=m.target,_=P.indexOf(T);P=P.slice(_+1)}setTimeout(()=>z(P)),m.preventDefault()}})})})})})})},"SelectContentImpl")),wt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,onPlaced:u,...s}=e,f=X(oe,t),c=re(oe,t),[n,r]=o.useState(null),[g,w]=o.useState(null),C=F(i,w),y=me(t),I=o.useRef(!1),b=o.useRef(!0),{viewport:l,selectedItem:S,selectedItemText:x,focusSelectedItem:h}=c,p=o.useCallback(()=>{if(f.trigger&&f.valueNode&&n&&g&&l&&S&&x){const j=f.trigger.getBoundingClientRect(),B=g.getBoundingClientRect(),J=f.valueNode.getBoundingClientRect(),G=x.getBoundingClientRect();if(f.dir!=="rtl"){const T=G.left-B.left,_=J.left-T,ee=j.left-_,te=j.width+ee,he=Math.max(te,B.width),Se=window.innerWidth-A,ve=ge(_,[A,Math.max(A,Se-he)]);n.style.minWidth=te+"px",n.style.left=ve+"px"}else{const T=B.right-G.right,_=window.innerWidth-J.right-T,ee=window.innerWidth-j.right-_,te=j.width+ee,he=Math.max(te,B.width),Se=window.innerWidth-A,ve=ge(_,[A,Math.max(A,Se-he)]);n.style.minWidth=te+"px",n.style.right=ve+"px"}const U=y(),W=window.innerHeight-A*2,Q=l.scrollHeight,K=window.getComputedStyle(g),L=parseInt(K.borderTopWidth,10),z=parseInt(K.paddingTop,10),Y=parseInt(K.borderBottomWidth,10),q=parseInt(K.paddingBottom,10),V=L+z+Q+q+Y,ce=Math.min(S.offsetHeight*5,V),O=window.getComputedStyle(l),k=parseInt(O.paddingTop,10),se=parseInt(O.paddingBottom,10),le=j.top+j.height/2-A,ue=W-le,ae=S.offsetHeight/2,m=S.offsetTop+ae,R=L+z+m,N=V-R;if(R<=le){const T=U.length>0&&S===U[U.length-1].ref.current;n.style.bottom="0px";const _=g.clientHeight-l.offsetTop-l.offsetHeight,ee=Math.max(ue,ae+(T?se:0)+_+Y),te=R+ee;n.style.height=te+"px"}else{const T=U.length>0&&S===U[0].ref.current;n.style.top="0px";const ee=Math.max(le,L+l.offsetTop+(T?k:0)+ae)+N;n.style.height=ee+"px",l.scrollTop=R-le+l.offsetTop}n.style.margin=`${A}px 0`,n.style.minHeight=ce+"px",n.style.maxHeight=W+"px",u?.(),requestAnimationFrame(()=>I.current=!0)}},[y,f.trigger,f.valueNode,n,g,l,S,x,f.dir,u]);$(()=>p(),[p]);const[D,M]=o.useState();$(()=>{g&&M(window.getComputedStyle(g).zIndex)},[g]);const Z=o.useCallback(j=>{j&&b.current===!0&&(p(),h?.(),b.current=!1)},[p,h]);return d.jsx(Ct,{scope:t,contentWrapper:n,shouldExpandOnScrollRef:I,onScrollButtonChange:Z,children:d.jsx("div",{ref:r,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:D},children:d.jsx(H.div,{...s,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})},"SelectItemAlignedPosition")),be=o.forwardRef(v(function(e,i){const{__scopeSelect:t,align:u="start",collisionPadding:s=A,...f}=e,c=Ce(t);return d.jsx(Je,{...c,...f,ref:i,align:u,collisionPadding:s,style:{boxSizing:"border-box",...f.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[Ct,Ie]=ne(oe,{}),Re="SelectViewport",Ht=o.forwardRef(v(function(e,i){const{__scopeSelect:t,nonce:u,...s}=e,f=re(Re,t),c=Ie(Re,t),n=F(i,f.onViewportChange),r=o.useRef(0);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:u}),d.jsx(fe.Slot,{scope:t,children:d.jsx(H.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:n,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:E(s.onScroll,g=>{const w=g.currentTarget,{contentWrapper:C,shouldExpandOnScrollRef:y}=c;if(y?.current&&C){const I=Math.abs(r.current-w.scrollTop);if(I>0){const b=window.innerHeight-A*2,l=parseFloat(C.style.minHeight),S=parseFloat(C.style.height),x=Math.max(l,S);if(x<b){const h=x+I,p=Math.min(b,h),D=h-p;C.style.height=p+"px",C.style.bottom==="0px"&&(w.scrollTop=D>0?D:0,C.style.justifyContent="flex-end")}}}r.current=w.scrollTop})})})]})},"SelectViewport")),It="SelectGroup",[Ft,Ut]=ne(It),xe="SelectItem",[Pt,Be]=ne(xe),Wt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,value:u,disabled:s=!1,textValue:f,...c}=e,n=X(xe,t),r=re(xe,t),g=n.value===u,[w,C]=o.useState(f??""),[y,I]=o.useState(!1),b=we(p=>r.itemRefCallback?.(p,u,s)),l=F(i,b),S=Oe(),x=o.useRef("touch"),h=v(()=>{s||(n.onValueChange(u),n.onOpenChange(!1))},"handleSelect");return d.jsx(Pt,{scope:t,value:u,disabled:s,textId:S,isSelected:g,onItemTextChange:o.useCallback(p=>{C(D=>D||(p?.textContent??"").trim())},[]),children:d.jsx(fe.ItemSlot,{scope:t,value:u,disabled:s,textValue:w,children:d.jsx(H.div,{role:"option","aria-labelledby":S,"data-highlighted":y?"":void 0,"aria-selected":g&&y,"data-state":g?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...c,ref:l,onFocus:E(c.onFocus,()=>I(!0)),onBlur:E(c.onBlur,()=>I(!1)),onClick:E(c.onClick,()=>{x.current!=="mouse"&&h()}),onPointerUp:E(c.onPointerUp,()=>{x.current==="mouse"&&h()}),onPointerDown:E(c.onPointerDown,p=>{x.current=p.pointerType}),onPointerMove:E(c.onPointerMove,p=>{x.current=p.pointerType,s?r.onItemLeave?.():x.current==="mouse"&&p.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E(c.onPointerLeave,p=>{p.currentTarget===document.activeElement&&r.onItemLeave?.()}),onKeyDown:E(c.onKeyDown,p=>{s||p.target!==p.currentTarget||r.searchRef?.current!==""&&p.key===" "||(lt.includes(p.key)&&h(),p.key===" "&&p.preventDefault())})})})})},"SelectItem")),pe="SelectItemText",Kt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,className:u,style:s,...f}=e,c=X(pe,t),n=re(pe,t),r=Be(pe,t),g=ut(pe,t),[w,C]=o.useState(null),y=we(h=>n.itemTextRefCallback?.(h,r.value,r.disabled)),I=F(i,C,r.onItemTextChange,y),b=w?.textContent,l=o.useMemo(()=>d.jsx("option",{value:r.value,disabled:r.disabled,children:b},r.value),[r.disabled,r.value,b]),{onNativeOptionAdd:S,onNativeOptionRemove:x}=g;return $(()=>(S(l),()=>x(l)),[S,x,l]),d.jsxs(d.Fragment,{children:[d.jsx(H.span,{id:r.textId,...f,ref:I}),r.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&!de(c.value)?Me.createPortal(f.children,c.valueNode):null]})},"SelectItemText")),Tt="SelectItemIndicator",Gt=o.forwardRef(v(function(e,i){const{__scopeSelect:t,...u}=e;return Be(Tt,t).isSelected?d.jsx(H.span,{"aria-hidden":!0,...u,ref:i}):null},"SelectItemIndicator")),_e="SelectScrollUpButton",zt=o.forwardRef(v(function(e,i){const t=re(_e,e.__scopeSelect),u=Ie(_e,e.__scopeSelect),[s,f]=o.useState(!1),c=F(i,u.onScrollButtonChange);return $(()=>{if(t.viewport&&t.isPositioned){let n=function(){const g=r.scrollTop>0;f(g)};v(n,"handleScroll");const r=t.viewport;return n(),r.addEventListener("scroll",n),()=>r.removeEventListener("scroll",n)}},[t.viewport,t.isPositioned]),s?d.jsx(Le,{...e,ref:c,onAutoScroll:()=>{const{viewport:n,selectedItem:r}=t;n&&r&&(n.scrollTop=n.scrollTop-r.offsetHeight)}}):null},"SelectScrollUpButton")),Ee="SelectScrollDownButton",Yt=o.forwardRef(v(function(e,i){const t=re(Ee,e.__scopeSelect),u=Ie(Ee,e.__scopeSelect),[s,f]=o.useState(!1),c=F(i,u.onScrollButtonChange);return $(()=>{if(t.viewport&&t.isPositioned){let n=function(){const g=r.scrollHeight-r.clientHeight,w=Math.ceil(r.scrollTop)<g;f(w)};v(n,"handleScroll");const r=t.viewport;return n(),r.addEventListener("scroll",n),()=>r.removeEventListener("scroll",n)}},[t.viewport,t.isPositioned]),s?d.jsx(Le,{...e,ref:c,onAutoScroll:()=>{const{viewport:n,selectedItem:r}=t;n&&r&&(n.scrollTop=n.scrollTop+r.offsetHeight)}}):null},"SelectScrollDownButton")),Le=o.forwardRef(v(function(e,i){const{__scopeSelect:t,onAutoScroll:u,...s}=e,f=re("SelectScrollButton",t),c=o.useRef(null),n=me(t),r=o.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return o.useEffect(()=>()=>r(),[r]),$(()=>{n().find(w=>w.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[n]),d.jsx(H.div,{"aria-hidden":!0,...s,ref:i,style:{flexShrink:0,...s.style},onPointerDown:E(s.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(u,50))}),onPointerMove:E(s.onPointerMove,()=>{f.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(u,50))}),onPointerLeave:E(s.onPointerLeave,()=>{r()})})},"SelectScrollButtonImpl")),yt="SelectBubbleInput",bt=o.forwardRef(v(function({__scopeSelect:e,...i},t){const u=X(yt,e),{value:s,onValueChange:f,required:c,disabled:n,name:r,autoComplete:g,form:w}=u,{nativeOptions:C,nativeSelectKey:y}=u,I=o.useRef(null),b=F(t,I),l=s??"",S=De(l),x=Array.from(C).some(h=>(h.props.value??"")==="");return o.useEffect(()=>{const h=I.current;if(!h)return;const p=window.HTMLSelectElement.prototype,M=Object.getOwnPropertyDescriptor(p,"value").set;if(S!==l&&M){const Z=new Event("change",{bubbles:!0});M.call(h,l),h.dispatchEvent(Z)}},[S,l]),d.jsxs(H.select,{"aria-hidden":!0,required:c,tabIndex:-1,name:r,autoComplete:g,disabled:n,form:w,onChange:h=>f(h.target.value),...i,style:{...et,...i.style},ref:b,defaultValue:l,children:[de(s)&&!x?d.jsx("option",{value:""}):null,Array.from(C)]},y)},"SelectBubbleInput"));function Ve(a){return typeof a=="function"}v(Ve,"isFunction");function de(a){return a===""||a===void 0}v(de,"shouldShowPlaceholder");function Pe(a){const e=we(a),i=o.useRef(""),t=o.useRef(0),u=o.useCallback(f=>{const c=i.current+f;e(c),v((function n(r){i.current=r,window.clearTimeout(t.current),r!==""&&(t.current=window.setTimeout(()=>n(""),1e3))}),"updateSearch")(c)},[e]),s=o.useCallback(()=>{i.current="",window.clearTimeout(t.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(t.current),[]),[i,u,s]}v(Pe,"useTypeaheadSearch");function Te(a,e,i){const u=e.length>1&&Array.from(e).every(r=>r===e[0])?e[0]:e,s=i?a.indexOf(i):-1;let f=ke(a,Math.max(s,0));u.length===1&&(f=f.filter(r=>r!==i));const n=f.find(r=>r.textValue.toLowerCase().startsWith(u.toLowerCase()));return n!==i?n:void 0}v(Te,"findNextItem");function ke(a,e){return a.map((i,t)=>a[(e+t)%a.length])}v(ke,"wrapArray");export{jt as S,At as a,Lt as b,Bt as c,Vt as d,kt as e,Ht as f,Wt as g,Gt as h,Kt as i,zt as j,Yt as k,ge as l,De as u};