forge-openclaw-plugin 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/assets/{action-bar-CMGr_Uv_.js → action-bar-CsDQF9d4.js} +1 -1
  2. package/dist/assets/{activity-page-DwGKkJtr.js → activity-page-CACf1Sd5.js} +1 -1
  3. package/dist/assets/{ai-surface-workspace-UtnoNmjq.js → ai-surface-workspace-Vn5fqCAT.js} +1 -1
  4. package/dist/assets/{atlas-panel-f1kc-LkD.js → atlas-panel-GdK1oyxo.js} +1 -1
  5. package/dist/assets/{board-CLOHbg6t.js → board-CuxQRKPJ.js} +1 -1
  6. package/dist/assets/{calendar-page-C4YqeVrC.js → calendar-page-CcVGbvfY.js} +1 -1
  7. package/dist/assets/{calendar-rules-BQppCPiN.js → calendar-rules-Dlq0KT93.js} +1 -1
  8. package/dist/assets/{calendar-week-toolbar-DdPuHUwd.js → calendar-week-toolbar-BVFb1_2G.js} +1 -1
  9. package/dist/assets/{charts-DwTguE_x.js → charts-BzT4pUPg.js} +1 -1
  10. package/dist/assets/{companion-sync-lab-page-N3cR33GS.js → companion-sync-lab-page-Dgvtdc4i.js} +1 -1
  11. package/dist/assets/{daily-metrics-dashboard-CXnAtN2T.js → daily-metrics-dashboard-ChQVbNJI.js} +1 -1
  12. package/dist/assets/date-keys-BnZV4PNO.js +1 -0
  13. package/dist/assets/{define-workbench-box-DkffygDU.js → define-workbench-box-DWAqqjvH.js} +1 -1
  14. package/dist/assets/{entity-link-multiselect-wuyJ8BbW.js → entity-link-multiselect-Do5DTju7.js} +1 -1
  15. package/dist/assets/{entity-note-count-link-CEtKyMAl.js → entity-note-count-link-CV3eOv66.js} +1 -1
  16. package/dist/assets/{entity-notes-surface-iKNiierJ.js → entity-notes-surface-CiUgAVl7.js} +1 -1
  17. package/dist/assets/{execution-board-DesFZ1f5.js → execution-board-ClaXVQ0H.js} +1 -1
  18. package/dist/assets/{faceted-token-search-D4Okr-Kr.js → faceted-token-search-DoSsb7qT.js} +1 -1
  19. package/dist/assets/{flagship-signal-deck-CW91n6u9.js → flagship-signal-deck-B2s7TrIN.js} +1 -1
  20. package/dist/assets/{floating-action-menu-GCeuOdYZ.js → floating-action-menu-DGkHCmvI.js} +1 -1
  21. package/dist/assets/{forms-C5d5hTf2.js → forms-D1qJ3oOP.js} +1 -1
  22. package/dist/assets/{generic-node-view-COhU_Wm3.js → generic-node-view-CgLkbts-.js} +1 -1
  23. package/dist/assets/{goal-detail-page-Bd8JU3IK.js → goal-detail-page-JRcEYpeA.js} +1 -1
  24. package/dist/assets/{goal-dialog-CLz5fYhO.js → goal-dialog-6R2uYWPQ.js} +1 -1
  25. package/dist/assets/{goals-page-CZHNVyY-.js → goals-page-CYestXkp.js} +1 -1
  26. package/dist/assets/{graph-Cd5WF3lw.js → graph-BF4IsheG.js} +1 -1
  27. package/dist/assets/{habits-page-CXiBB7_N.js → habits-page-B27lnyKu.js} +1 -1
  28. package/dist/assets/{health-boxes-BUcsxDLh.js → health-boxes-CeqSGyZ3.js} +1 -1
  29. package/dist/assets/index-DGYIFHgo.js +2 -0
  30. package/dist/assets/{index-CEgIwgk9.css → index-UzsVTD1W.css} +1 -1
  31. package/dist/assets/{inline-note-fields-CcRDO3pd.js → inline-note-fields-CJ9ukqFp.js} +1 -1
  32. package/dist/assets/{insight-flow-dialog-DUBk2MR8.js → insight-flow-dialog-BgaJRYGX.js} +1 -1
  33. package/dist/assets/{insights-page-8fLhCYsM.js → insights-page-Dc5bilGE.js} +1 -1
  34. package/dist/assets/{kanban-boxes-CH7plRk1.js → kanban-boxes-qIwmQlRq.js} +1 -1
  35. package/dist/assets/{kanban-page-Bq-aYwUL.js → kanban-page-BGnVLHeN.js} +1 -1
  36. package/dist/assets/{knowledge-graph-page-DYFfWh4Y.js → knowledge-graph-page-B7IsVVO_.js} +1 -1
  37. package/dist/assets/{life-force-page-D80rgBBR.js → life-force-page-B5N4DknK.js} +1 -1
  38. package/dist/assets/{life-force-workspace-CcmZRRfU.js → life-force-workspace-Da-dmoRX.js} +1 -1
  39. package/dist/assets/{maps-D0Mm6WPG.js → maps-BTVHALP8.js} +1 -1
  40. package/dist/assets/{metric-tile-DysHMgM3.js → metric-tile-BVuj7mc3.js} +1 -1
  41. package/dist/assets/{motion-DwjmC9aq.js → motion-DcgUnXhY.js} +1 -1
  42. package/dist/assets/{movement-boxes-BH3botKt.js → movement-boxes-BZrdIh8b.js} +1 -1
  43. package/dist/assets/{movement-page-D5KLMKS9.js → movement-page-CY2XLgp_.js} +1 -1
  44. package/dist/assets/{note-markdown-Byd_vNkS.js → note-markdown-BZHBOkEd.js} +1 -1
  45. package/dist/assets/{note-tags-input-DYAFDq8Q.js → note-tags-input-DucocvNH.js} +1 -1
  46. package/dist/assets/{notes-boxes-CPiPps1e.js → notes-boxes-DAQ6KBkJ.js} +1 -1
  47. package/dist/assets/{notes-page-DehVrOOb.js → notes-page-CSCfdDJl.js} +1 -1
  48. package/dist/assets/{open-in-graph-button-L21MKsb5.js → open-in-graph-button-ObO3m8yd.js} +1 -1
  49. package/dist/assets/{orbit-map-ChJOQ8CN.js → orbit-map-Bteg-ola.js} +1 -1
  50. package/dist/assets/overview-page-ckfN_sLZ.js +1 -0
  51. package/dist/assets/{page-hero-DlHEJ0Yt.js → page-hero-BkrRTu-t.js} +1 -1
  52. package/dist/assets/pill-cluster-COzv8VgR.js +1 -0
  53. package/dist/assets/{preference-entity-handoff-button-ugHU2us9.js → preference-entity-handoff-button-BpVAeFmY.js} +1 -1
  54. package/dist/assets/{preferences-page-BTTXeSDR.js → preferences-page-DseOh9AP.js} +1 -1
  55. package/dist/assets/{project-collections-USb6PUe0.js → project-collections-C7yU5PSi.js} +1 -1
  56. package/dist/assets/{project-detail-page-1tD6tUsB.js → project-detail-page-Crt46y_7.js} +1 -1
  57. package/dist/assets/{project-dialog-BaHhJqP6.js → project-dialog-YYxtlqg8.js} +1 -1
  58. package/dist/assets/{project-management-hierarchy-page-D4HV8QXs.js → project-management-hierarchy-page-DnojKHzy.js} +1 -1
  59. package/dist/assets/{project-management-section-nav-9OV6_ifH.js → project-management-section-nav-Ctjd348W.js} +1 -1
  60. package/dist/assets/{projects-boxes-AyudWls3.js → projects-boxes-D8lLFGBC.js} +1 -1
  61. package/dist/assets/{projects-page-DizVVzbt.js → projects-page-CV_2em8d.js} +1 -1
  62. package/dist/assets/{psyche-behaviors-page-CX5MJjWj.js → psyche-behaviors-page-CYCNk0rz.js} +1 -1
  63. package/dist/assets/{psyche-flashcards-page-DzCGy-FV.js → psyche-flashcards-page-DwmjBixN.js} +1 -1
  64. package/dist/assets/{psyche-goal-map-page-BcKR792E.js → psyche-goal-map-page-CdMhyBKh.js} +1 -1
  65. package/dist/assets/{psyche-graph-BNllZR67.js → psyche-graph-BcrZcJrq.js} +1 -1
  66. package/dist/assets/{psyche-metrics-page-CpEKlZLO.js → psyche-metrics-page-D5bX1mNX.js} +1 -1
  67. package/dist/assets/{psyche-mode-guide-page-DXKSE2o7.js → psyche-mode-guide-page-BmX9EOOB.js} +1 -1
  68. package/dist/assets/{psyche-modes-page-Bh6eeNm1.js → psyche-modes-page-CTHFDyLE.js} +1 -1
  69. package/dist/assets/{psyche-page-B44RJrrC.js → psyche-page-DRR3Fjv-.js} +1 -1
  70. package/dist/assets/{psyche-patterns-page-Bm7T5FMJ.js → psyche-patterns-page-BAS38xYf.js} +1 -1
  71. package/dist/assets/{psyche-questionnaire-builder-page-BNtMNjY8.js → psyche-questionnaire-builder-page-DpSi-zg3.js} +1 -1
  72. package/dist/assets/{psyche-questionnaire-detail-page-BnMXErRK.js → psyche-questionnaire-detail-page-BcXIiV4E.js} +1 -1
  73. package/dist/assets/{psyche-questionnaire-run-detail-page-CWKxbdwZ.js → psyche-questionnaire-run-detail-page-DvccwzWO.js} +1 -1
  74. package/dist/assets/{psyche-questionnaire-run-page-DwH7Sk52.js → psyche-questionnaire-run-page-vcyon8IZ.js} +1 -1
  75. package/dist/assets/{psyche-questionnaires-page-B1t_a8QU.js → psyche-questionnaires-page-B0DDTner.js} +1 -1
  76. package/dist/assets/{psyche-report-detail-page-x2AtC99e.js → psyche-report-detail-page-BgBA3xIO.js} +1 -1
  77. package/dist/assets/{psyche-reports-page-KiwCgWPa.js → psyche-reports-page-Ce1vEEqW.js} +1 -1
  78. package/dist/assets/{psyche-schemas-Dtskzvv1.js → psyche-schemas-DDol0j-g.js} +1 -1
  79. package/dist/assets/{psyche-schemas-beliefs-page-CIEoAJAp.js → psyche-schemas-beliefs-page-D-IHHohY.js} +1 -1
  80. package/dist/assets/{psyche-screen-time-page-DO6UycL9.js → psyche-screen-time-page-DOKW3m8B.js} +1 -1
  81. package/dist/assets/{psyche-self-observation-page-CPcpUSdm.js → psyche-self-observation-page-j7Sk6Ns1.js} +1 -1
  82. package/dist/assets/{psyche-values-page-BAgNeo4L.js → psyche-values-page-NfzdWUyb.js} +1 -1
  83. package/dist/assets/{question-flow-dialog-BByFV8Yw.js → question-flow-dialog-CLHVmFON.js} +1 -1
  84. package/dist/assets/{report-chain-fields-BpRWMp7h.js → report-chain-fields-C9MuyBha.js} +1 -1
  85. package/dist/assets/{rewards-page-kIiX8SHn.js → rewards-page-CVxOBP6m.js} +1 -1
  86. package/dist/assets/{scheduling-rules-editor-oQXGcL5l.js → scheduling-rules-editor-BmbOHH_R.js} +1 -1
  87. package/dist/assets/{schema-badge-BoNjw3h4.js → schema-badge-BAiS_OAp.js} +1 -1
  88. package/dist/assets/{schemas-IBbtdPzn.js → schemas-B0AXfuOr.js} +1 -1
  89. package/dist/assets/{select-menu-U-YryCwP.js → select-menu-Bl5MILOj.js} +1 -1
  90. package/dist/assets/{settings-agents-page-CbHeMq3e.js → settings-agents-page-BIRP02mt.js} +1 -1
  91. package/dist/assets/{settings-bin-page-LxS2YPsA.js → settings-bin-page-DxJKeM28.js} +1 -1
  92. package/dist/assets/{settings-calendar-page-CZc-I-HK.js → settings-calendar-page-aMBtwvO_.js} +1 -1
  93. package/dist/assets/{settings-data-page-m-aBRMR9.js → settings-data-page-nHNergsh.js} +1 -1
  94. package/dist/assets/{settings-logs-page-BUEGWlQu.js → settings-logs-page-CFotPoFy.js} +1 -1
  95. package/dist/assets/{settings-mobile-page-C_5CHjHl.js → settings-mobile-page-Bf_1D-bN.js} +1 -1
  96. package/dist/assets/{settings-models-page-B4HQu8kL.js → settings-models-page-BbFNmnik.js} +1 -1
  97. package/dist/assets/{settings-page-CY8N-fNV.js → settings-page-CalbNbcg.js} +1 -1
  98. package/dist/assets/{settings-rewards-page-C0XQoWjb.js → settings-rewards-page-ByDfCzP5.js} +1 -1
  99. package/dist/assets/{settings-section-nav-CkqqtM0F.js → settings-section-nav-x_JXfzL9.js} +1 -1
  100. package/dist/assets/{settings-users-page-COCBOq7d.js → settings-users-page-N1jl9hWV.js} +1 -1
  101. package/dist/assets/{settings-wiki-page-Dy1d7-z-.js → settings-wiki-page-Bn2Qr94L.js} +1 -1
  102. package/dist/assets/{sleep-page-1kKicdFq.js → sleep-page-DyU635jb.js} +1 -1
  103. package/dist/assets/{sports-page-DJErRii_.js → sports-page-DbK4yGrR.js} +1 -1
  104. package/dist/assets/{state-BtwEvpO6.js → state-Bpe5dF3T.js} +1 -1
  105. package/dist/assets/{strategies-page-CWNFb9vv.js → strategies-page-AUBlFCZ9.js} +1 -1
  106. package/dist/assets/{strategy-detail-page-D9rFVXRS.js → strategy-detail-page-DCF8mVaL.js} +1 -1
  107. package/dist/assets/{strategy-dialog-BIVHfUR6.js → strategy-dialog-50xKlqcz.js} +1 -1
  108. package/dist/assets/{surface-B3oXO1No.js → surface-BjT1dIAF.js} +1 -1
  109. package/dist/assets/{table-BuONJH1s.js → table-U7otr5go.js} +1 -1
  110. package/dist/assets/{task-detail-page-r8ipOpAF.js → task-detail-page-Dsll2LCX.js} +1 -1
  111. package/dist/assets/{task-dialog-C3kkWtcT.js → task-dialog-BfPkbIPE.js} +1 -1
  112. package/dist/assets/{timebox-planning-dialog-BadS5tEr.js → timebox-planning-dialog-BTKUS6Jj.js} +1 -1
  113. package/dist/assets/{today-boxes-CiccN0Gw.js → today-boxes-BPi9bDHM.js} +1 -1
  114. package/dist/assets/{today-page-DvQredbl.js → today-page-BSXSA-Ts.js} +1 -1
  115. package/dist/assets/{training-load-page-CkX-nSoe.js → training-load-page-BD0s8-Zm.js} +1 -1
  116. package/dist/assets/{ui-B9O-eUim.js → ui-B9TWEtCx.js} +1 -1
  117. package/dist/assets/{use-anchored-overlay-position-BrQ4cqKn.js → use-anchored-overlay-position-BY4kNzPj.js} +1 -1
  118. package/dist/assets/{use-psyche-focus-target-Cuxni3SK.js → use-psyche-focus-target-BhNedCZB.js} +1 -1
  119. package/dist/assets/{user-badge-BKzwGZDd.js → user-badge-ap1PvOxd.js} +1 -1
  120. package/dist/assets/{user-select-field-BNqv8-wd.js → user-select-field-fx129Uh6.js} +1 -1
  121. package/dist/assets/{utility-widgets-DvxKA6dI.js → utility-widgets-Cq508sqJ.js} +1 -1
  122. package/dist/assets/{vendor-Cpmju3nw.js → vendor-BwL6m4SE.js} +216 -211
  123. package/dist/assets/{vitals-page-CRIsr_C7.js → vitals-page-BnXk8OzN.js} +1 -1
  124. package/dist/assets/{weekly-review-page-CNqxLRCd.js → weekly-review-page-CnmSGnEC.js} +1 -1
  125. package/dist/assets/weight-loss-page-Bn6lAXNf.js +5 -0
  126. package/dist/assets/{wiki-article-markdown-C9VKineE.js → wiki-article-markdown-BDnkdNDC.js} +1 -1
  127. package/dist/assets/{wiki-editor-page-DxGsKvF7.js → wiki-editor-page-CHEETB0G.js} +1 -1
  128. package/dist/assets/{wiki-ingest-history-page-CFmP7K1F.js → wiki-ingest-history-page-CisvtAzm.js} +1 -1
  129. package/dist/assets/{wiki-ingest-modal-BLw2PSWP.js → wiki-ingest-modal-C2faIjzj.js} +1 -1
  130. package/dist/assets/{wiki-page-BiQ-jAuz.js → wiki-page-CELe_6qL.js} +1 -1
  131. package/dist/assets/{workbench-flow-page-D960hXu_.js → workbench-flow-page-JBVim3L0.js} +1 -1
  132. package/dist/assets/{workbench-page-BWlY-FiL.js → workbench-page-q7Z3sQtz.js} +1 -1
  133. package/dist/assets/{workout-detail-page-G32yJoE9.js → workout-detail-page-9I_3DPYU.js} +2 -2
  134. package/dist/index.html +8 -8
  135. package/dist/server/server/migrations/070_health_mobile_sync_completion_index.sql +16 -0
  136. package/dist/server/server/src/app.js +139 -14
  137. package/dist/server/server/src/health-weight-loss.js +48 -6
  138. package/dist/server/server/src/health.js +348 -112
  139. package/dist/server/server/src/openapi.js +31 -0
  140. package/dist/server/server/src/repositories/gamification.js +25 -0
  141. package/dist/server/server/src/repositories/tasks.js +82 -17
  142. package/dist/server/server/src/services/dashboard.js +5 -4
  143. package/dist/server/server/src/services/gamification.js +47 -19
  144. package/dist/server/server/src/services/life-force.js +99 -0
  145. package/dist/server/src/lib/api.js +8 -1
  146. package/dist/server/src/lib/snapshot-normalizer.js +42 -23
  147. package/openclaw.plugin.json +1 -1
  148. package/package.json +1 -1
  149. package/server/migrations/070_health_mobile_sync_completion_index.sql +16 -0
  150. package/skills/forge-openclaw/SKILL.md +1 -0
  151. package/skills/forge-openclaw/psyche_entity_playbooks.md +8 -0
  152. package/dist/assets/date-keys-Cj1G3TOn.js +0 -1
  153. package/dist/assets/index-BejvcRGb.js +0 -2
  154. package/dist/assets/overview-page-D_ewyeWF.js +0 -1
  155. package/dist/assets/pill-cluster-DhOR4m7X.js +0 -1
  156. package/dist/assets/weight-loss-page-SSsCp1Yw.js +0 -5
@@ -1,4 +1,4 @@
1
- import{r as a,j as g,E as Ce,F as Je,G as Qe,H as et,_ as tt,J as nt,K as _,L as Se,N as rt,O as ot,P as at}from"./vendor-Cpmju3nw.js";function O(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function ue(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Re(...e){return t=>{let n=!1;const r=e.map(o=>{const i=ue(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():ue(e[o],null)}}}}function I(...e){return a.useCallback(Re(...e),e)}function it(e,t){const n=a.createContext(t),r=i=>{const{children:c,...s}=i,d=a.useMemo(()=>s,Object.values(s));return g.jsx(n.Provider,{value:d,children:c})};r.displayName=e+"Provider";function o(i){const c=a.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,o]}function st(e,t=[]){let n=[];function r(i,c){const s=a.createContext(c),d=n.length;n=[...n,c];const l=v=>{var E;const{scope:h,children:p,...R}=v,u=((E=h==null?void 0:h[e])==null?void 0:E[d])||s,m=a.useMemo(()=>R,Object.values(R));return g.jsx(u.Provider,{value:m,children:p})};l.displayName=i+"Provider";function f(v,h){var u;const p=((u=h==null?void 0:h[e])==null?void 0:u[d])||s,R=a.useContext(p);if(R)return R;if(c!==void 0)return c;throw new Error(`\`${v}\` must be used within \`${i}\``)}return[l,f]}const o=()=>{const i=n.map(c=>a.createContext(c));return function(s){const d=(s==null?void 0:s[e])||i;return a.useMemo(()=>({[`__scope${e}`]:{...s,[e]:d}}),[s,d])}};return o.scopeName=e,[r,ct(o,...t)]}function ct(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const c=r.reduce((s,{useScope:d,scopeName:l})=>{const v=d(i)[`__scope${l}`];return{...s,...v}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var j=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},ut=Ce[" useId ".trim().toString()]||(()=>{}),lt=0;function q(e){const[t,n]=a.useState(ut());return j(()=>{n(r=>r??String(lt++))},[e]),e||(t?`radix-${t}`:"")}var dt=Ce[" useInsertionEffect ".trim().toString()]||j;function ft({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,c]=vt({defaultProp:t,onChange:n}),s=e!==void 0,d=s?e:o;{const f=a.useRef(e!==void 0);a.useEffect(()=>{const v=f.current;v!==s&&console.warn(`${r} is changing from ${v?"controlled":"uncontrolled"} to ${s?"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.`),f.current=s},[s,r])}const l=a.useCallback(f=>{var v;if(s){const h=mt(f)?f(e):f;h!==e&&((v=c.current)==null||v.call(c,h))}else i(f)},[s,e,i,c]);return[d,l]}function vt({defaultProp:e,onChange:t}){const[n,r]=a.useState(e),o=a.useRef(n),i=a.useRef(t);return dt(()=>{i.current=t},[t]),a.useEffect(()=>{var c;o.current!==n&&((c=i.current)==null||c.call(i,n),o.current=n)},[n,o]),[n,r,i]}function mt(e){return typeof e=="function"}function we(e){const t=gt(e),n=a.forwardRef((r,o)=>{const{children:i,...c}=r,s=a.Children.toArray(i),d=s.find(pt);if(d){const l=d.props.children,f=s.map(v=>v===d?a.Children.count(l)>1?a.Children.only(null):a.isValidElement(l)?l.props.children:null:v);return g.jsx(t,{...c,ref:o,children:a.isValidElement(l)?a.cloneElement(l,void 0,f):null})}return g.jsx(t,{...c,ref:o,children:i})});return n.displayName=`${e}.Slot`,n}function gt(e){const t=a.forwardRef((n,r)=>{const{children:o,...i}=n;if(a.isValidElement(o)){const c=yt(o),s=Et(i,o.props);return o.type!==a.Fragment&&(s.ref=r?Re(r,c):c),a.cloneElement(o,s)}return a.Children.count(o)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ht=Symbol("radix.slottable");function pt(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ht}function Et(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{const d=i(...s);return o(...s),d}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function yt(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var bt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],D=bt.reduce((e,t)=>{const n=we(`Primitive.${t}`),r=a.forwardRef((o,i)=>{const{asChild:c,...s}=o,d=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(d,{...s,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Ct(e,t){e&&Je.flushSync(()=>e.dispatchEvent(t))}function B(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function St(e,t=globalThis==null?void 0:globalThis.document){const n=B(e);a.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Rt="DismissableLayer",re="dismissableLayer.update",wt="dismissableLayer.pointerDownOutside",Pt="dismissableLayer.focusOutside",le,Pe=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ne=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:c,onDismiss:s,...d}=e,l=a.useContext(Pe),[f,v]=a.useState(null),h=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=a.useState({}),R=I(t,y=>v(y)),u=Array.from(l.layers),[m]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),E=u.indexOf(m),b=f?u.indexOf(f):-1,C=l.layersWithOutsidePointerEventsDisabled.size>0,S=b>=E,w=xt(y=>{const T=y.target,L=[...l.branches].some(W=>W.contains(T));!S||L||(o==null||o(y),c==null||c(y),y.defaultPrevented||s==null||s())},h),P=Ot(y=>{const T=y.target;[...l.branches].some(W=>W.contains(T))||(i==null||i(y),c==null||c(y),y.defaultPrevented||s==null||s())},h);return St(y=>{b===l.layers.size-1&&(r==null||r(y),!y.defaultPrevented&&s&&(y.preventDefault(),s()))},h),a.useEffect(()=>{if(f)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(le=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(f)),l.layers.add(f),de(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=le)}},[f,h,n,l]),a.useEffect(()=>()=>{f&&(l.layers.delete(f),l.layersWithOutsidePointerEventsDisabled.delete(f),de())},[f,l]),a.useEffect(()=>{const y=()=>p({});return document.addEventListener(re,y),()=>document.removeEventListener(re,y)},[]),g.jsx(D.div,{...d,ref:R,style:{pointerEvents:C?S?"auto":"none":void 0,...e.style},onFocusCapture:O(e.onFocusCapture,P.onFocusCapture),onBlurCapture:O(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:O(e.onPointerDownCapture,w.onPointerDownCapture)})});Ne.displayName=Rt;var Nt="DismissableLayerBranch",Dt=a.forwardRef((e,t)=>{const n=a.useContext(Pe),r=a.useRef(null),o=I(t,r);return a.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),g.jsx(D.div,{...e,ref:o})});Dt.displayName=Nt;function xt(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=a.useRef(!1),o=a.useRef(()=>{});return a.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let d=function(){De(wt,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Ot(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=a.useRef(!1);return a.useEffect(()=>{const o=i=>{i.target&&!r.current&&De(Pt,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function de(){const e=new CustomEvent(re);document.dispatchEvent(e)}function De(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Ct(o,i):o.dispatchEvent(i)}var J="focusScope.autoFocusOnMount",Q="focusScope.autoFocusOnUnmount",fe={bubbles:!1,cancelable:!0},Tt="FocusScope",xe=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...c}=e,[s,d]=a.useState(null),l=B(o),f=B(i),v=a.useRef(null),h=I(t,u=>d(u)),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let u=function(C){if(p.paused||!s)return;const S=C.target;s.contains(S)?v.current=S:x(v.current,{select:!0})},m=function(C){if(p.paused||!s)return;const S=C.relatedTarget;S!==null&&(s.contains(S)||x(v.current,{select:!0}))},E=function(C){if(document.activeElement===document.body)for(const w of C)w.removedNodes.length>0&&x(s)};document.addEventListener("focusin",u),document.addEventListener("focusout",m);const b=new MutationObserver(E);return s&&b.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",u),document.removeEventListener("focusout",m),b.disconnect()}}},[r,s,p.paused]),a.useEffect(()=>{if(s){me.add(p);const u=document.activeElement;if(!s.contains(u)){const E=new CustomEvent(J,fe);s.addEventListener(J,l),s.dispatchEvent(E),E.defaultPrevented||(At(_t(Oe(s)),{select:!0}),document.activeElement===u&&x(s))}return()=>{s.removeEventListener(J,l),setTimeout(()=>{const E=new CustomEvent(Q,fe);s.addEventListener(Q,f),s.dispatchEvent(E),E.defaultPrevented||x(u??document.body,{select:!0}),s.removeEventListener(Q,f),me.remove(p)},0)}}},[s,l,f,p]);const R=a.useCallback(u=>{if(!n&&!r||p.paused)return;const m=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,E=document.activeElement;if(m&&E){const b=u.currentTarget,[C,S]=It(b);C&&S?!u.shiftKey&&E===S?(u.preventDefault(),n&&x(C,{select:!0})):u.shiftKey&&E===C&&(u.preventDefault(),n&&x(S,{select:!0})):E===b&&u.preventDefault()}},[n,r,p.paused]);return g.jsx(D.div,{tabIndex:-1,...c,ref:h,onKeyDown:R})});xe.displayName=Tt;function At(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(x(r,{select:t}),document.activeElement!==n)return}function It(e){const t=Oe(e),n=ve(t,e),r=ve(t.reverse(),e);return[n,r]}function Oe(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ve(e,t){for(const n of e)if(!Lt(n,{upTo:t}))return n}function Lt(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 Mt(e){return e instanceof HTMLInputElement&&"select"in e}function x(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Mt(e)&&t&&e.select()}}var me=Ft();function Ft(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=ge(e,t),e.unshift(t)},remove(t){var n;e=ge(e,t),(n=e[0])==null||n.resume()}}}function ge(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function _t(e){return e.filter(t=>t.tagName!=="A")}var kt="Portal",Te=a.forwardRef((e,t)=>{var s;const{container:n,...r}=e,[o,i]=a.useState(!1);j(()=>i(!0),[]);const c=n||o&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return c?Qe.createPortal(g.jsx(D.div,{...r,ref:t}),c):null});Te.displayName=kt;function Wt(e,t){return a.useReducer((n,r)=>t[n][r]??n,e)}var X=e=>{const{present:t,children:n}=e,r=jt(t),o=typeof n=="function"?n({present:r.isPresent}):a.Children.only(n),i=I(r.ref,Bt(o));return typeof n=="function"||r.isPresent?a.cloneElement(o,{ref:i}):null};X.displayName="Presence";function jt(e){const[t,n]=a.useState(),r=a.useRef(null),o=a.useRef(e),i=a.useRef("none"),c=e?"mounted":"unmounted",[s,d]=Wt(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const l=$(r.current);i.current=s==="mounted"?l:"none"},[s]),j(()=>{const l=r.current,f=o.current;if(f!==e){const h=i.current,p=$(l);e?d("MOUNT"):p==="none"||(l==null?void 0:l.display)==="none"?d("UNMOUNT"):d(f&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),j(()=>{if(t){let l;const f=t.ownerDocument.defaultView??window,v=p=>{const u=$(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&u&&(d("ANIMATION_END"),!o.current)){const m=t.style.animationFillMode;t.style.animationFillMode="forwards",l=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=m)})}},h=p=>{p.target===t&&(i.current=$(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",v),t.addEventListener("animationend",v),()=>{f.clearTimeout(l),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",v),t.removeEventListener("animationend",v)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:a.useCallback(l=>{r.current=l?getComputedStyle(l):null,n(l)},[])}}function $(e){return(e==null?void 0:e.animationName)||"none"}function Bt(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ee=0;function Ut(){a.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??he()),document.body.insertAdjacentElement("beforeend",e[1]??he()),ee++,()=>{ee===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ee--}},[])}function he(){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 G="right-scroll-bar-position",Y="width-before-scroll-bar",$t="with-scroll-bars-hidden",Vt="--removed-body-scroll-bar-size",Ae=et(),te=function(){},z=a.forwardRef(function(e,t){var n=a.useRef(null),r=a.useState({onScrollCapture:te,onWheelCapture:te,onTouchMoveCapture:te}),o=r[0],i=r[1],c=e.forwardProps,s=e.children,d=e.className,l=e.removeScrollBar,f=e.enabled,v=e.shards,h=e.sideCar,p=e.noRelative,R=e.noIsolation,u=e.inert,m=e.allowPinchZoom,E=e.as,b=E===void 0?"div":E,C=e.gapMode,S=tt(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),w=h,P=nt([n,t]),y=_(_({},S),o);return a.createElement(a.Fragment,null,f&&a.createElement(w,{sideCar:Ae,removeScrollBar:l,shards:v,noRelative:p,noIsolation:R,inert:u,setCallbacks:i,allowPinchZoom:!!m,lockRef:n,gapMode:C}),c?a.cloneElement(a.Children.only(s),_(_({},y),{ref:P})):a.createElement(b,_({},y,{className:d,ref:P}),s))});z.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};z.classNames={fullWidth:Y,zeroRight:G};var Kt={left:0,top:0,right:0,gap:0},ne=function(e){return parseInt(e||"",10)||0},Gt=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ne(n),ne(r),ne(o)]},Yt=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Kt;var t=Gt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ht=Se(),k="data-scroll-locked",Xt=function(e,t,n,r){var o=e.left,i=e.top,c=e.right,s=e.gap;return n===void 0&&(n="margin"),`
1
+ import{r as a,j as g,E as Ce,F as Je,G as Qe,H as et,_ as tt,J as nt,K as _,L as Se,N as rt,O as ot,P as at}from"./vendor-BwL6m4SE.js";function O(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function ue(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Re(...e){return t=>{let n=!1;const r=e.map(o=>{const i=ue(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():ue(e[o],null)}}}}function I(...e){return a.useCallback(Re(...e),e)}function it(e,t){const n=a.createContext(t),r=i=>{const{children:c,...s}=i,d=a.useMemo(()=>s,Object.values(s));return g.jsx(n.Provider,{value:d,children:c})};r.displayName=e+"Provider";function o(i){const c=a.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,o]}function st(e,t=[]){let n=[];function r(i,c){const s=a.createContext(c),d=n.length;n=[...n,c];const l=v=>{var E;const{scope:h,children:p,...R}=v,u=((E=h==null?void 0:h[e])==null?void 0:E[d])||s,m=a.useMemo(()=>R,Object.values(R));return g.jsx(u.Provider,{value:m,children:p})};l.displayName=i+"Provider";function f(v,h){var u;const p=((u=h==null?void 0:h[e])==null?void 0:u[d])||s,R=a.useContext(p);if(R)return R;if(c!==void 0)return c;throw new Error(`\`${v}\` must be used within \`${i}\``)}return[l,f]}const o=()=>{const i=n.map(c=>a.createContext(c));return function(s){const d=(s==null?void 0:s[e])||i;return a.useMemo(()=>({[`__scope${e}`]:{...s,[e]:d}}),[s,d])}};return o.scopeName=e,[r,ct(o,...t)]}function ct(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const c=r.reduce((s,{useScope:d,scopeName:l})=>{const v=d(i)[`__scope${l}`];return{...s,...v}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var j=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},ut=Ce[" useId ".trim().toString()]||(()=>{}),lt=0;function q(e){const[t,n]=a.useState(ut());return j(()=>{n(r=>r??String(lt++))},[e]),e||(t?`radix-${t}`:"")}var dt=Ce[" useInsertionEffect ".trim().toString()]||j;function ft({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,c]=vt({defaultProp:t,onChange:n}),s=e!==void 0,d=s?e:o;{const f=a.useRef(e!==void 0);a.useEffect(()=>{const v=f.current;v!==s&&console.warn(`${r} is changing from ${v?"controlled":"uncontrolled"} to ${s?"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.`),f.current=s},[s,r])}const l=a.useCallback(f=>{var v;if(s){const h=mt(f)?f(e):f;h!==e&&((v=c.current)==null||v.call(c,h))}else i(f)},[s,e,i,c]);return[d,l]}function vt({defaultProp:e,onChange:t}){const[n,r]=a.useState(e),o=a.useRef(n),i=a.useRef(t);return dt(()=>{i.current=t},[t]),a.useEffect(()=>{var c;o.current!==n&&((c=i.current)==null||c.call(i,n),o.current=n)},[n,o]),[n,r,i]}function mt(e){return typeof e=="function"}function we(e){const t=gt(e),n=a.forwardRef((r,o)=>{const{children:i,...c}=r,s=a.Children.toArray(i),d=s.find(pt);if(d){const l=d.props.children,f=s.map(v=>v===d?a.Children.count(l)>1?a.Children.only(null):a.isValidElement(l)?l.props.children:null:v);return g.jsx(t,{...c,ref:o,children:a.isValidElement(l)?a.cloneElement(l,void 0,f):null})}return g.jsx(t,{...c,ref:o,children:i})});return n.displayName=`${e}.Slot`,n}function gt(e){const t=a.forwardRef((n,r)=>{const{children:o,...i}=n;if(a.isValidElement(o)){const c=yt(o),s=Et(i,o.props);return o.type!==a.Fragment&&(s.ref=r?Re(r,c):c),a.cloneElement(o,s)}return a.Children.count(o)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ht=Symbol("radix.slottable");function pt(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ht}function Et(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{const d=i(...s);return o(...s),d}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function yt(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var bt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],D=bt.reduce((e,t)=>{const n=we(`Primitive.${t}`),r=a.forwardRef((o,i)=>{const{asChild:c,...s}=o,d=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(d,{...s,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Ct(e,t){e&&Je.flushSync(()=>e.dispatchEvent(t))}function B(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function St(e,t=globalThis==null?void 0:globalThis.document){const n=B(e);a.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Rt="DismissableLayer",re="dismissableLayer.update",wt="dismissableLayer.pointerDownOutside",Pt="dismissableLayer.focusOutside",le,Pe=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ne=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:c,onDismiss:s,...d}=e,l=a.useContext(Pe),[f,v]=a.useState(null),h=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=a.useState({}),R=I(t,y=>v(y)),u=Array.from(l.layers),[m]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),E=u.indexOf(m),b=f?u.indexOf(f):-1,C=l.layersWithOutsidePointerEventsDisabled.size>0,S=b>=E,w=xt(y=>{const T=y.target,L=[...l.branches].some(W=>W.contains(T));!S||L||(o==null||o(y),c==null||c(y),y.defaultPrevented||s==null||s())},h),P=Ot(y=>{const T=y.target;[...l.branches].some(W=>W.contains(T))||(i==null||i(y),c==null||c(y),y.defaultPrevented||s==null||s())},h);return St(y=>{b===l.layers.size-1&&(r==null||r(y),!y.defaultPrevented&&s&&(y.preventDefault(),s()))},h),a.useEffect(()=>{if(f)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(le=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(f)),l.layers.add(f),de(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=le)}},[f,h,n,l]),a.useEffect(()=>()=>{f&&(l.layers.delete(f),l.layersWithOutsidePointerEventsDisabled.delete(f),de())},[f,l]),a.useEffect(()=>{const y=()=>p({});return document.addEventListener(re,y),()=>document.removeEventListener(re,y)},[]),g.jsx(D.div,{...d,ref:R,style:{pointerEvents:C?S?"auto":"none":void 0,...e.style},onFocusCapture:O(e.onFocusCapture,P.onFocusCapture),onBlurCapture:O(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:O(e.onPointerDownCapture,w.onPointerDownCapture)})});Ne.displayName=Rt;var Nt="DismissableLayerBranch",Dt=a.forwardRef((e,t)=>{const n=a.useContext(Pe),r=a.useRef(null),o=I(t,r);return a.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),g.jsx(D.div,{...e,ref:o})});Dt.displayName=Nt;function xt(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=a.useRef(!1),o=a.useRef(()=>{});return a.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let d=function(){De(wt,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Ot(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=a.useRef(!1);return a.useEffect(()=>{const o=i=>{i.target&&!r.current&&De(Pt,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function de(){const e=new CustomEvent(re);document.dispatchEvent(e)}function De(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Ct(o,i):o.dispatchEvent(i)}var J="focusScope.autoFocusOnMount",Q="focusScope.autoFocusOnUnmount",fe={bubbles:!1,cancelable:!0},Tt="FocusScope",xe=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...c}=e,[s,d]=a.useState(null),l=B(o),f=B(i),v=a.useRef(null),h=I(t,u=>d(u)),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let u=function(C){if(p.paused||!s)return;const S=C.target;s.contains(S)?v.current=S:x(v.current,{select:!0})},m=function(C){if(p.paused||!s)return;const S=C.relatedTarget;S!==null&&(s.contains(S)||x(v.current,{select:!0}))},E=function(C){if(document.activeElement===document.body)for(const w of C)w.removedNodes.length>0&&x(s)};document.addEventListener("focusin",u),document.addEventListener("focusout",m);const b=new MutationObserver(E);return s&&b.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",u),document.removeEventListener("focusout",m),b.disconnect()}}},[r,s,p.paused]),a.useEffect(()=>{if(s){me.add(p);const u=document.activeElement;if(!s.contains(u)){const E=new CustomEvent(J,fe);s.addEventListener(J,l),s.dispatchEvent(E),E.defaultPrevented||(At(_t(Oe(s)),{select:!0}),document.activeElement===u&&x(s))}return()=>{s.removeEventListener(J,l),setTimeout(()=>{const E=new CustomEvent(Q,fe);s.addEventListener(Q,f),s.dispatchEvent(E),E.defaultPrevented||x(u??document.body,{select:!0}),s.removeEventListener(Q,f),me.remove(p)},0)}}},[s,l,f,p]);const R=a.useCallback(u=>{if(!n&&!r||p.paused)return;const m=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,E=document.activeElement;if(m&&E){const b=u.currentTarget,[C,S]=It(b);C&&S?!u.shiftKey&&E===S?(u.preventDefault(),n&&x(C,{select:!0})):u.shiftKey&&E===C&&(u.preventDefault(),n&&x(S,{select:!0})):E===b&&u.preventDefault()}},[n,r,p.paused]);return g.jsx(D.div,{tabIndex:-1,...c,ref:h,onKeyDown:R})});xe.displayName=Tt;function At(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(x(r,{select:t}),document.activeElement!==n)return}function It(e){const t=Oe(e),n=ve(t,e),r=ve(t.reverse(),e);return[n,r]}function Oe(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ve(e,t){for(const n of e)if(!Lt(n,{upTo:t}))return n}function Lt(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 Mt(e){return e instanceof HTMLInputElement&&"select"in e}function x(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Mt(e)&&t&&e.select()}}var me=Ft();function Ft(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=ge(e,t),e.unshift(t)},remove(t){var n;e=ge(e,t),(n=e[0])==null||n.resume()}}}function ge(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function _t(e){return e.filter(t=>t.tagName!=="A")}var kt="Portal",Te=a.forwardRef((e,t)=>{var s;const{container:n,...r}=e,[o,i]=a.useState(!1);j(()=>i(!0),[]);const c=n||o&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return c?Qe.createPortal(g.jsx(D.div,{...r,ref:t}),c):null});Te.displayName=kt;function Wt(e,t){return a.useReducer((n,r)=>t[n][r]??n,e)}var X=e=>{const{present:t,children:n}=e,r=jt(t),o=typeof n=="function"?n({present:r.isPresent}):a.Children.only(n),i=I(r.ref,Bt(o));return typeof n=="function"||r.isPresent?a.cloneElement(o,{ref:i}):null};X.displayName="Presence";function jt(e){const[t,n]=a.useState(),r=a.useRef(null),o=a.useRef(e),i=a.useRef("none"),c=e?"mounted":"unmounted",[s,d]=Wt(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const l=$(r.current);i.current=s==="mounted"?l:"none"},[s]),j(()=>{const l=r.current,f=o.current;if(f!==e){const h=i.current,p=$(l);e?d("MOUNT"):p==="none"||(l==null?void 0:l.display)==="none"?d("UNMOUNT"):d(f&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),j(()=>{if(t){let l;const f=t.ownerDocument.defaultView??window,v=p=>{const u=$(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&u&&(d("ANIMATION_END"),!o.current)){const m=t.style.animationFillMode;t.style.animationFillMode="forwards",l=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=m)})}},h=p=>{p.target===t&&(i.current=$(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",v),t.addEventListener("animationend",v),()=>{f.clearTimeout(l),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",v),t.removeEventListener("animationend",v)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:a.useCallback(l=>{r.current=l?getComputedStyle(l):null,n(l)},[])}}function $(e){return(e==null?void 0:e.animationName)||"none"}function Bt(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ee=0;function Ut(){a.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??he()),document.body.insertAdjacentElement("beforeend",e[1]??he()),ee++,()=>{ee===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ee--}},[])}function he(){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 G="right-scroll-bar-position",Y="width-before-scroll-bar",$t="with-scroll-bars-hidden",Vt="--removed-body-scroll-bar-size",Ae=et(),te=function(){},z=a.forwardRef(function(e,t){var n=a.useRef(null),r=a.useState({onScrollCapture:te,onWheelCapture:te,onTouchMoveCapture:te}),o=r[0],i=r[1],c=e.forwardProps,s=e.children,d=e.className,l=e.removeScrollBar,f=e.enabled,v=e.shards,h=e.sideCar,p=e.noRelative,R=e.noIsolation,u=e.inert,m=e.allowPinchZoom,E=e.as,b=E===void 0?"div":E,C=e.gapMode,S=tt(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),w=h,P=nt([n,t]),y=_(_({},S),o);return a.createElement(a.Fragment,null,f&&a.createElement(w,{sideCar:Ae,removeScrollBar:l,shards:v,noRelative:p,noIsolation:R,inert:u,setCallbacks:i,allowPinchZoom:!!m,lockRef:n,gapMode:C}),c?a.cloneElement(a.Children.only(s),_(_({},y),{ref:P})):a.createElement(b,_({},y,{className:d,ref:P}),s))});z.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};z.classNames={fullWidth:Y,zeroRight:G};var Kt={left:0,top:0,right:0,gap:0},ne=function(e){return parseInt(e||"",10)||0},Gt=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ne(n),ne(r),ne(o)]},Yt=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Kt;var t=Gt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ht=Se(),k="data-scroll-locked",Xt=function(e,t,n,r){var o=e.left,i=e.top,c=e.right,s=e.gap;return n===void 0&&(n="margin"),`
2
2
  .`.concat($t,` {
3
3
  overflow: hidden `).concat(r,`;
4
4
  padding-right: `).concat(s,"px ").concat(r,`;
@@ -1 +1 @@
1
- import{r as l}from"./vendor-Cpmju3nw.js";function B(a,i,n){return Math.min(n,Math.max(i,a))}function F(a,i,n){const d=(n==null?void 0:n.offset)??8,c=(n==null?void 0:n.margin)??12,w=(n==null?void 0:n.preferredMaxHeight)??320,o=(n==null?void 0:n.minHeight)??160,[b,f]=l.useState(null),s=l.useCallback(()=>{const r=a.current;if(!r||typeof window>"u"){f(null);return}const t=r.getBoundingClientRect(),e=window.visualViewport,g=(e==null?void 0:e.width)??window.innerWidth,H=(e==null?void 0:e.height)??window.innerHeight,u=(e==null?void 0:e.offsetLeft)??0,m=(e==null?void 0:e.offsetTop)??0,L=Math.min(t.width,g-c*2),M=u+g-c-L,y=B(t.left,u+c,M),h=m+H-t.bottom-d-c,v=t.top-m-d-c,x=h<o&&v>h,A=Math.max(o,x?v:h),E=Math.min(w,A),z=x?Math.max(m+c,t.top-d-E):t.bottom+d;f({position:"fixed",left:y,top:z,width:L,maxHeight:E})},[a,c,o,d,w]);return l.useEffect(()=>{if(!i||typeof window>"u"){f(null);return}let r=0;const t=()=>{r===0&&(r=window.requestAnimationFrame(()=>{r=0,s()}))};s();const e=window.visualViewport;return window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),e==null||e.addEventListener("resize",t),e==null||e.addEventListener("scroll",t),()=>{r!==0&&window.cancelAnimationFrame(r),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0),e==null||e.removeEventListener("resize",t),e==null||e.removeEventListener("scroll",t)}},[i,s]),b}export{F as u};
1
+ import{r as l}from"./vendor-BwL6m4SE.js";function B(a,i,n){return Math.min(n,Math.max(i,a))}function F(a,i,n){const d=(n==null?void 0:n.offset)??8,c=(n==null?void 0:n.margin)??12,w=(n==null?void 0:n.preferredMaxHeight)??320,o=(n==null?void 0:n.minHeight)??160,[b,f]=l.useState(null),s=l.useCallback(()=>{const r=a.current;if(!r||typeof window>"u"){f(null);return}const t=r.getBoundingClientRect(),e=window.visualViewport,g=(e==null?void 0:e.width)??window.innerWidth,H=(e==null?void 0:e.height)??window.innerHeight,u=(e==null?void 0:e.offsetLeft)??0,m=(e==null?void 0:e.offsetTop)??0,L=Math.min(t.width,g-c*2),M=u+g-c-L,y=B(t.left,u+c,M),h=m+H-t.bottom-d-c,v=t.top-m-d-c,x=h<o&&v>h,A=Math.max(o,x?v:h),E=Math.min(w,A),z=x?Math.max(m+c,t.top-d-E):t.bottom+d;f({position:"fixed",left:y,top:z,width:L,maxHeight:E})},[a,c,o,d,w]);return l.useEffect(()=>{if(!i||typeof window>"u"){f(null);return}let r=0;const t=()=>{r===0&&(r=window.requestAnimationFrame(()=>{r=0,s()}))};s();const e=window.visualViewport;return window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),e==null||e.addEventListener("resize",t),e==null||e.addEventListener("scroll",t),()=>{r!==0&&window.cancelAnimationFrame(r),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0),e==null||e.removeEventListener("resize",t),e==null||e.removeEventListener("scroll",t)}},[i,s]),b}export{F as u};
@@ -1 +1 @@
1
- import{r as n}from"./vendor-Cpmju3nw.js";function t(e){return e.replaceAll("\\","\\\\").replaceAll('"','\\"')}function i(e){n.useEffect(()=>{if(!e||typeof document>"u")return;const o=window.requestAnimationFrame(()=>{const r=document.querySelector(`[data-psyche-focus-id="${t(e)}"]`);r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})});return()=>window.cancelAnimationFrame(o)},[e])}function s(e){return e?"border-[color-mix(in_srgb,var(--info)_34%,var(--ui-border-subtle)_66%)] bg-[color-mix(in_srgb,var(--info)_12%,var(--ui-surface-1)_88%)] shadow-[var(--ui-shadow-soft)]":""}export{s as p,i as u};
1
+ import{r as n}from"./vendor-BwL6m4SE.js";function t(e){return e.replaceAll("\\","\\\\").replaceAll('"','\\"')}function i(e){n.useEffect(()=>{if(!e||typeof document>"u")return;const o=window.requestAnimationFrame(()=>{const r=document.querySelector(`[data-psyche-focus-id="${t(e)}"]`);r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})});return()=>window.cancelAnimationFrame(o)},[e])}function s(e){return e?"border-[color-mix(in_srgb,var(--info)_34%,var(--ui-border-subtle)_66%)] bg-[color-mix(in_srgb,var(--info)_12%,var(--ui-surface-1)_88%)] shadow-[var(--ui-shadow-soft)]":""}export{s as p,i as u};
@@ -1 +1 @@
1
- import{j as a,b2 as d,bI as x}from"./vendor-Cpmju3nw.js";import{k as t,c as s}from"./index-BejvcRGb.js";function c({user:r,compact:i=!1,size:n,className:o}){if(!r)return a.jsx(t,{size:n??(i?"sm":"md"),className:s("border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-soft)]",o),children:"Unassigned"});const e=r.kind==="bot"?d:x;return a.jsxs(t,{size:n??(i?"sm":"md"),className:s("max-w-full gap-1.5 border",r.kind==="bot"?"border-[color-mix(in_srgb,var(--info)_24%,transparent)] bg-[var(--ui-info-soft)] text-[color-mix(in_srgb,var(--info)_78%,var(--ui-ink-strong)_22%)]":"border-[color-mix(in_srgb,var(--warning)_24%,transparent)] bg-[var(--ui-warning-soft)] text-[color-mix(in_srgb,var(--warning)_78%,var(--ui-ink-strong)_22%)]",n==="xs"&&"gap-1",o),children:[a.jsx(e,{className:s(n==="xs"?"size-3":"size-3.5","shrink-0")}),a.jsx("span",{className:"truncate",children:r.displayName}),a.jsx("span",{className:"text-[var(--ui-ink-faint)]",children:r.kind})]})}export{c as U};
1
+ import{j as a,b2 as d,bI as x}from"./vendor-BwL6m4SE.js";import{k as t,c as s}from"./index-DGYIFHgo.js";function c({user:r,compact:i=!1,size:n,className:o}){if(!r)return a.jsx(t,{size:n??(i?"sm":"md"),className:s("border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-soft)]",o),children:"Unassigned"});const e=r.kind==="bot"?d:x;return a.jsxs(t,{size:n??(i?"sm":"md"),className:s("max-w-full gap-1.5 border",r.kind==="bot"?"border-[color-mix(in_srgb,var(--info)_24%,transparent)] bg-[var(--ui-info-soft)] text-[color-mix(in_srgb,var(--info)_78%,var(--ui-ink-strong)_22%)]":"border-[color-mix(in_srgb,var(--warning)_24%,transparent)] bg-[var(--ui-warning-soft)] text-[color-mix(in_srgb,var(--warning)_78%,var(--ui-ink-strong)_22%)]",n==="xs"&&"gap-1",o),children:[a.jsx(e,{className:s(n==="xs"?"size-3":"size-3.5","shrink-0")}),a.jsx("span",{className:"truncate",children:r.displayName}),a.jsx("span",{className:"text-[var(--ui-ink-faint)]",children:r.kind})]})}export{c as U};
@@ -1 +1 @@
1
- import{j as t}from"./vendor-Cpmju3nw.js";function d({value:a,users:i,onChange:s,label:l="Owner",defaultLabel:r="Default Forge owner",help:n}){return t.jsxs("label",{className:"grid gap-2",children:[t.jsx("span",{className:"text-sm font-medium text-white",children:l}),n?t.jsx("span",{className:"text-xs leading-5 text-white/52",children:n}):null,t.jsxs("select",{value:a??"",onChange:e=>s(e.target.value||null),className:"min-h-10 rounded-[var(--radius-control)] border border-white/10 bg-white/[0.04] px-3 py-2 text-sm text-white outline-none transition focus:border-[rgba(192,193,255,0.3)]",children:[t.jsx("option",{value:"",children:r}),i.map(e=>t.jsxs("option",{value:e.id,children:[e.displayName," · ",e.kind]},e.id))]})]})}export{d as U};
1
+ import{j as t}from"./vendor-BwL6m4SE.js";function d({value:a,users:i,onChange:s,label:l="Owner",defaultLabel:r="Default Forge owner",help:n}){return t.jsxs("label",{className:"grid gap-2",children:[t.jsx("span",{className:"text-sm font-medium text-white",children:l}),n?t.jsx("span",{className:"text-xs leading-5 text-white/52",children:n}):null,t.jsxs("select",{value:a??"",onChange:e=>s(e.target.value||null),className:"min-h-10 rounded-[var(--radius-control)] border border-white/10 bg-white/[0.04] px-3 py-2 text-sm text-white outline-none transition focus:border-[rgba(192,193,255,0.3)]",children:[t.jsx("option",{value:"",children:r}),i.map(e=>t.jsxs("option",{value:e.id,children:[e.displayName," · ",e.kind]},e.id))]})]})}export{d as U};
@@ -1,3 +1,3 @@
1
- import{r as c,j as e,b8 as P,cW as T,aV as L,cX as Q,cN as U,aS as v,cm as $}from"./vendor-Cpmju3nw.js";import{j as E,k as N}from"./state-BtwEvpO6.js";import{c as w,aa as z,cl as O}from"./index-BejvcRGb.js";import{c as f,a as u,n as m,m as j,j as g}from"./generic-node-view-COhU_Wm3.js";function R(t){const i=new Date(t.getFullYear(),t.getMonth(),1),r=(i.getDay()+6)%7,n=new Date(i);return n.setDate(n.getDate()-r),Array.from({length:35},(a,s)=>{const l=new Date(n);return l.setDate(n.getDate()+s),l})}function _(t,i){return typeof window>"u"?i:window.localStorage.getItem(t)??i}function A(t,i){typeof window>"u"||window.localStorage.setItem(t,i)}function C({compact:t}){const[i,r]=c.useState(()=>new Date);return c.useEffect(()=>{const n=window.setInterval(()=>r(new Date),3e4);return()=>window.clearInterval(n)},[]),e.jsxs("div",{className:"flex h-full flex-col justify-between gap-4 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white/45",children:[e.jsx(P,{className:"size-4"}),e.jsx("span",{className:"text-[12px] uppercase tracking-[0.16em]",children:"Local time"})]}),e.jsx("div",{className:w("font-display text-white",t?"text-3xl":"text-5xl"),children:new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(i)}),e.jsx("div",{className:"text-sm text-white/58",children:new Intl.DateTimeFormat(void 0,{weekday:"long",month:"long",day:"numeric"}).format(i)})]})}function W({compact:t}){const i=new Date,r=c.useMemo(()=>R(i),[i]),n=t?["M","T","W","T","F","S","S"]:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];return e.jsxs("div",{className:"grid gap-3 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-white",children:[e.jsx(L,{className:"size-4 text-[var(--primary)]"}),new Intl.DateTimeFormat(void 0,{month:"long",year:"numeric"}).format(i)]}),e.jsx("div",{className:"text-[12px] text-white/45",children:t?"Mini":"Month view"})]}),e.jsxs("div",{className:"grid grid-cols-7 gap-1.5",children:[n.map(a=>e.jsx("div",{className:"text-center text-[11px] uppercase tracking-[0.14em] text-white/35",children:a},a)),r.map(a=>{const s=a.getMonth()===i.getMonth(),l=a.toDateString()===i.toDateString();return e.jsx("div",{className:w("flex min-h-9 items-center justify-center rounded-xl text-sm",l?"bg-[var(--primary)] text-slate-950":s?"bg-white/[0.04] text-white/78":"bg-transparent text-white/24"),children:a.getDate()},a.toISOString())})]})]})}function D({surfaceId:t}){const i=`forge.utility.spotify.${t}`,[r,n]=c.useState(()=>_(i,"https://open.spotify.com/"));return c.useEffect(()=>{A(i,r)},[i,r]),e.jsxs("div",{className:"grid h-full gap-3 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white",children:[e.jsx(Q,{className:"size-4 text-[var(--secondary)]"}),e.jsx("span",{className:"text-sm font-semibold",children:"Spotify link"})]}),e.jsx("input",{value:r,onChange:a=>n(a.target.value),className:"w-full rounded-2xl border border-white/10 bg-white/[0.04] px-3 py-2.5 text-sm text-white outline-none transition focus:border-[rgba(192,193,255,0.35)]",placeholder:"Paste a playlist, album, or artist URL"}),e.jsxs("a",{href:r,target:"_blank",rel:"noreferrer",className:"inline-flex min-h-10 items-center justify-center gap-2 rounded-2xl bg-[rgba(78,222,163,0.14)] px-3 py-2 text-sm font-medium text-[var(--secondary)] transition hover:bg-[rgba(78,222,163,0.22)]",children:["Open Spotify",e.jsx(U,{className:"size-4"})]})]})}function F({compact:t}){const[i,r]=c.useState(null),[n,a]=c.useState("Locating…");return c.useEffect(()=>{if(typeof navigator>"u"||!navigator.geolocation){a("Location unavailable");return}let s=!1;return navigator.geolocation.getCurrentPosition(async l=>{try{const p=await(await fetch(`https://api.open-meteo.com/v1/forecast?latitude=${l.coords.latitude}&longitude=${l.coords.longitude}&current=temperature_2m,weather_code`)).json();if(s||!p.current)return;r({temperature:Number(p.current.temperature_2m??0),weatherCode:Number(p.current.weather_code??0)}),a("Live")}catch{s||a("Weather unavailable")}},()=>{s||a("Permission denied")},{maximumAge:3e5,timeout:6e3}),()=>{s=!0}},[]),e.jsxs("div",{className:"flex h-full flex-col justify-between gap-4 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white",children:[e.jsx(T,{className:"size-4 text-[var(--tertiary)]"}),e.jsx("span",{className:"text-sm font-semibold",children:"Weather"})]}),i?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:w("font-display text-white",t?"text-3xl":"text-5xl"),children:[Math.round(i.temperature),"°"]}),e.jsxs("div",{className:"text-sm text-white/58",children:["Code ",i.weatherCode," · ",n]})]}):e.jsx("div",{className:"text-sm text-white/58",children:n})]})}function I({compact:t,defaultUserId:i}){const r=E(),n=c.useRef(null),a=c.useRef(null),[s,l]=c.useState(""),[d,p]=c.useState(""),k=N({mutationFn:async()=>z({contentMarkdown:`# ${s.trim()||"Quick note"}
1
+ import{r as c,j as e,b8 as P,cW as T,aV as L,cX as Q,cN as U,aS as v,cm as $}from"./vendor-BwL6m4SE.js";import{j as E,k as N}from"./state-Bpe5dF3T.js";import{c as w,aa as z,cl as O}from"./index-DGYIFHgo.js";import{c as f,a as u,n as m,m as j,j as g}from"./generic-node-view-CgLkbts-.js";function R(t){const i=new Date(t.getFullYear(),t.getMonth(),1),r=(i.getDay()+6)%7,n=new Date(i);return n.setDate(n.getDate()-r),Array.from({length:35},(a,s)=>{const l=new Date(n);return l.setDate(n.getDate()+s),l})}function _(t,i){return typeof window>"u"?i:window.localStorage.getItem(t)??i}function A(t,i){typeof window>"u"||window.localStorage.setItem(t,i)}function C({compact:t}){const[i,r]=c.useState(()=>new Date);return c.useEffect(()=>{const n=window.setInterval(()=>r(new Date),3e4);return()=>window.clearInterval(n)},[]),e.jsxs("div",{className:"flex h-full flex-col justify-between gap-4 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white/45",children:[e.jsx(P,{className:"size-4"}),e.jsx("span",{className:"text-[12px] uppercase tracking-[0.16em]",children:"Local time"})]}),e.jsx("div",{className:w("font-display text-white",t?"text-3xl":"text-5xl"),children:new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(i)}),e.jsx("div",{className:"text-sm text-white/58",children:new Intl.DateTimeFormat(void 0,{weekday:"long",month:"long",day:"numeric"}).format(i)})]})}function W({compact:t}){const i=new Date,r=c.useMemo(()=>R(i),[i]),n=t?["M","T","W","T","F","S","S"]:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];return e.jsxs("div",{className:"grid gap-3 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-white",children:[e.jsx(L,{className:"size-4 text-[var(--primary)]"}),new Intl.DateTimeFormat(void 0,{month:"long",year:"numeric"}).format(i)]}),e.jsx("div",{className:"text-[12px] text-white/45",children:t?"Mini":"Month view"})]}),e.jsxs("div",{className:"grid grid-cols-7 gap-1.5",children:[n.map(a=>e.jsx("div",{className:"text-center text-[11px] uppercase tracking-[0.14em] text-white/35",children:a},a)),r.map(a=>{const s=a.getMonth()===i.getMonth(),l=a.toDateString()===i.toDateString();return e.jsx("div",{className:w("flex min-h-9 items-center justify-center rounded-xl text-sm",l?"bg-[var(--primary)] text-slate-950":s?"bg-white/[0.04] text-white/78":"bg-transparent text-white/24"),children:a.getDate()},a.toISOString())})]})]})}function D({surfaceId:t}){const i=`forge.utility.spotify.${t}`,[r,n]=c.useState(()=>_(i,"https://open.spotify.com/"));return c.useEffect(()=>{A(i,r)},[i,r]),e.jsxs("div",{className:"grid h-full gap-3 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white",children:[e.jsx(Q,{className:"size-4 text-[var(--secondary)]"}),e.jsx("span",{className:"text-sm font-semibold",children:"Spotify link"})]}),e.jsx("input",{value:r,onChange:a=>n(a.target.value),className:"w-full rounded-2xl border border-white/10 bg-white/[0.04] px-3 py-2.5 text-sm text-white outline-none transition focus:border-[rgba(192,193,255,0.35)]",placeholder:"Paste a playlist, album, or artist URL"}),e.jsxs("a",{href:r,target:"_blank",rel:"noreferrer",className:"inline-flex min-h-10 items-center justify-center gap-2 rounded-2xl bg-[rgba(78,222,163,0.14)] px-3 py-2 text-sm font-medium text-[var(--secondary)] transition hover:bg-[rgba(78,222,163,0.22)]",children:["Open Spotify",e.jsx(U,{className:"size-4"})]})]})}function F({compact:t}){const[i,r]=c.useState(null),[n,a]=c.useState("Locating…");return c.useEffect(()=>{if(typeof navigator>"u"||!navigator.geolocation){a("Location unavailable");return}let s=!1;return navigator.geolocation.getCurrentPosition(async l=>{try{const p=await(await fetch(`https://api.open-meteo.com/v1/forecast?latitude=${l.coords.latitude}&longitude=${l.coords.longitude}&current=temperature_2m,weather_code`)).json();if(s||!p.current)return;r({temperature:Number(p.current.temperature_2m??0),weatherCode:Number(p.current.weather_code??0)}),a("Live")}catch{s||a("Weather unavailable")}},()=>{s||a("Permission denied")},{maximumAge:3e5,timeout:6e3}),()=>{s=!0}},[]),e.jsxs("div",{className:"flex h-full flex-col justify-between gap-4 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white",children:[e.jsx(T,{className:"size-4 text-[var(--tertiary)]"}),e.jsx("span",{className:"text-sm font-semibold",children:"Weather"})]}),i?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:w("font-display text-white",t?"text-3xl":"text-5xl"),children:[Math.round(i.temperature),"°"]}),e.jsxs("div",{className:"text-sm text-white/58",children:["Code ",i.weatherCode," · ",n]})]}):e.jsx("div",{className:"text-sm text-white/58",children:n})]})}function I({compact:t,defaultUserId:i}){const r=E(),n=c.useRef(null),a=c.useRef(null),[s,l]=c.useState(""),[d,p]=c.useState(""),k=N({mutationFn:async()=>z({contentMarkdown:`# ${s.trim()||"Quick note"}
2
2
 
3
3
  ${d.trim()}`,author:"Forge quick capture",userId:i??null,links:[]}),onSuccess:async()=>{l(""),p(""),await r.invalidateQueries({queryKey:["notes-index"]})}}),S=N({mutationFn:async()=>O({title:s.trim()||"Quick capture",contentMarkdown:d.trim(),summary:d.trim().slice(0,180),author:"Forge quick capture"}),onSuccess:async()=>{l(""),p(""),await r.invalidateQueries({queryKey:["wiki-pages"]})}});function x(o,M=o){const h=a.current;if(!h)return;const y=h.selectionStart??0,b=h.selectionEnd??0,V=d.slice(y,b),q=`${d.slice(0,y)}${o}${V}${M}${d.slice(b)}`;p(q),requestAnimationFrame(()=>{h.focus(),h.selectionStart=y+o.length,h.selectionEnd=b+o.length})}return e.jsxs("div",{className:"grid h-full min-h-0 gap-3 rounded-[20px] bg-white/[0.03] p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white",children:[e.jsx(v,{className:"size-4 text-[var(--primary)]"}),e.jsx("span",{className:"text-sm font-semibold",children:"Quick capture"})]}),e.jsx("input",{ref:n,value:s,onChange:o=>l(o.target.value),className:"w-full rounded-2xl border border-white/10 bg-white/[0.04] px-3 py-2.5 text-sm text-white outline-none transition focus:border-[rgba(192,193,255,0.35)]",placeholder:"Title"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:[{label:"B",action:()=>x("**")},{label:"I",action:()=>x("_")},{label:"H1",action:()=>x("# ","")},{label:"[]",action:()=>x("- [ ] ","")}].map(o=>e.jsx("button",{type:"button",className:"inline-flex min-h-8 items-center justify-center rounded-xl bg-white/[0.05] px-2.5 text-[12px] font-semibold text-white/72 transition hover:bg-white/[0.08] hover:text-white",onClick:o.action,children:o.label},o.label))}),e.jsx("textarea",{ref:a,value:d,onChange:o=>p(o.target.value),className:w("min-h-0 w-full rounded-[20px] border border-white/10 bg-white/[0.04] px-3 py-3 text-sm text-white outline-none transition focus:border-[rgba(192,193,255,0.35)]",t?"h-28":"h-40"),placeholder:"Write a quick note or rough wiki draft"}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsxs("button",{type:"button",className:"inline-flex min-h-10 items-center justify-center gap-2 rounded-2xl bg-[rgba(192,193,255,0.16)] px-3 py-2 text-sm font-medium text-[var(--primary)] transition hover:bg-[rgba(192,193,255,0.24)] disabled:opacity-50",disabled:!d.trim()||k.isPending,onClick:()=>k.mutate(),children:[e.jsx($,{className:"size-4"}),"Save as note"]}),e.jsxs("button",{type:"button",className:"inline-flex min-h-10 items-center justify-center gap-2 rounded-2xl bg-[rgba(255,185,95,0.16)] px-3 py-2 text-sm font-medium text-[var(--tertiary)] transition hover:bg-[rgba(255,185,95,0.24)] disabled:opacity-50",disabled:!d.trim()||S.isPending,onClick:()=>S.mutate(),children:[e.jsx(v,{className:"size-4"}),"Save as wiki"]})]})]})}const K={id:"surface:utility:time",surfaceId:"utility",routePath:null,title:"Clock",icon:"timer",description:"Live local time widget.",category:"Utilities",tags:["utility","clock"],inputs:[],params:[],output:[u({label:"Current time",description:"Formatted local time string published by the clock widget."}),m({key:"clock",label:"Clock state",description:"Structured clock state including the current ISO timestamp.",modelName:"ForgeClockState"})],tools:[],NodeView:f({title:"Clock",description:"Live local time widget.",inputs:[],params:[],output:[u({label:"Current time",description:"Formatted local time string published by the clock widget."}),m({key:"clock",label:"Clock state",description:"Structured clock state including the current ISO timestamp.",modelName:"ForgeClockState"})],tools:[]}),WebView:C,execute:t=>g(t,{clock:{now:t.context.now}},new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(t.context.now)))};C.workbench=K;const G={id:"surface:utility:mini-calendar",surfaceId:"utility",routePath:null,title:"Mini calendar",icon:"calendar",description:"Compact month calendar widget.",category:"Utilities",tags:["utility","calendar"],inputs:[],params:[],output:[u({label:"Month view",description:"Summary of the compact month calendar widget."}),m({key:"calendarView",label:"Calendar view",description:"Structured mini-calendar state including the current month anchor.",modelName:"ForgeMiniCalendarView"})],tools:[],NodeView:f({title:"Mini calendar",description:"Compact month calendar widget.",inputs:[],params:[],output:[u({label:"Month view",description:"Summary of the compact month calendar widget."}),m({key:"calendarView",label:"Calendar view",description:"Structured mini-calendar state including the current month anchor.",modelName:"ForgeMiniCalendarView"})],tools:[]}),WebView:W,execute:t=>g(t,{calendarView:{now:t.context.now}},"Compact month calendar")};W.workbench=G;const B={id:"surface:utility:spotify",surfaceId:"utility",routePath:null,title:"Spotify",icon:"music",description:"Pinned music link widget.",category:"Utilities",tags:["utility","spotify"],inputs:[{key:"surfaceId",label:"Surface id",kind:"text",required:!1}],params:[],output:[u({label:"Spotify link",description:"Summary of the pinned music link widget."}),m({key:"spotifyLink",label:"Spotify state",description:"Structured Spotify widget state and pinned surface context.",modelName:"ForgeSpotifyWidgetState"})],tools:[],NodeView:f({title:"Spotify",description:"Pinned music link widget.",inputs:[{key:"surfaceId",label:"Surface id",kind:"text"}],params:[],output:[u({label:"Spotify link",description:"Summary of the pinned music link widget."}),m({key:"spotifyLink",label:"Spotify state",description:"Structured Spotify widget state and pinned surface context.",modelName:"ForgeSpotifyWidgetState"})],tools:[]}),WebView:D,execute:t=>g(t,{spotifyLink:{surfaceId:t.inputs.surfaceId??null}},"Pinned Spotify link")};D.workbench=B;const H={id:"surface:utility:weather",surfaceId:"utility",routePath:null,title:"Weather",icon:"weather",description:"Location-aware weather widget.",category:"Utilities",tags:["utility","weather"],inputs:[],params:[],output:[u({label:"Weather summary",description:"Summary of the weather widget state."}),m({key:"weather",label:"Weather payload",description:"Structured weather widget payload.",modelName:"ForgeWeatherWidgetState"})],tools:[],NodeView:f({title:"Weather",description:"Location-aware weather widget.",inputs:[],params:[],output:[u({label:"Weather summary",description:"Summary of the weather widget state."}),m({key:"weather",label:"Weather payload",description:"Structured weather widget payload.",modelName:"ForgeWeatherWidgetState"})],tools:[]}),WebView:F,execute:t=>g(t,{weather:null},"Weather widget")};F.workbench=H;const X={id:"surface:utility:quick-capture",surfaceId:"utility",routePath:null,title:"Quick capture",icon:"capture",description:"Draft a quick note or wiki page.",category:"Capture",tags:["capture","notes"],inputs:[{key:"defaultUserId",label:"Default user id",kind:"text",required:!1}],params:[],output:[u({label:"Draft summary",description:"Summary of the quick-capture draft state."}),m({key:"draft",label:"Draft context",description:"Structured quick-capture draft context.",modelName:"ForgeQuickCaptureDraft"})],tools:[j("Create a Forge evidence note from captured markdown.")],NodeView:f({title:"Quick capture",description:"Draft a quick note or wiki page.",inputs:[{key:"defaultUserId",label:"Default user id",kind:"text"}],params:[],output:[u({label:"Draft summary",description:"Summary of the quick-capture draft state."}),m({key:"draft",label:"Draft context",description:"Structured quick-capture draft context.",modelName:"ForgeQuickCaptureDraft"})],tools:[j("Create a Forge evidence note from captured markdown.")]}),WebView:I,execute:t=>g(t,{draft:{defaultUserId:t.inputs.defaultUserId??null}},"Quick capture can draft notes and wiki pages.")};I.workbench=X;export{W as M,I as Q,D as S,C as T,F as W};