forge-openclaw-plugin 0.3.5 → 0.3.8
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.
- package/dist/assets/{action-bar-DBZ38L_6.js → action-bar-BFjWjRIM.js} +1 -1
- package/dist/assets/{activity-page-BJxUR9bD.js → activity-page-D-6yBWuZ.js} +1 -1
- package/dist/assets/{ai-surface-workspace-ehzBjTsW.js → ai-surface-workspace-BEfo9bRO.js} +1 -1
- package/dist/assets/{atlas-panel-BFUeVT69.js → atlas-panel-BfMyJXxQ.js} +1 -1
- package/dist/assets/{board-CLOHbg6t.js → board-CuxQRKPJ.js} +1 -1
- package/dist/assets/{calendar-page-Bg8W-YQ-.js → calendar-page-D4tQNJ2V.js} +1 -1
- package/dist/assets/{calendar-rules-9XQLoI96.js → calendar-rules-C-6O_uGU.js} +1 -1
- package/dist/assets/{calendar-week-toolbar-BeYnx1pE.js → calendar-week-toolbar-_NzeKsYx.js} +1 -1
- package/dist/assets/{charts-DwTguE_x.js → charts-BzT4pUPg.js} +1 -1
- package/dist/assets/{companion-sync-lab-page-BRKYkIrs.js → companion-sync-lab-page-D1Oqsf6M.js} +1 -1
- package/dist/assets/{daily-metrics-dashboard-Jt0nAHU5.js → daily-metrics-dashboard-DtE3pVOl.js} +1 -1
- package/dist/assets/date-keys-BnZV4PNO.js +1 -0
- package/dist/assets/{define-workbench-box-5h-dyvJY.js → define-workbench-box-D-32C8nM.js} +1 -1
- package/dist/assets/{entity-link-multiselect-Bb4De_e3.js → entity-link-multiselect-DcCvkesQ.js} +1 -1
- package/dist/assets/{entity-note-count-link-BzWnsOmI.js → entity-note-count-link-Cjsk5oT2.js} +1 -1
- package/dist/assets/{entity-notes-surface-CagOwdng.js → entity-notes-surface-DQQPLjxd.js} +1 -1
- package/dist/assets/{execution-board-DTmAtmqZ.js → execution-board-agWQbN-y.js} +1 -1
- package/dist/assets/{faceted-token-search-DJPRm9AY.js → faceted-token-search-DldM3-ru.js} +1 -1
- package/dist/assets/{flagship-signal-deck-CJbGZF7I.js → flagship-signal-deck-BlLYW9Kz.js} +1 -1
- package/dist/assets/{floating-action-menu-K77jh8XZ.js → floating-action-menu-D9-psbha.js} +1 -1
- package/dist/assets/{forms-C5d5hTf2.js → forms-D1qJ3oOP.js} +1 -1
- package/dist/assets/{generic-node-view-p5ePSFuG.js → generic-node-view-CcepUVhP.js} +1 -1
- package/dist/assets/{goal-detail-page-DGu_khEK.js → goal-detail-page-DP1n5-Hk.js} +1 -1
- package/dist/assets/{goal-dialog-BWD7cOv9.js → goal-dialog-Oxx8WqbZ.js} +1 -1
- package/dist/assets/{goals-page-Bgj3sj0f.js → goals-page-CUt1a4Y2.js} +1 -1
- package/dist/assets/{graph-Cd5WF3lw.js → graph-BF4IsheG.js} +1 -1
- package/dist/assets/{habits-page-Ctut1tuX.js → habits-page-5REbWAlo.js} +1 -1
- package/dist/assets/{health-boxes-Ie3horXx.js → health-boxes-sHNML3tm.js} +1 -1
- package/dist/assets/index-CQ5r7ZUz.js +2 -0
- package/dist/assets/index-FxgNSuZX.css +1 -0
- package/dist/assets/{inline-note-fields-DE6WM9uM.js → inline-note-fields-Bql_KfR9.js} +1 -1
- package/dist/assets/{insight-flow-dialog-XL8I74eJ.js → insight-flow-dialog-CN-CMSB7.js} +1 -1
- package/dist/assets/{insights-page-Bz1FLbp5.js → insights-page-B1u6ONtQ.js} +1 -1
- package/dist/assets/{kanban-boxes-BBziel7P.js → kanban-boxes-DB1kuUlY.js} +1 -1
- package/dist/assets/{kanban-page-DdQP73I3.js → kanban-page-BBW9_vMu.js} +1 -1
- package/dist/assets/{knowledge-graph-page-DdHWj4Dj.js → knowledge-graph-page-CoJaydZb.js} +1 -1
- package/dist/assets/{life-force-page-BRN-93cI.js → life-force-page-DBYbA1GF.js} +1 -1
- package/dist/assets/{life-force-workspace-BowvP5R4.js → life-force-workspace-BiD9xOEt.js} +1 -1
- package/dist/assets/{maps-D0Mm6WPG.js → maps-BTVHALP8.js} +1 -1
- package/dist/assets/{metric-tile-B6aJueRo.js → metric-tile-CuP9DOYm.js} +1 -1
- package/dist/assets/{motion-DwjmC9aq.js → motion-DcgUnXhY.js} +1 -1
- package/dist/assets/{movement-boxes-5cjWjIdR.js → movement-boxes-DZg_qPPg.js} +1 -1
- package/dist/assets/{movement-page-Dy53RWtB.js → movement-page-CmwsQGR_.js} +1 -1
- package/dist/assets/{note-markdown-CvEQCfoi.js → note-markdown-B82ncnFt.js} +1 -1
- package/dist/assets/{note-tags-input-Cg5zBXos.js → note-tags-input-C_x5WdK5.js} +1 -1
- package/dist/assets/{notes-boxes-CgZyf7mV.js → notes-boxes-BEFlp9yd.js} +1 -1
- package/dist/assets/{notes-page-Cbdcv0Ej.js → notes-page-B6Vl-GPf.js} +1 -1
- package/dist/assets/{open-in-graph-button-D31ZOEhA.js → open-in-graph-button-C-bJekoH.js} +1 -1
- package/dist/assets/{orbit-map-8eNDWek8.js → orbit-map-DHeTM15g.js} +1 -1
- package/dist/assets/{overview-page-CZ6q52Qj.js → overview-page-BRWje1F9.js} +1 -1
- package/dist/assets/{page-hero-C0MpI3MM.js → page-hero-8bITsx_x.js} +1 -1
- package/dist/assets/pill-cluster-XQjm-wPc.js +1 -0
- package/dist/assets/{preference-entity-handoff-button-CJhr5AXl.js → preference-entity-handoff-button-DwYF_5i3.js} +1 -1
- package/dist/assets/{preferences-page-8vszDNFX.js → preferences-page-C7DBPpNb.js} +1 -1
- package/dist/assets/{project-collections-sC7eAAhS.js → project-collections-mtxanSMf.js} +1 -1
- package/dist/assets/{project-detail-page-BKdnMjJy.js → project-detail-page-BT87Goqc.js} +1 -1
- package/dist/assets/{project-dialog-BiHZpOo1.js → project-dialog-DnZe757y.js} +1 -1
- package/dist/assets/{project-management-hierarchy-page-VW-hykAI.js → project-management-hierarchy-page-B3R2lNFI.js} +1 -1
- package/dist/assets/{project-management-section-nav-BEZ5zihs.js → project-management-section-nav-DyBWxHbe.js} +1 -1
- package/dist/assets/{projects-boxes-Ca6rpYeE.js → projects-boxes-CxZj3P29.js} +1 -1
- package/dist/assets/{projects-page-D86pjpTf.js → projects-page-Bec11c0x.js} +1 -1
- package/dist/assets/{psyche-behaviors-page-YLJB6CRU.js → psyche-behaviors-page-DWRpYvl1.js} +1 -1
- package/dist/assets/{psyche-flashcards-page-D3gdHLUw.js → psyche-flashcards-page-CX4rcsXZ.js} +1 -1
- package/dist/assets/{psyche-goal-map-page-DJiqSiCx.js → psyche-goal-map-page-Y6b3lCvV.js} +1 -1
- package/dist/assets/{psyche-graph-Tke0qFdt.js → psyche-graph-CQuCWKIp.js} +1 -1
- package/dist/assets/{psyche-metrics-page-DoLnvmC2.js → psyche-metrics-page-DadDJOnm.js} +1 -1
- package/dist/assets/{psyche-mode-guide-page-_Zbvg_HL.js → psyche-mode-guide-page-B1nz0uCg.js} +1 -1
- package/dist/assets/{psyche-modes-page-eAkaAzJc.js → psyche-modes-page-i3uSuhKA.js} +1 -1
- package/dist/assets/{psyche-page-CwmuBVjA.js → psyche-page-Y_s-BE2m.js} +1 -1
- package/dist/assets/{psyche-patterns-page-D7B4Ykjq.js → psyche-patterns-page-DaaOLIlN.js} +1 -1
- package/dist/assets/{psyche-questionnaire-builder-page-CHJlvCzX.js → psyche-questionnaire-builder-page-CuF7rXOv.js} +1 -1
- package/dist/assets/{psyche-questionnaire-detail-page-Bg3ll-D4.js → psyche-questionnaire-detail-page-BfFEMkRY.js} +1 -1
- package/dist/assets/{psyche-questionnaire-run-detail-page-CIEerczF.js → psyche-questionnaire-run-detail-page-BoQTvd7Q.js} +1 -1
- package/dist/assets/{psyche-questionnaire-run-page-DyxIk6Qx.js → psyche-questionnaire-run-page-C0qKiNZN.js} +1 -1
- package/dist/assets/{psyche-questionnaires-page-ZlqUxuIl.js → psyche-questionnaires-page-B6hfD448.js} +1 -1
- package/dist/assets/{psyche-report-detail-page-B2jgYnQ5.js → psyche-report-detail-page-BlFL8moM.js} +1 -1
- package/dist/assets/{psyche-reports-page-DlXr52yr.js → psyche-reports-page-DAAcYENp.js} +1 -1
- package/dist/assets/{psyche-schemas-Dtskzvv1.js → psyche-schemas-DDol0j-g.js} +1 -1
- package/dist/assets/{psyche-schemas-beliefs-page-BhrTZN9B.js → psyche-schemas-beliefs-page-CsxKSrKM.js} +1 -1
- package/dist/assets/{psyche-screen-time-page-WNGcdusx.js → psyche-screen-time-page-n4b0e58x.js} +1 -1
- package/dist/assets/{psyche-self-observation-page-XsCOglo4.js → psyche-self-observation-page-BaxEQ2-3.js} +1 -1
- package/dist/assets/{psyche-values-page-NvHI6zWK.js → psyche-values-page-DTv5NMSU.js} +1 -1
- package/dist/assets/{question-flow-dialog-Bj4PxpjS.js → question-flow-dialog-CskCt5NZ.js} +1 -1
- package/dist/assets/{report-chain-fields-mWFikZzT.js → report-chain-fields-D132-EMh.js} +1 -1
- package/dist/assets/{rewards-page-DyjwXsQN.js → rewards-page-C533lVP-.js} +1 -1
- package/dist/assets/{scheduling-rules-editor-C6FEYOxd.js → scheduling-rules-editor-CDpontGp.js} +1 -1
- package/dist/assets/{schema-badge-CCe4zkSN.js → schema-badge-B3DiMnjB.js} +1 -1
- package/dist/assets/{schemas-Cjwn6ooR.js → schemas-CH1_ngUX.js} +1 -1
- package/dist/assets/{select-menu-DeJhCsd8.js → select-menu-BOF-k4Ln.js} +1 -1
- package/dist/assets/{settings-agents-page-DYDxyKu-.js → settings-agents-page-B5OQtlZX.js} +1 -1
- package/dist/assets/{settings-bin-page-BWLfKVW1.js → settings-bin-page-D_bk3Kcu.js} +1 -1
- package/dist/assets/{settings-calendar-page-Ci-wXhCv.js → settings-calendar-page-PuSj9_kM.js} +1 -1
- package/dist/assets/{settings-data-page-DxIw-fWn.js → settings-data-page-EwFMaeq6.js} +1 -1
- package/dist/assets/{settings-logs-page-inpyIdu6.js → settings-logs-page-BKkse0DX.js} +1 -1
- package/dist/assets/{settings-mobile-page-BcJGLax8.js → settings-mobile-page-BrIVmdeB.js} +1 -1
- package/dist/assets/{settings-models-page-OWTRhfkj.js → settings-models-page-Mg84D_0K.js} +1 -1
- package/dist/assets/{settings-page-DXxF3qK2.js → settings-page-D-kul92f.js} +1 -1
- package/dist/assets/{settings-rewards-page-CCXin1n_.js → settings-rewards-page-waNyCcX_.js} +1 -1
- package/dist/assets/{settings-section-nav-CwSDNC3W.js → settings-section-nav-BmJWnrYk.js} +1 -1
- package/dist/assets/{settings-users-page-B4NEACwR.js → settings-users-page-DBgC6y56.js} +1 -1
- package/dist/assets/{settings-wiki-page-BNRK1SYc.js → settings-wiki-page-CM0te9dI.js} +1 -1
- package/dist/assets/sleep-page-C_krRE59.js +1 -0
- package/dist/assets/{sports-page-BawekFKD.js → sports-page-eg5Rfc_E.js} +1 -1
- package/dist/assets/{state-BtwEvpO6.js → state-Bpe5dF3T.js} +1 -1
- package/dist/assets/{strategies-page-BEl3NGAU.js → strategies-page-D4AqvFNW.js} +1 -1
- package/dist/assets/{strategy-detail-page-DPPI_8Ub.js → strategy-detail-page-BlYVkXaW.js} +1 -1
- package/dist/assets/{strategy-dialog-DU6wbBkQ.js → strategy-dialog-FO9Oa0dB.js} +1 -1
- package/dist/assets/{surface-BVYp-Wq9.js → surface-MVeeZGKB.js} +1 -1
- package/dist/assets/{table-BuONJH1s.js → table-U7otr5go.js} +1 -1
- package/dist/assets/{task-detail-page-BsMVAsbb.js → task-detail-page-Dy-aRyY6.js} +1 -1
- package/dist/assets/{task-dialog-BGzPc6TW.js → task-dialog-DrA9pba7.js} +1 -1
- package/dist/assets/{timebox-planning-dialog-4_XWuqkw.js → timebox-planning-dialog-C_gnfxFx.js} +1 -1
- package/dist/assets/{today-boxes-5pCvh5zS.js → today-boxes-BFOws_iC.js} +1 -1
- package/dist/assets/{today-page-BGurICpl.js → today-page-BoPj6a6q.js} +1 -1
- package/dist/assets/{training-load-page-BkoYKZ9_.js → training-load-page-DGU40Zfl.js} +1 -1
- package/dist/assets/{ui-B9O-eUim.js → ui-B9TWEtCx.js} +1 -1
- package/dist/assets/{use-anchored-overlay-position-BrQ4cqKn.js → use-anchored-overlay-position-BY4kNzPj.js} +1 -1
- package/dist/assets/{use-psyche-focus-target-Cuxni3SK.js → use-psyche-focus-target-BhNedCZB.js} +1 -1
- package/dist/assets/{user-badge-DfDv87j7.js → user-badge-CZWtYeMw.js} +1 -1
- package/dist/assets/{user-select-field-BNqv8-wd.js → user-select-field-fx129Uh6.js} +1 -1
- package/dist/assets/{utility-widgets-CbYj32he.js → utility-widgets-B3wWGxQc.js} +1 -1
- package/dist/assets/{vendor-Cpmju3nw.js → vendor-BwL6m4SE.js} +216 -211
- package/dist/assets/{vitals-page-DlxMk-L7.js → vitals-page-BXRZEP_8.js} +1 -1
- package/dist/assets/{weekly-review-page-VrEvAl1T.js → weekly-review-page-D5cebA5x.js} +1 -1
- package/dist/assets/weight-loss-page-BuUdFh9z.js +5 -0
- package/dist/assets/{wiki-article-markdown-DxTkiQRy.js → wiki-article-markdown-CvaCjg_t.js} +1 -1
- package/dist/assets/{wiki-editor-page-Beu92YnZ.js → wiki-editor-page-Dco79SLY.js} +1 -1
- package/dist/assets/{wiki-ingest-history-page-Cq_soygm.js → wiki-ingest-history-page-uvKRkRDF.js} +1 -1
- package/dist/assets/{wiki-ingest-modal-D6xs2sEn.js → wiki-ingest-modal-BW6AJPea.js} +1 -1
- package/dist/assets/{wiki-page-yF3Flgtg.js → wiki-page-BIL5zMqv.js} +1 -1
- package/dist/assets/{workbench-flow-page-CZZGg3a8.js → workbench-flow-page-Dx_nq8R_.js} +1 -1
- package/dist/assets/{workbench-page-DKENZ5Nz.js → workbench-page-BJnt_Zzf.js} +1 -1
- package/dist/assets/{workout-detail-page-CeN4QiYQ.js → workout-detail-page-CKgqyB-y.js} +2 -2
- package/dist/index.html +8 -8
- package/dist/server/server/migrations/070_health_mobile_sync_completion_index.sql +16 -0
- package/dist/server/server/src/app.js +139 -13
- package/dist/server/server/src/health-weight-loss.js +48 -6
- package/dist/server/server/src/health.js +345 -96
- package/dist/server/server/src/openapi.js +62 -0
- package/dist/server/server/src/repositories/gamification.js +25 -0
- package/dist/server/server/src/repositories/tasks.js +82 -17
- package/dist/server/server/src/services/dashboard.js +5 -4
- package/dist/server/server/src/services/gamification.js +47 -19
- package/dist/server/server/src/services/life-force.js +99 -0
- package/dist/server/src/lib/api.js +4 -0
- package/dist/server/src/lib/snapshot-normalizer.js +42 -23
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/server/migrations/070_health_mobile_sync_completion_index.sql +16 -0
- package/skills/forge-openclaw/SKILL.md +1 -0
- package/skills/forge-openclaw/psyche_entity_playbooks.md +8 -0
- package/dist/assets/date-keys-Cj1G3TOn.js +0 -1
- package/dist/assets/index-BaiwtAgo.js +0 -2
- package/dist/assets/index-CEgIwgk9.css +0 -1
- package/dist/assets/pill-cluster-DGwKZQKF.js +0 -1
- package/dist/assets/sleep-page-Bara54nB.js +0 -1
- package/dist/assets/weight-loss-page-DJDnjxKF.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b6 as be,r as p,j as o,bU as ge,b7 as ee,bV as ye,bW as xe,aV as te,bw as ve,aS as re,bv as ae,bX as oe,bm as ke,bu as we,aH as Te,ba as je,aL as Ne,aY as Pe,bo as _e,aP as Ce,bj as Re,aU as Be,aE as Le}from"./vendor-Cpmju3nw.js";import{R as Se,P as Ae,O as Ie,C as $e,T as Ee,D as Me}from"./ui-B9O-eUim.js";import{i as Fe}from"./state-BtwEvpO6.js";import{E as qe}from"./entity-link-multiselect-Bb4De_e3.js";import{g as Z,u as Ue,I as We,E as De,c as R,a as Ke,b as ze,s as He}from"./index-BaiwtAgo.js";import{f as k}from"./user-ownership-DJGl4rAj.js";import"./use-anchored-overlay-position-BrQ4cqKn.js";import"./motion-DwjmC9aq.js";import"./board-CLOHbg6t.js";import"./forms-C5d5hTf2.js";const Ge=["goal","project","task","strategy","habit","note","insight","calendar_event","work_block_template","task_timebox","psyche_value","behavior_pattern","behavior","belief_entry","mode_profile","flashcard","trigger_report"];function q(r){return r.map(t=>(t==null?void 0:t.trim())??"").filter(Boolean)}function d(r){return typeof r=="string"&&r.trim().length>0?r.trim():null}function Ve(r){if(!r||typeof r!="object")return null;const t=r,i=d(t.id),n=d(t.kind),c=d(t.displayName);return!i||!c||n!=="human"&&n!=="bot"?null:{id:i,kind:n,displayName:c,handle:d(t.handle)??"",description:d(t.description)??"",accentColor:d(t.accentColor)??"",createdAt:d(t.createdAt)??"",updatedAt:d(t.updatedAt)??""}}function Oe(r){return r==="create"||r==="new"||r.startsWith("create ")||r.startsWith("new ")}function Ye(r){return r==="create"||r==="new"?"":r.startsWith("create ")?r.slice(7).trim():r.startsWith("new ")?r.slice(4).trim():null}function A(r){return r.trim().toLowerCase()}function Qe(r,t){return r==="note"?Z(r,{noteKind:d(t==null?void 0:t.kind)==="wiki"?"wiki":"evidence"}):Z(r)}function M(r,t){switch(r){case"goal":return"Goal";case"project":return"Project";case"task":return"Task";case"strategy":return"Strategy";case"habit":return"Habit";case"note":return d(t==null?void 0:t.kind)==="wiki"?"Wiki page":"Note";case"insight":return"Insight";case"calendar_event":return"Calendar event";case"work_block_template":return"Work block";case"task_timebox":return"Timebox";case"psyche_value":return"Value";case"behavior_pattern":return"Pattern";case"behavior":return"Behavior";case"belief_entry":return"Belief";case"mode_profile":return"Mode";case"flashcard":return"Flashcard";case"trigger_report":return"Report";default:return r.replaceAll("_"," ")}}const J=[{id:"goal",family:"entity-type",label:"Goal",kind:"goal",searchText:"goal life goal direction",entityTypes:["goal"]},{id:"project",family:"entity-type",label:"Project",kind:"project",searchText:"project initiative",entityTypes:["project"]},{id:"task",family:"entity-type",label:"Task",kind:"task",searchText:"task action work item",entityTypes:["task"]},{id:"strategy",family:"entity-type",label:"Strategy",kind:"strategy",searchText:"strategy plan sequence roadmap",entityTypes:["strategy"]},{id:"habit",family:"entity-type",label:"Habit",kind:"habit",searchText:"habit recurring routine",entityTypes:["habit"]},{id:"note",family:"entity-type",label:"Note",kind:"note",searchText:"note evidence scratch note",entityTypes:["note"]},{id:"wiki_page",family:"entity-type",label:"Wiki page",kind:"wiki_page",searchText:"wiki page karpawiki article knowledge page",entityTypes:["note"]},{id:"calendar_event",family:"entity-type",label:"Calendar event",kind:"calendar_event",searchText:"calendar event meeting block schedule",entityTypes:["calendar_event"]},{id:"psyche_value",family:"entity-type",label:"Value",kind:"value",searchText:"value psyche value",entityTypes:["psyche_value"]},{id:"behavior_pattern",family:"entity-type",label:"Pattern",kind:"pattern",searchText:"pattern loop psyche pattern",entityTypes:["behavior_pattern"]},{id:"behavior",family:"entity-type",label:"Behavior",kind:"behavior",searchText:"behavior psyche behavior",entityTypes:["behavior"]},{id:"belief_entry",family:"entity-type",label:"Belief",kind:"belief",searchText:"belief schema belief entry",entityTypes:["belief_entry"]},{id:"mode_profile",family:"entity-type",label:"Mode",kind:"mode",searchText:"mode profile psyche mode",entityTypes:["mode_profile"]},{id:"flashcard",family:"entity-type",label:"Flashcard",kind:"flashcard",searchText:"flashcard card urge trigger reminder psyche",entityTypes:["flashcard"]},{id:"trigger_report",family:"entity-type",label:"Report",kind:"report",searchText:"report trigger report psyche report",entityTypes:["trigger_report"]}];function se(r,t){return(r==="belief_entry"?[t.statement,t.title,t.name]:r==="flashcard"?[t.title,t.message,t.triggerSentence]:r==="note"?[t.title,t.slug]:[t.title,t.displayName,t.statement,t.name,t.label,t.slug]).map(d).find(Boolean)??`${M(r,t)} ${String(t.id??"")}`}function ne(r,t){const i=[t.summary,t.description,t.overview,t.flexibleAlternative,t.originNote,t.endState,t.whyItMatters,t.valuedDirection,t.triggerSentence,t.triggerSituation,t.contentPlain].map(d).find(Boolean),n=[t.goalTitle,t.projectTitle,t.status,t.kind].map(d).find(Boolean),c=k(Ve(t.user)),u=q([r==="note"?M(r,t):null,c||null]).join(" · ");return q([i,n,c||null]).join(" · ")||u}function Xe(r,t){return q([se(r,t),ne(r,t),M(r,t),d(t.slug),d(t.handle)]).join(" ").toLowerCase()}function Ze(r,t,i){switch(r){case"goal":return`/goals/${encodeURIComponent(t)}`;case"project":return`/projects/${encodeURIComponent(t)}`;case"task":return`/tasks/${encodeURIComponent(t)}`;case"strategy":return`/strategies/${encodeURIComponent(t)}`;case"habit":return`/habits?focus=${encodeURIComponent(t)}`;case"note":{const n=d(i.kind),c=d(i.slug),u=d(i.spaceId);if(n==="wiki"&&c){const e=u?`?spaceId=${encodeURIComponent(u)}`:"";return`/wiki/page/${encodeURIComponent(c)}${e}`}return"/notes"}case"insight":return"/insights";case"calendar_event":case"work_block_template":case"task_timebox":return"/calendar";case"psyche_value":return`/psyche/values?focus=${encodeURIComponent(t)}`;case"behavior_pattern":return`/psyche/patterns?focus=${encodeURIComponent(t)}`;case"behavior":return`/psyche/behaviors?focus=${encodeURIComponent(t)}`;case"belief_entry":return`/psyche/schemas-beliefs?focus=${encodeURIComponent(t)}`;case"mode_profile":return`/psyche/modes?focus=${encodeURIComponent(t)}`;case"flashcard":return`/psyche/flashcards?focus=${encodeURIComponent(t)}`;case"trigger_report":return`/psyche/reports/${encodeURIComponent(t)}`;default:return null}}function U(r,t,i){const n=A(r);if(!n)return 0;const c=A(t),u=A(i),e=n.split(/\s+/).filter(Boolean);let h=0;c===n&&(h+=400),c.startsWith(n)&&(h+=240),c.includes(n)&&(h+=180),u.startsWith(n)&&(h+=32),u.includes(n)&&(h+=20);for(const N of e)c.startsWith(N)?h+=36:c.includes(N)&&(h+=24),u.includes(N)&&(h+=12);return h}function ie(r){if(r.length===0)return Ge;const t=new Set;return r.forEach(i=>{i.entityTypes.forEach(n=>t.add(n))}),Array.from(t)}function Je(r,t,i){if(!r.entityTypes.includes(t))return!1;if(t!=="note")return!0;const n=d(i.kind);return r.id==="wiki_page"?n==="wiki":r.id==="note"?n!=="wiki":!0}function et(r,t,i){if(i.length===0)return!0;const n=new Map;i.forEach(c=>{const u=n.get(c.family)??[];u.push(c),n.set(c.family,u)});for(const c of n.values())if(!c.some(e=>Je(e,r,t)))return!1;return!0}function tt(r,t){if(t.length===0)return!0;const i=new Set(t.filter(n=>n.family==="entity-type").map(n=>n.id));return i.size===0?!0:r.filterIds.some(n=>i.has(n))}function rt(r,t){const i=A(r);if(!Oe(i))return[];const n=Ye(i);return n===null?[]:t.map(c=>{const u=[c.title,c.quickActionTitle,c.description,...c.aliases].join(" ").toLowerCase(),e=n.length===0?1:U(n,c.quickActionTitle,u);return{...c,score:e}}).filter(c=>c.score>0).sort((c,u)=>u.score-c.score||c.quickActionTitle.localeCompare(u.quickActionTitle))}const at=new Set(ie([]));function ot(r){return typeof r=="string"&&at.has(r)}function l(r,t){const i=t??ee;switch(r){case"action":return{icon:oe,tileClassName:"border-emerald-300/18 bg-emerald-300/12 text-emerald-100 shadow-[0_18px_36px_rgba(52,211,153,0.12)]",badgeClassName:"border-emerald-300/18 bg-emerald-300/10 text-emerald-100"};case"wiki":return{icon:ae,tileClassName:"border-blue-300/18 bg-blue-300/12 text-blue-100 shadow-[0_18px_36px_rgba(96,165,250,0.12)]",badgeClassName:"border-blue-300/18 bg-blue-300/10 text-blue-100"};case"note":return{icon:re,tileClassName:"border-amber-300/18 bg-amber-300/12 text-amber-100 shadow-[0_18px_36px_rgba(251,191,36,0.12)]",badgeClassName:"border-amber-300/18 bg-amber-300/10 text-amber-100"};case"insight":return{icon:ve,tileClassName:"border-emerald-300/18 bg-emerald-300/12 text-emerald-100 shadow-[0_18px_36px_rgba(52,211,153,0.12)]",badgeClassName:"border-emerald-300/18 bg-emerald-300/10 text-emerald-100"};case"calendar":return{icon:te,tileClassName:"border-cyan-300/18 bg-cyan-300/12 text-cyan-100 shadow-[0_18px_36px_rgba(34,211,238,0.12)]",badgeClassName:"border-cyan-300/18 bg-cyan-300/10 text-cyan-100"};case"route":return{icon:i,tileClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-medium)] shadow-[var(--ui-shadow-soft)]",badgeClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-soft)]"};default:return{icon:i,tileClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-medium)] shadow-[var(--ui-shadow-soft)]",badgeClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-soft)]"}}}function st({item:r}){if(r.kind){const n=Ke(r.kind),c=n.icon;return o.jsx("span",{className:R("mt-0.5 inline-flex size-11 shrink-0 items-center justify-center rounded-[17px] border",n.subtleBadgeClassName),children:o.jsx(c,{className:R("size-5",n.iconClassName)})})}const t=l("search",r.icon),i=r.icon??t.icon;return o.jsx("span",{className:R("mt-0.5 inline-flex size-11 shrink-0 items-center justify-center rounded-[17px] border",r.tileClassName??t.tileClassName),children:o.jsx(i,{className:"size-5"})})}function nt({item:r}){if(r.kind&&r.section==="results")return o.jsx(ze,{kind:r.kind,label:r.category,compact:!0,gradient:!1});const t=l(r.section==="quick-actions"?"action":"search",r.icon),i=r.icon??t.icon;return o.jsxs("span",{className:R("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-medium",r.badgeClassName??t.badgeClassName),children:[o.jsx(i,{className:"size-3.5"}),r.category]})}function f(r,t,i){return`${r} ${t} ${i}`.trim().toLowerCase()}function gt({open:r,onOpenChange:t,snapshot:i,selectedUserIds:n,createActions:c}){var O;const u=be(),{t:e}=Ue(),h=p.useRef([]),[N,W]=p.useState(""),[B,P]=p.useState(0),[L,D]=p.useState([]),j=p.useDeferredValue(N),y=A(j),b=p.useMemo(()=>J.filter(a=>L.includes(a.id)),[L]);p.useEffect(()=>{r||(W(""),P(0),D([]))},[r]);const ce=p.useMemo(()=>J.map(a=>({value:a.id,label:a.label,description:a.id==="wiki_page"?"Search only KarpaWiki pages.":a.id==="note"?"Search notes and evidence that are not wiki pages.":`Search ${a.label.toLowerCase()} records.`,searchText:a.searchText,kind:a.kind})),[]),le=p.useMemo(()=>({routes:e("common.actionBar.sections.routes"),recent:e("common.actionBar.sections.recent"),"quick-actions":e("common.actionBar.sections.quickActions"),results:e("common.actionBar.sections.results")}),[e]),I=p.useMemo(()=>[{id:"route-overview",title:e("common.routeLabels.overview"),detail:e("common.commandPalette.routeOverview"),href:"/overview",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.overview"),e("common.commandPalette.routeOverview"),e("common.commandPalette.categoryRoute")),score:0,...l("route",ke)},{id:"route-today",title:e("common.routeLabels.today"),detail:e("common.commandPalette.routeToday"),href:"/today",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.today"),e("common.commandPalette.routeToday"),e("common.commandPalette.categoryRoute")),score:0,...l("route",we)},{id:"route-kanban",title:e("common.routeLabels.kanban"),detail:e("common.commandPalette.routeKanban"),href:"/kanban",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.kanban"),e("common.commandPalette.routeKanban"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Te)},{id:"route-psyche",title:e("common.routeLabels.psyche"),detail:e("common.commandPalette.routePsyche"),href:"/psyche",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.psyche"),e("common.commandPalette.routePsyche"),e("common.commandPalette.categoryRoute")),score:0,...l("route",je)},{id:"route-notes",title:e("common.routeLabels.notes"),detail:e("common.commandPalette.routeNotes"),href:"/notes",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.notes"),e("common.commandPalette.routeNotes"),e("common.commandPalette.categoryRoute")),score:0,...l("route",re)},{id:"route-wiki",title:e("common.routeLabels.wiki"),detail:e("common.commandPalette.routeWiki"),href:"/wiki",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.wiki"),e("common.commandPalette.routeWiki"),e("common.commandPalette.categoryRoute")),score:0,...l("route",ae)},{id:"route-goals",title:e("common.routeLabels.goals"),detail:e("common.commandPalette.routeGoals"),href:"/goals",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.goals"),e("common.commandPalette.routeGoals"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Ne)},{id:"route-habits",title:e("common.routeLabels.habits"),detail:e("common.commandPalette.routeHabits"),href:"/habits",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.habits"),e("common.commandPalette.routeHabits"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Pe)},{id:"route-projects",title:e("common.routeLabels.projects"),detail:e("common.commandPalette.routeProjects"),href:"/projects",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.projects"),e("common.commandPalette.routeProjects"),e("common.commandPalette.categoryRoute")),score:0,...l("route",_e)},{id:"route-strategies",title:e("common.routeLabels.strategies"),detail:e("common.commandPalette.routeStrategies"),href:"/strategies",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.strategies"),e("common.commandPalette.routeStrategies"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Ce)},{id:"route-preferences",title:e("common.routeLabels.preferences"),detail:e("common.commandPalette.routePreferences"),href:"/preferences",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.preferences"),e("common.commandPalette.routePreferences"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Re)},{id:"route-calendar",title:e("common.routeLabels.calendar"),detail:e("common.commandPalette.routeCalendar"),href:"/calendar",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.calendar"),e("common.commandPalette.routeCalendar"),e("common.commandPalette.categoryRoute")),score:0,...l("route",te)},{id:"route-knowledge-graph",title:"Knowledge Graph",detail:"Open the world model and graph views for Forge.",href:"/knowledge-graph",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f("Knowledge Graph","Open the world model and graph views for Forge.",e("common.commandPalette.categoryRoute")),score:0,...l("route",Be)},{id:"route-settings",title:e("common.routeLabels.settings"),detail:e("common.commandPalette.routeSettings"),href:"/settings",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.settings"),e("common.commandPalette.routeSettings"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Le)}],[e]),K=p.useMemo(()=>{const a=[...i.overview.topTasks.slice(0,4).map(s=>({id:`task-${s.id}`,title:s.title,detail:k(s.user)||e("common.commandPalette.openFocusTask"),href:`/tasks/${s.id}`,category:e("common.commandPalette.categoryTask"),section:"recent",searchText:`${s.title} ${k(s.user)}`.toLowerCase(),score:0,kind:"task"})),...i.dashboard.projects.slice(0,3).map(s=>({id:`project-${s.id}`,title:s.title,detail:[s.goalTitle,k(s.user)].filter(Boolean).join(" · "),href:`/projects/${s.id}`,category:e("common.commandPalette.categoryProject"),section:"recent",searchText:`${s.title} ${s.goalTitle??""} ${k(s.user)}`.toLowerCase(),score:0,kind:"project"})),...i.overview.activeGoals.slice(0,2).map(s=>({id:`goal-${s.id}`,title:s.title,detail:k(s.user)||e("common.commandPalette.openLifeGoal"),href:`/goals/${s.id}`,category:e("common.commandPalette.categoryGoal"),section:"recent",searchText:`${s.title} ${k(s.user)}`.toLowerCase(),score:0,kind:"goal"})),...i.dashboard.habits.slice(0,2).map(s=>({id:`habit-${s.id}`,title:s.title,detail:[s.frequency==="daily"?"Daily habit":"Weekly habit",k(s.user)].filter(Boolean).join(" · "),href:`/habits?focus=${s.id}`,category:e("common.routeLabels.habits"),section:"recent",searchText:`${s.title} ${s.frequency} ${k(s.user)}`.toLowerCase(),score:0,kind:"habit"}))].slice(0,8);return[...I.slice(0,6),...a]},[I,i,e]),$=Fe({queryKey:["forge-action-bar-search",y,[...L].sort().join("|"),[...n].sort().join("|")],enabled:r&&(y.length>0||b.length>0),queryFn:async()=>{const a=ie(b),s=await He({searches:a.map(g=>({entityTypes:[g],query:j.trim()||void 0,userIds:n.length>0?n:void 0,limit:g==="note"?6:4,clientRef:g}))}),x=new Map;for(const g of s.results){const w=Array.isArray(g.matches)?g.matches??[]:[];for(const S of w){if(!S||typeof S!="object")continue;const m=S;if(!ot(m.entityType)||typeof m.id!="string"||!m.entity||typeof m.entity!="object")continue;const T=m.entity;if(!et(m.entityType,T,b))continue;const Y=Ze(m.entityType,m.id,T);if(!Y)continue;const Q=se(m.entityType,T),de=ne(m.entityType,T),pe=M(m.entityType,T),X=Xe(m.entityType,T),fe=Qe(m.entityType,T)??void 0,he=y.length>0?U(j,Q,X):0;let _=l("search");m.entityType==="note"?_=l(T.kind==="wiki"?"wiki":"note"):m.entityType==="insight"?_=l("insight"):(m.entityType==="calendar_event"||m.entityType==="task_timebox"||m.entityType==="work_block_template")&&(_=l("calendar"));const C={id:`${m.entityType}-${m.id}`,title:Q,detail:de,href:Y,category:pe,section:"results",searchText:X,score:he,kind:fe,icon:_.icon,tileClassName:_.tileClassName,badgeClassName:_.badgeClassName},E=x.get(C.id);(!E||C.score>E.score||C.score===E.score&&C.title<E.title)&&x.set(C.id,C)}}return Array.from(x.values()).sort((g,w)=>w.score!==g.score?w.score-g.score:g.title.localeCompare(w.title)).slice(0,12)}}),z=p.useMemo(()=>y?I.map(a=>({...a,score:U(j,a.title,a.searchText)})).filter(a=>a.score>0).sort((a,s)=>s.score-a.score||a.title.localeCompare(s.title)).slice(0,4):[],[j,y,I]),H=p.useMemo(()=>rt(j,c).filter(a=>tt(a,b)).slice(0,6).map(a=>({id:`quick-${a.id}`,title:a.quickActionTitle,detail:a.description,category:"Quick action",section:"quick-actions",searchText:`${a.quickActionTitle} ${a.description} ${a.aliases.join(" ")}`.toLowerCase(),score:a.score,onSelect:a.onSelect,...l("action",oe)})),[c,j,b]),v=p.useMemo(()=>{if(!y&&b.length===0)return K;const a=[...H,...z],s=new Set(a.map(x=>x.id));for(const x of $.data??[])s.has(x.id)||(s.add(x.id),a.push(x));return a.slice(0,16)},[K,$.data,y,H,z,b.length]);p.useEffect(()=>{P(0)},[y,r,L.join("|")]),p.useEffect(()=>{v.length!==0&&P(a=>Math.min(Math.max(a,0),v.length-1))},[v]),p.useEffect(()=>{const a=h.current[B];a==null||a.scrollIntoView({block:"nearest"})},[B]);const G=v[B]??null,F=i.users.filter(a=>n.includes(a.id)),me=n.length===0?"All humans and bots":F.length===1?((O=F[0])==null?void 0:O.displayName)??"1 selected owner":`${F.length||n.length} selected owners`,ue=(y.length>0||b.length>0)&&$.isFetching,V=a=>{if(t(!1),a.onSelect){a.onSelect();return}a.href&&u(a.href)};return o.jsx(Se,{open:r,onOpenChange:t,children:o.jsxs(Ae,{children:[o.jsx(Ie,{className:"surface-overlay fixed inset-0 z-40 backdrop-blur-xl"}),o.jsxs($e,{className:"surface-modal-panel fixed inset-x-3 bottom-3 top-3 z-50 flex flex-col overflow-hidden rounded-[30px] border sm:inset-x-6 sm:bottom-6 sm:top-6 md:left-1/2 md:right-auto md:top-[9vh] md:h-[min(82vh,48rem)] md:w-[min(64rem,calc(100vw-2rem))] md:-translate-x-1/2 md:bottom-auto",children:[o.jsx(Ee,{className:"sr-only",children:e("common.actionBar.title")}),o.jsx(Me,{className:"sr-only",children:e("common.actionBar.description")}),o.jsxs("div",{className:"border-b border-[var(--ui-border-subtle)] px-4 py-4 sm:px-5",children:[o.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-1.5 text-[12px] text-[var(--ui-ink-medium)]",children:[o.jsx("span",{className:"rounded-full bg-[var(--ui-surface-2)] px-2 py-0.5 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Scope"}),o.jsx("span",{children:me})]}),b.length>0?o.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-1.5 text-[12px] text-[var(--ui-ink-medium)]",children:[o.jsx(ge,{className:"size-3.5 text-[var(--ui-ink-faint)]"}),o.jsxs("span",{children:[b.length," filter",b.length===1?"":"s"]})]}):null]}),o.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:[o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Shift Shift"}),o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Cmd/Ctrl K"})]})]}),o.jsxs("div",{className:"mt-4 rounded-[24px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-2)] px-4 py-4 shadow-[inset_0_1px_0_var(--ui-border-subtle)]",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(ee,{className:"size-5 text-[var(--ui-ink-faint)]"}),o.jsx(We,{autoFocus:!0,value:N,onChange:a=>W(a.target.value),onKeyDown:a=>{if(a.key==="ArrowDown"){a.preventDefault(),P(s=>v.length===0?0:Math.min(s+1,v.length-1));return}if(a.key==="ArrowUp"){a.preventDefault(),P(s=>Math.max(s-1,0));return}if(a.key==="Enter"&&G){a.preventDefault(),V(G);return}a.key==="Escape"&&(a.preventDefault(),t(!1))},placeholder:e("common.actionBar.searchPlaceholder"),className:"border-0 bg-transparent px-0 py-0 text-[1rem] focus:border-0"}),ue?o.jsx(ye,{className:"size-4 shrink-0 animate-spin text-[var(--ui-ink-faint)]"}):null]}),o.jsx("div",{className:"mt-2 pl-8 text-[13px] leading-6 text-[var(--ui-ink-soft)]",children:e(y?"common.actionBar.activeHint":"common.actionBar.idleHint")}),o.jsxs("div",{className:"mt-4 border-t border-[var(--ui-border-subtle)] pt-4",children:[o.jsx("div",{className:"mb-2 pl-1 text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:e("common.actionBar.filtersLabel")}),o.jsx(qe,{options:ce,selectedValues:L,onChange:D,placeholder:e("common.actionBar.filtersPlaceholder"),emptyMessage:e("common.actionBar.filtersEmpty"),variant:"action-bar"})]})]})]}),o.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3 sm:px-4",children:v.length===0?o.jsx("div",{className:"rounded-[24px] border border-dashed border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-4 py-8 text-center text-sm text-[var(--ui-ink-soft)]",children:$.isFetching?e("common.actionBar.searching"):b.length>0?e("common.actionBar.noResultsWithFilters"):e("common.actionBar.noResults")}):o.jsx("div",{className:"grid gap-2",children:v.map((a,s)=>{var w;const g=(((w=v[s-1])==null?void 0:w.section)??null)!==a.section;return o.jsxs("div",{children:[g?o.jsx("div",{className:"px-2 pb-1 pt-2 text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)] first:pt-0",children:le[a.section]}):null,o.jsxs("button",{ref:S=>{h.current[s]=S},type:"button",className:R("group flex w-full items-start gap-3 rounded-[24px] border px-4 py-3.5 text-left transition",s===B?"border-[var(--ui-border-strong)] bg-[var(--ui-surface-3)] shadow-[var(--ui-shadow-soft)]":"border-transparent bg-[var(--ui-surface-1)] hover:border-[var(--ui-border-subtle)] hover:bg-[var(--ui-surface-hover)]"),onMouseEnter:()=>P(s),onClick:()=>V(a),children:[o.jsx(st,{item:a}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx("div",{className:"flex flex-wrap items-center gap-2",children:o.jsx(nt,{item:a})}),o.jsx("div",{className:"mt-2 text-[15px] font-medium text-[var(--ui-ink-strong)]",children:a.kind&&a.section==="results"?o.jsx(De,{kind:a.kind,label:a.title,showIcon:!1,labelClassName:"text-[var(--ui-ink-strong)]"}):a.title}),o.jsx("div",{className:"mt-1 text-sm leading-6 text-[var(--ui-ink-soft)]",children:a.detail})]}),o.jsx(xe,{className:R("mt-1 size-4 shrink-0 transition",s===B?"text-[var(--ui-ink-medium)]":"text-[var(--ui-ink-faint)] group-hover:text-[var(--ui-ink-soft)]")})]})]},a.id)})})}),o.jsx("div",{className:"border-t border-[var(--ui-border-subtle)] px-4 py-3 sm:px-5",children:o.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[12px] text-[var(--ui-ink-faint)]",children:[o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Up/Down navigate"}),o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Enter open"}),o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Esc close"})]})})]})]})})}export{gt as ActionBar};
|
|
1
|
+
import{b6 as be,r as p,j as o,bU as ge,b7 as ee,bV as ye,bW as xe,aV as te,bw as ve,aS as re,bv as ae,bX as oe,bm as ke,bu as we,aH as Te,ba as je,aL as Ne,aY as Pe,bo as _e,aP as Ce,bj as Re,aU as Be,aE as Le}from"./vendor-BwL6m4SE.js";import{R as Se,P as Ae,O as Ie,C as $e,T as Ee,D as Me}from"./ui-B9TWEtCx.js";import{i as Fe}from"./state-Bpe5dF3T.js";import{E as qe}from"./entity-link-multiselect-DcCvkesQ.js";import{g as Z,u as Ue,I as We,E as De,c as R,a as Ke,b as ze,s as He}from"./index-CQ5r7ZUz.js";import{f as k}from"./user-ownership-DJGl4rAj.js";import"./use-anchored-overlay-position-BY4kNzPj.js";import"./motion-DcgUnXhY.js";import"./board-CuxQRKPJ.js";import"./forms-D1qJ3oOP.js";const Ge=["goal","project","task","strategy","habit","note","insight","calendar_event","work_block_template","task_timebox","psyche_value","behavior_pattern","behavior","belief_entry","mode_profile","flashcard","trigger_report"];function q(r){return r.map(t=>(t==null?void 0:t.trim())??"").filter(Boolean)}function d(r){return typeof r=="string"&&r.trim().length>0?r.trim():null}function Ve(r){if(!r||typeof r!="object")return null;const t=r,i=d(t.id),n=d(t.kind),c=d(t.displayName);return!i||!c||n!=="human"&&n!=="bot"?null:{id:i,kind:n,displayName:c,handle:d(t.handle)??"",description:d(t.description)??"",accentColor:d(t.accentColor)??"",createdAt:d(t.createdAt)??"",updatedAt:d(t.updatedAt)??""}}function Oe(r){return r==="create"||r==="new"||r.startsWith("create ")||r.startsWith("new ")}function Ye(r){return r==="create"||r==="new"?"":r.startsWith("create ")?r.slice(7).trim():r.startsWith("new ")?r.slice(4).trim():null}function A(r){return r.trim().toLowerCase()}function Qe(r,t){return r==="note"?Z(r,{noteKind:d(t==null?void 0:t.kind)==="wiki"?"wiki":"evidence"}):Z(r)}function M(r,t){switch(r){case"goal":return"Goal";case"project":return"Project";case"task":return"Task";case"strategy":return"Strategy";case"habit":return"Habit";case"note":return d(t==null?void 0:t.kind)==="wiki"?"Wiki page":"Note";case"insight":return"Insight";case"calendar_event":return"Calendar event";case"work_block_template":return"Work block";case"task_timebox":return"Timebox";case"psyche_value":return"Value";case"behavior_pattern":return"Pattern";case"behavior":return"Behavior";case"belief_entry":return"Belief";case"mode_profile":return"Mode";case"flashcard":return"Flashcard";case"trigger_report":return"Report";default:return r.replaceAll("_"," ")}}const J=[{id:"goal",family:"entity-type",label:"Goal",kind:"goal",searchText:"goal life goal direction",entityTypes:["goal"]},{id:"project",family:"entity-type",label:"Project",kind:"project",searchText:"project initiative",entityTypes:["project"]},{id:"task",family:"entity-type",label:"Task",kind:"task",searchText:"task action work item",entityTypes:["task"]},{id:"strategy",family:"entity-type",label:"Strategy",kind:"strategy",searchText:"strategy plan sequence roadmap",entityTypes:["strategy"]},{id:"habit",family:"entity-type",label:"Habit",kind:"habit",searchText:"habit recurring routine",entityTypes:["habit"]},{id:"note",family:"entity-type",label:"Note",kind:"note",searchText:"note evidence scratch note",entityTypes:["note"]},{id:"wiki_page",family:"entity-type",label:"Wiki page",kind:"wiki_page",searchText:"wiki page karpawiki article knowledge page",entityTypes:["note"]},{id:"calendar_event",family:"entity-type",label:"Calendar event",kind:"calendar_event",searchText:"calendar event meeting block schedule",entityTypes:["calendar_event"]},{id:"psyche_value",family:"entity-type",label:"Value",kind:"value",searchText:"value psyche value",entityTypes:["psyche_value"]},{id:"behavior_pattern",family:"entity-type",label:"Pattern",kind:"pattern",searchText:"pattern loop psyche pattern",entityTypes:["behavior_pattern"]},{id:"behavior",family:"entity-type",label:"Behavior",kind:"behavior",searchText:"behavior psyche behavior",entityTypes:["behavior"]},{id:"belief_entry",family:"entity-type",label:"Belief",kind:"belief",searchText:"belief schema belief entry",entityTypes:["belief_entry"]},{id:"mode_profile",family:"entity-type",label:"Mode",kind:"mode",searchText:"mode profile psyche mode",entityTypes:["mode_profile"]},{id:"flashcard",family:"entity-type",label:"Flashcard",kind:"flashcard",searchText:"flashcard card urge trigger reminder psyche",entityTypes:["flashcard"]},{id:"trigger_report",family:"entity-type",label:"Report",kind:"report",searchText:"report trigger report psyche report",entityTypes:["trigger_report"]}];function se(r,t){return(r==="belief_entry"?[t.statement,t.title,t.name]:r==="flashcard"?[t.title,t.message,t.triggerSentence]:r==="note"?[t.title,t.slug]:[t.title,t.displayName,t.statement,t.name,t.label,t.slug]).map(d).find(Boolean)??`${M(r,t)} ${String(t.id??"")}`}function ne(r,t){const i=[t.summary,t.description,t.overview,t.flexibleAlternative,t.originNote,t.endState,t.whyItMatters,t.valuedDirection,t.triggerSentence,t.triggerSituation,t.contentPlain].map(d).find(Boolean),n=[t.goalTitle,t.projectTitle,t.status,t.kind].map(d).find(Boolean),c=k(Ve(t.user)),u=q([r==="note"?M(r,t):null,c||null]).join(" · ");return q([i,n,c||null]).join(" · ")||u}function Xe(r,t){return q([se(r,t),ne(r,t),M(r,t),d(t.slug),d(t.handle)]).join(" ").toLowerCase()}function Ze(r,t,i){switch(r){case"goal":return`/goals/${encodeURIComponent(t)}`;case"project":return`/projects/${encodeURIComponent(t)}`;case"task":return`/tasks/${encodeURIComponent(t)}`;case"strategy":return`/strategies/${encodeURIComponent(t)}`;case"habit":return`/habits?focus=${encodeURIComponent(t)}`;case"note":{const n=d(i.kind),c=d(i.slug),u=d(i.spaceId);if(n==="wiki"&&c){const e=u?`?spaceId=${encodeURIComponent(u)}`:"";return`/wiki/page/${encodeURIComponent(c)}${e}`}return"/notes"}case"insight":return"/insights";case"calendar_event":case"work_block_template":case"task_timebox":return"/calendar";case"psyche_value":return`/psyche/values?focus=${encodeURIComponent(t)}`;case"behavior_pattern":return`/psyche/patterns?focus=${encodeURIComponent(t)}`;case"behavior":return`/psyche/behaviors?focus=${encodeURIComponent(t)}`;case"belief_entry":return`/psyche/schemas-beliefs?focus=${encodeURIComponent(t)}`;case"mode_profile":return`/psyche/modes?focus=${encodeURIComponent(t)}`;case"flashcard":return`/psyche/flashcards?focus=${encodeURIComponent(t)}`;case"trigger_report":return`/psyche/reports/${encodeURIComponent(t)}`;default:return null}}function U(r,t,i){const n=A(r);if(!n)return 0;const c=A(t),u=A(i),e=n.split(/\s+/).filter(Boolean);let h=0;c===n&&(h+=400),c.startsWith(n)&&(h+=240),c.includes(n)&&(h+=180),u.startsWith(n)&&(h+=32),u.includes(n)&&(h+=20);for(const N of e)c.startsWith(N)?h+=36:c.includes(N)&&(h+=24),u.includes(N)&&(h+=12);return h}function ie(r){if(r.length===0)return Ge;const t=new Set;return r.forEach(i=>{i.entityTypes.forEach(n=>t.add(n))}),Array.from(t)}function Je(r,t,i){if(!r.entityTypes.includes(t))return!1;if(t!=="note")return!0;const n=d(i.kind);return r.id==="wiki_page"?n==="wiki":r.id==="note"?n!=="wiki":!0}function et(r,t,i){if(i.length===0)return!0;const n=new Map;i.forEach(c=>{const u=n.get(c.family)??[];u.push(c),n.set(c.family,u)});for(const c of n.values())if(!c.some(e=>Je(e,r,t)))return!1;return!0}function tt(r,t){if(t.length===0)return!0;const i=new Set(t.filter(n=>n.family==="entity-type").map(n=>n.id));return i.size===0?!0:r.filterIds.some(n=>i.has(n))}function rt(r,t){const i=A(r);if(!Oe(i))return[];const n=Ye(i);return n===null?[]:t.map(c=>{const u=[c.title,c.quickActionTitle,c.description,...c.aliases].join(" ").toLowerCase(),e=n.length===0?1:U(n,c.quickActionTitle,u);return{...c,score:e}}).filter(c=>c.score>0).sort((c,u)=>u.score-c.score||c.quickActionTitle.localeCompare(u.quickActionTitle))}const at=new Set(ie([]));function ot(r){return typeof r=="string"&&at.has(r)}function l(r,t){const i=t??ee;switch(r){case"action":return{icon:oe,tileClassName:"border-emerald-300/18 bg-emerald-300/12 text-emerald-100 shadow-[0_18px_36px_rgba(52,211,153,0.12)]",badgeClassName:"border-emerald-300/18 bg-emerald-300/10 text-emerald-100"};case"wiki":return{icon:ae,tileClassName:"border-blue-300/18 bg-blue-300/12 text-blue-100 shadow-[0_18px_36px_rgba(96,165,250,0.12)]",badgeClassName:"border-blue-300/18 bg-blue-300/10 text-blue-100"};case"note":return{icon:re,tileClassName:"border-amber-300/18 bg-amber-300/12 text-amber-100 shadow-[0_18px_36px_rgba(251,191,36,0.12)]",badgeClassName:"border-amber-300/18 bg-amber-300/10 text-amber-100"};case"insight":return{icon:ve,tileClassName:"border-emerald-300/18 bg-emerald-300/12 text-emerald-100 shadow-[0_18px_36px_rgba(52,211,153,0.12)]",badgeClassName:"border-emerald-300/18 bg-emerald-300/10 text-emerald-100"};case"calendar":return{icon:te,tileClassName:"border-cyan-300/18 bg-cyan-300/12 text-cyan-100 shadow-[0_18px_36px_rgba(34,211,238,0.12)]",badgeClassName:"border-cyan-300/18 bg-cyan-300/10 text-cyan-100"};case"route":return{icon:i,tileClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-medium)] shadow-[var(--ui-shadow-soft)]",badgeClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-soft)]"};default:return{icon:i,tileClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-medium)] shadow-[var(--ui-shadow-soft)]",badgeClassName:"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] text-[var(--ui-ink-soft)]"}}}function st({item:r}){if(r.kind){const n=Ke(r.kind),c=n.icon;return o.jsx("span",{className:R("mt-0.5 inline-flex size-11 shrink-0 items-center justify-center rounded-[17px] border",n.subtleBadgeClassName),children:o.jsx(c,{className:R("size-5",n.iconClassName)})})}const t=l("search",r.icon),i=r.icon??t.icon;return o.jsx("span",{className:R("mt-0.5 inline-flex size-11 shrink-0 items-center justify-center rounded-[17px] border",r.tileClassName??t.tileClassName),children:o.jsx(i,{className:"size-5"})})}function nt({item:r}){if(r.kind&&r.section==="results")return o.jsx(ze,{kind:r.kind,label:r.category,compact:!0,gradient:!1});const t=l(r.section==="quick-actions"?"action":"search",r.icon),i=r.icon??t.icon;return o.jsxs("span",{className:R("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-medium",r.badgeClassName??t.badgeClassName),children:[o.jsx(i,{className:"size-3.5"}),r.category]})}function f(r,t,i){return`${r} ${t} ${i}`.trim().toLowerCase()}function gt({open:r,onOpenChange:t,snapshot:i,selectedUserIds:n,createActions:c}){var O;const u=be(),{t:e}=Ue(),h=p.useRef([]),[N,W]=p.useState(""),[B,P]=p.useState(0),[L,D]=p.useState([]),j=p.useDeferredValue(N),y=A(j),b=p.useMemo(()=>J.filter(a=>L.includes(a.id)),[L]);p.useEffect(()=>{r||(W(""),P(0),D([]))},[r]);const ce=p.useMemo(()=>J.map(a=>({value:a.id,label:a.label,description:a.id==="wiki_page"?"Search only KarpaWiki pages.":a.id==="note"?"Search notes and evidence that are not wiki pages.":`Search ${a.label.toLowerCase()} records.`,searchText:a.searchText,kind:a.kind})),[]),le=p.useMemo(()=>({routes:e("common.actionBar.sections.routes"),recent:e("common.actionBar.sections.recent"),"quick-actions":e("common.actionBar.sections.quickActions"),results:e("common.actionBar.sections.results")}),[e]),I=p.useMemo(()=>[{id:"route-overview",title:e("common.routeLabels.overview"),detail:e("common.commandPalette.routeOverview"),href:"/overview",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.overview"),e("common.commandPalette.routeOverview"),e("common.commandPalette.categoryRoute")),score:0,...l("route",ke)},{id:"route-today",title:e("common.routeLabels.today"),detail:e("common.commandPalette.routeToday"),href:"/today",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.today"),e("common.commandPalette.routeToday"),e("common.commandPalette.categoryRoute")),score:0,...l("route",we)},{id:"route-kanban",title:e("common.routeLabels.kanban"),detail:e("common.commandPalette.routeKanban"),href:"/kanban",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.kanban"),e("common.commandPalette.routeKanban"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Te)},{id:"route-psyche",title:e("common.routeLabels.psyche"),detail:e("common.commandPalette.routePsyche"),href:"/psyche",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.psyche"),e("common.commandPalette.routePsyche"),e("common.commandPalette.categoryRoute")),score:0,...l("route",je)},{id:"route-notes",title:e("common.routeLabels.notes"),detail:e("common.commandPalette.routeNotes"),href:"/notes",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.notes"),e("common.commandPalette.routeNotes"),e("common.commandPalette.categoryRoute")),score:0,...l("route",re)},{id:"route-wiki",title:e("common.routeLabels.wiki"),detail:e("common.commandPalette.routeWiki"),href:"/wiki",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.wiki"),e("common.commandPalette.routeWiki"),e("common.commandPalette.categoryRoute")),score:0,...l("route",ae)},{id:"route-goals",title:e("common.routeLabels.goals"),detail:e("common.commandPalette.routeGoals"),href:"/goals",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.goals"),e("common.commandPalette.routeGoals"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Ne)},{id:"route-habits",title:e("common.routeLabels.habits"),detail:e("common.commandPalette.routeHabits"),href:"/habits",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.habits"),e("common.commandPalette.routeHabits"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Pe)},{id:"route-projects",title:e("common.routeLabels.projects"),detail:e("common.commandPalette.routeProjects"),href:"/projects",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.projects"),e("common.commandPalette.routeProjects"),e("common.commandPalette.categoryRoute")),score:0,...l("route",_e)},{id:"route-strategies",title:e("common.routeLabels.strategies"),detail:e("common.commandPalette.routeStrategies"),href:"/strategies",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.strategies"),e("common.commandPalette.routeStrategies"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Ce)},{id:"route-preferences",title:e("common.routeLabels.preferences"),detail:e("common.commandPalette.routePreferences"),href:"/preferences",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.preferences"),e("common.commandPalette.routePreferences"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Re)},{id:"route-calendar",title:e("common.routeLabels.calendar"),detail:e("common.commandPalette.routeCalendar"),href:"/calendar",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.calendar"),e("common.commandPalette.routeCalendar"),e("common.commandPalette.categoryRoute")),score:0,...l("route",te)},{id:"route-knowledge-graph",title:"Knowledge Graph",detail:"Open the world model and graph views for Forge.",href:"/knowledge-graph",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f("Knowledge Graph","Open the world model and graph views for Forge.",e("common.commandPalette.categoryRoute")),score:0,...l("route",Be)},{id:"route-settings",title:e("common.routeLabels.settings"),detail:e("common.commandPalette.routeSettings"),href:"/settings",category:e("common.commandPalette.categoryRoute"),section:"routes",searchText:f(e("common.routeLabels.settings"),e("common.commandPalette.routeSettings"),e("common.commandPalette.categoryRoute")),score:0,...l("route",Le)}],[e]),K=p.useMemo(()=>{const a=[...i.overview.topTasks.slice(0,4).map(s=>({id:`task-${s.id}`,title:s.title,detail:k(s.user)||e("common.commandPalette.openFocusTask"),href:`/tasks/${s.id}`,category:e("common.commandPalette.categoryTask"),section:"recent",searchText:`${s.title} ${k(s.user)}`.toLowerCase(),score:0,kind:"task"})),...i.dashboard.projects.slice(0,3).map(s=>({id:`project-${s.id}`,title:s.title,detail:[s.goalTitle,k(s.user)].filter(Boolean).join(" · "),href:`/projects/${s.id}`,category:e("common.commandPalette.categoryProject"),section:"recent",searchText:`${s.title} ${s.goalTitle??""} ${k(s.user)}`.toLowerCase(),score:0,kind:"project"})),...i.overview.activeGoals.slice(0,2).map(s=>({id:`goal-${s.id}`,title:s.title,detail:k(s.user)||e("common.commandPalette.openLifeGoal"),href:`/goals/${s.id}`,category:e("common.commandPalette.categoryGoal"),section:"recent",searchText:`${s.title} ${k(s.user)}`.toLowerCase(),score:0,kind:"goal"})),...i.dashboard.habits.slice(0,2).map(s=>({id:`habit-${s.id}`,title:s.title,detail:[s.frequency==="daily"?"Daily habit":"Weekly habit",k(s.user)].filter(Boolean).join(" · "),href:`/habits?focus=${s.id}`,category:e("common.routeLabels.habits"),section:"recent",searchText:`${s.title} ${s.frequency} ${k(s.user)}`.toLowerCase(),score:0,kind:"habit"}))].slice(0,8);return[...I.slice(0,6),...a]},[I,i,e]),$=Fe({queryKey:["forge-action-bar-search",y,[...L].sort().join("|"),[...n].sort().join("|")],enabled:r&&(y.length>0||b.length>0),queryFn:async()=>{const a=ie(b),s=await He({searches:a.map(g=>({entityTypes:[g],query:j.trim()||void 0,userIds:n.length>0?n:void 0,limit:g==="note"?6:4,clientRef:g}))}),x=new Map;for(const g of s.results){const w=Array.isArray(g.matches)?g.matches??[]:[];for(const S of w){if(!S||typeof S!="object")continue;const m=S;if(!ot(m.entityType)||typeof m.id!="string"||!m.entity||typeof m.entity!="object")continue;const T=m.entity;if(!et(m.entityType,T,b))continue;const Y=Ze(m.entityType,m.id,T);if(!Y)continue;const Q=se(m.entityType,T),de=ne(m.entityType,T),pe=M(m.entityType,T),X=Xe(m.entityType,T),fe=Qe(m.entityType,T)??void 0,he=y.length>0?U(j,Q,X):0;let _=l("search");m.entityType==="note"?_=l(T.kind==="wiki"?"wiki":"note"):m.entityType==="insight"?_=l("insight"):(m.entityType==="calendar_event"||m.entityType==="task_timebox"||m.entityType==="work_block_template")&&(_=l("calendar"));const C={id:`${m.entityType}-${m.id}`,title:Q,detail:de,href:Y,category:pe,section:"results",searchText:X,score:he,kind:fe,icon:_.icon,tileClassName:_.tileClassName,badgeClassName:_.badgeClassName},E=x.get(C.id);(!E||C.score>E.score||C.score===E.score&&C.title<E.title)&&x.set(C.id,C)}}return Array.from(x.values()).sort((g,w)=>w.score!==g.score?w.score-g.score:g.title.localeCompare(w.title)).slice(0,12)}}),z=p.useMemo(()=>y?I.map(a=>({...a,score:U(j,a.title,a.searchText)})).filter(a=>a.score>0).sort((a,s)=>s.score-a.score||a.title.localeCompare(s.title)).slice(0,4):[],[j,y,I]),H=p.useMemo(()=>rt(j,c).filter(a=>tt(a,b)).slice(0,6).map(a=>({id:`quick-${a.id}`,title:a.quickActionTitle,detail:a.description,category:"Quick action",section:"quick-actions",searchText:`${a.quickActionTitle} ${a.description} ${a.aliases.join(" ")}`.toLowerCase(),score:a.score,onSelect:a.onSelect,...l("action",oe)})),[c,j,b]),v=p.useMemo(()=>{if(!y&&b.length===0)return K;const a=[...H,...z],s=new Set(a.map(x=>x.id));for(const x of $.data??[])s.has(x.id)||(s.add(x.id),a.push(x));return a.slice(0,16)},[K,$.data,y,H,z,b.length]);p.useEffect(()=>{P(0)},[y,r,L.join("|")]),p.useEffect(()=>{v.length!==0&&P(a=>Math.min(Math.max(a,0),v.length-1))},[v]),p.useEffect(()=>{const a=h.current[B];a==null||a.scrollIntoView({block:"nearest"})},[B]);const G=v[B]??null,F=i.users.filter(a=>n.includes(a.id)),me=n.length===0?"All humans and bots":F.length===1?((O=F[0])==null?void 0:O.displayName)??"1 selected owner":`${F.length||n.length} selected owners`,ue=(y.length>0||b.length>0)&&$.isFetching,V=a=>{if(t(!1),a.onSelect){a.onSelect();return}a.href&&u(a.href)};return o.jsx(Se,{open:r,onOpenChange:t,children:o.jsxs(Ae,{children:[o.jsx(Ie,{className:"surface-overlay fixed inset-0 z-40 backdrop-blur-xl"}),o.jsxs($e,{className:"surface-modal-panel fixed inset-x-3 bottom-3 top-3 z-50 flex flex-col overflow-hidden rounded-[30px] border sm:inset-x-6 sm:bottom-6 sm:top-6 md:left-1/2 md:right-auto md:top-[9vh] md:h-[min(82vh,48rem)] md:w-[min(64rem,calc(100vw-2rem))] md:-translate-x-1/2 md:bottom-auto",children:[o.jsx(Ee,{className:"sr-only",children:e("common.actionBar.title")}),o.jsx(Me,{className:"sr-only",children:e("common.actionBar.description")}),o.jsxs("div",{className:"border-b border-[var(--ui-border-subtle)] px-4 py-4 sm:px-5",children:[o.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-1.5 text-[12px] text-[var(--ui-ink-medium)]",children:[o.jsx("span",{className:"rounded-full bg-[var(--ui-surface-2)] px-2 py-0.5 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Scope"}),o.jsx("span",{children:me})]}),b.length>0?o.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-1.5 text-[12px] text-[var(--ui-ink-medium)]",children:[o.jsx(ge,{className:"size-3.5 text-[var(--ui-ink-faint)]"}),o.jsxs("span",{children:[b.length," filter",b.length===1?"":"s"]})]}):null]}),o.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:[o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Shift Shift"}),o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Cmd/Ctrl K"})]})]}),o.jsxs("div",{className:"mt-4 rounded-[24px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-2)] px-4 py-4 shadow-[inset_0_1px_0_var(--ui-border-subtle)]",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(ee,{className:"size-5 text-[var(--ui-ink-faint)]"}),o.jsx(We,{autoFocus:!0,value:N,onChange:a=>W(a.target.value),onKeyDown:a=>{if(a.key==="ArrowDown"){a.preventDefault(),P(s=>v.length===0?0:Math.min(s+1,v.length-1));return}if(a.key==="ArrowUp"){a.preventDefault(),P(s=>Math.max(s-1,0));return}if(a.key==="Enter"&&G){a.preventDefault(),V(G);return}a.key==="Escape"&&(a.preventDefault(),t(!1))},placeholder:e("common.actionBar.searchPlaceholder"),className:"border-0 bg-transparent px-0 py-0 text-[1rem] focus:border-0"}),ue?o.jsx(ye,{className:"size-4 shrink-0 animate-spin text-[var(--ui-ink-faint)]"}):null]}),o.jsx("div",{className:"mt-2 pl-8 text-[13px] leading-6 text-[var(--ui-ink-soft)]",children:e(y?"common.actionBar.activeHint":"common.actionBar.idleHint")}),o.jsxs("div",{className:"mt-4 border-t border-[var(--ui-border-subtle)] pt-4",children:[o.jsx("div",{className:"mb-2 pl-1 text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:e("common.actionBar.filtersLabel")}),o.jsx(qe,{options:ce,selectedValues:L,onChange:D,placeholder:e("common.actionBar.filtersPlaceholder"),emptyMessage:e("common.actionBar.filtersEmpty"),variant:"action-bar"})]})]})]}),o.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3 sm:px-4",children:v.length===0?o.jsx("div",{className:"rounded-[24px] border border-dashed border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-4 py-8 text-center text-sm text-[var(--ui-ink-soft)]",children:$.isFetching?e("common.actionBar.searching"):b.length>0?e("common.actionBar.noResultsWithFilters"):e("common.actionBar.noResults")}):o.jsx("div",{className:"grid gap-2",children:v.map((a,s)=>{var w;const g=(((w=v[s-1])==null?void 0:w.section)??null)!==a.section;return o.jsxs("div",{children:[g?o.jsx("div",{className:"px-2 pb-1 pt-2 text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)] first:pt-0",children:le[a.section]}):null,o.jsxs("button",{ref:S=>{h.current[s]=S},type:"button",className:R("group flex w-full items-start gap-3 rounded-[24px] border px-4 py-3.5 text-left transition",s===B?"border-[var(--ui-border-strong)] bg-[var(--ui-surface-3)] shadow-[var(--ui-shadow-soft)]":"border-transparent bg-[var(--ui-surface-1)] hover:border-[var(--ui-border-subtle)] hover:bg-[var(--ui-surface-hover)]"),onMouseEnter:()=>P(s),onClick:()=>V(a),children:[o.jsx(st,{item:a}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx("div",{className:"flex flex-wrap items-center gap-2",children:o.jsx(nt,{item:a})}),o.jsx("div",{className:"mt-2 text-[15px] font-medium text-[var(--ui-ink-strong)]",children:a.kind&&a.section==="results"?o.jsx(De,{kind:a.kind,label:a.title,showIcon:!1,labelClassName:"text-[var(--ui-ink-strong)]"}):a.title}),o.jsx("div",{className:"mt-1 text-sm leading-6 text-[var(--ui-ink-soft)]",children:a.detail})]}),o.jsx(xe,{className:R("mt-1 size-4 shrink-0 transition",s===B?"text-[var(--ui-ink-medium)]":"text-[var(--ui-ink-faint)] group-hover:text-[var(--ui-ink-soft)]")})]})]},a.id)})})}),o.jsx("div",{className:"border-t border-[var(--ui-border-subtle)] px-4 py-3 sm:px-5",children:o.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[12px] text-[var(--ui-ink-faint)]",children:[o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Up/Down navigate"}),o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Enter open"}),o.jsx("span",{className:"rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-2.5 py-1",children:"Esc close"})]})})]})]})})}export{gt as ActionBar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,aC as p,bY as C}from"./vendor-
|
|
1
|
+
import{j as e,aC as p,bY as C}from"./vendor-BwL6m4SE.js";import{j as E,i as _,k as I}from"./state-Bpe5dF3T.js";import{C as b,f as v,B as g,d as P,L as S,e as L,h as R,i as T,r as U,l as q}from"./index-CQ5r7ZUz.js";import{P as Q}from"./page-hero-8bITsx_x.js";import{u as F,f as y,g as H,c as M}from"./table-U7otr5go.js";import{U as k}from"./user-badge-CZWtYeMw.js";import{g as m,a as f}from"./entity-links-DwpxhW2H.js";import"./motion-DcgUnXhY.js";import"./ui-B9TWEtCx.js";import"./board-CuxQRKPJ.js";import"./forms-D1qJ3oOP.js";const o=M(),j=[o.accessor("title",{header:"Event",cell:r=>{const a=m(r.row.original);return a?e.jsx(p,{to:a,className:"font-medium text-[var(--ui-ink-strong)] transition hover:text-[var(--primary)]",children:r.getValue()}):e.jsx("div",{className:"font-medium text-[var(--ui-ink-strong)]",children:r.getValue()})}}),o.accessor("source",{header:"Source",cell:r=>e.jsx("div",{className:"font-label text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:r.getValue()})}),o.display({id:"owner",header:"Owner",cell:r=>r.row.original.user?e.jsx(k,{user:r.row.original.user,compact:!0}):e.jsx("div",{className:"text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Unowned"})}),o.accessor("createdAt",{header:"When",cell:r=>e.jsx("div",{className:"text-sm text-[var(--ui-ink-soft)]",children:v(r.getValue())})}),o.display({id:"actions",header:"Open",cell:r=>{const a=m(r.row.original);return a?e.jsx(p,{to:a,className:"inline-flex text-[11px] uppercase tracking-[0.16em] text-[var(--primary)] transition hover:text-[var(--ui-ink-strong)]",children:"Open"}):e.jsx("div",{className:"text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Archive only"})}})];function O({rows:r,onRemove:a}){const l=a?[...j,o.display({id:"remove",header:"Correct",cell:t=>e.jsx(g,{variant:"ghost",className:"h-auto px-0 py-0 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-soft)]",onClick:()=>{a(t.row.original.id)},children:"Remove log"})})]:j,c=F({columns:l,data:r,getCoreRowModel:H()});return e.jsxs(b,{className:"min-w-0 overflow-hidden p-0",children:[e.jsxs("table",{className:"hidden w-full border-collapse md:table",children:[e.jsx("thead",{children:c.getHeaderGroups().map(t=>e.jsx("tr",{className:"bg-[var(--ui-surface-2)]",children:t.headers.map(i=>e.jsx("th",{className:"px-5 py-4 text-left font-label text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:i.isPlaceholder?null:y(i.column.columnDef.header,i.getContext())},i.id))},t.id))}),e.jsx("tbody",{children:c.getRowModel().rows.map(t=>e.jsx("tr",{className:"border-t border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] transition hover:bg-[var(--ui-surface-hover)]",children:t.getVisibleCells().map(i=>e.jsx("td",{className:"px-5 py-4 align-top",children:y(i.column.columnDef.cell,i.getContext())},i.id))},t.id))})]}),e.jsx("div",{className:"grid gap-3 p-3 md:hidden",children:r.map(t=>{const i=m(t);return e.jsxs("article",{className:"min-w-0 rounded-[22px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] p-4",children:[e.jsxs("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:t.source}),e.jsx("div",{className:"mt-2 break-words text-sm font-semibold text-[var(--ui-ink-strong)]",children:t.title})]}),t.user?e.jsx(k,{user:t.user,compact:!0}):null]}),e.jsx("div",{className:"mt-2 text-sm leading-6 text-[var(--ui-ink-soft)]",children:t.description}),e.jsx("div",{className:"mt-3 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:v(t.createdAt)}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-3",children:[i?e.jsx(p,{to:i,className:"inline-flex text-[11px] uppercase tracking-[0.16em] text-[var(--primary)] transition hover:text-[var(--ui-ink-strong)]",children:"Open"}):null,a?e.jsx(g,{variant:"ghost",className:"h-auto px-0 py-0 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-soft)]",onClick:()=>{a(t.id)},children:"Remove log"}):null]})]},t.id)})})]})}function Z(){var h;const r=P(),a=Array.isArray(r.selectedUserIds)?r.selectedUserIds:[],[l]=C(),c=E(),t=l.get("entityId")??void 0,i=l.get("entityType")??void 0,N=l.get("eventId"),d=_({queryKey:["activity-archive",i,t,...a],queryFn:()=>q({limit:100,entityType:i,entityId:t,userIds:a})}),w=I({mutationFn:n=>U(n),onSuccess:async()=>{await Promise.all([c.invalidateQueries({queryKey:["activity-archive"]}),T(c),c.invalidateQueries({queryKey:["task-context"]}),c.invalidateQueries({queryKey:["project-board"]})])}}),u=((h=d.data)==null?void 0:h.activity)??[];if(d.isLoading)return e.jsx(S,{eyebrow:"Evidence archive",title:"Loading activity",description:"Pulling the visible audit trail, grouped evidence, and correction history."});if(d.isError)return e.jsx(L,{eyebrow:"Evidence archive",error:d.error,onRetry:()=>void d.refetch()});if(u.length===0)return e.jsx(R,{eyebrow:"Evidence archive",title:t?"No evidence matched this filter":"No activity recorded yet",description:t?"Forge could not find visible events for this specific entity yet. Try a broader archive view or create some work first.":"As you complete work, log runs, or make corrections, the audit trail will appear here."});const A=u.reduce((n,x)=>{const s=x.createdAt.slice(0,10);return n[s]=[...n[s]??[],x],n},{});return e.jsxs("div",{className:"grid gap-5",children:[e.jsx(Q,{title:"Activity",description:t?"This filtered archive shows the evidence connected to the item you opened, so you can confirm what changed and when.":"Activity is your visible audit trail. Use it to inspect progress, confirm corrections, and trace work back to the goal, project, or task it came from.",badge:`${u.length} recent events`}),e.jsxs("section",{className:"grid gap-5 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[e.jsx(O,{rows:u,onRemove:async n=>{await w.mutateAsync(n)}}),e.jsx("div",{className:"grid gap-4",children:Object.entries(A).slice(0,6).map(([n,x])=>e.jsxs(b,{className:"min-w-0",children:[e.jsx("div",{className:"font-label text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:n}),e.jsx("div",{className:"mt-4 grid gap-3",children:x.slice(0,3).map(s=>e.jsxs("div",{className:`min-w-0 rounded-[18px] border p-4 ${N===s.id?"border-[color-mix(in_srgb,var(--primary)_30%,transparent)] bg-[var(--ui-accent-soft)] shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--primary)_16%,transparent)]":"border-[var(--ui-border-subtle)] bg-[var(--ui-surface-2)]"}`,children:[e.jsx("div",{className:"break-words font-medium text-[var(--ui-ink-strong)]",children:s.title}),e.jsx("div",{className:"mt-2 text-sm text-[var(--ui-ink-soft)]",children:s.description}),e.jsx("div",{className:"mt-3 text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:v(s.createdAt)}),m(s)&&f(s)?e.jsx(p,{to:m(s),className:"mt-3 inline-flex text-[11px] uppercase tracking-[0.16em] text-[var(--primary)] transition hover:text-[var(--ui-ink-strong)]",children:f(s)}):null]},s.id))})]},n))})]})]})}export{Z as ActivityPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as r,r as x,cF as Z,cQ as ee,by as te,cR as re,cS as ie,cT as ne,cU as se,cV as ae,aC as le,b1 as oe}from"./vendor-Cpmju3nw.js";import{u as ue,a as ce,P as de,D as fe,c as me,S as xe,v as he,d as ve,b as be,C as pe}from"./board-CLOHbg6t.js";import{i as ge,k as U}from"./state-BtwEvpO6.js";import{ci as je,cj as Ne,B as H,c as W,C as ye,ck as Se}from"./index-BaiwtAgo.js";function ke({children:e}){return r.jsx(r.Fragment,{children:e})}const k={lg:1280,md:996,sm:768,xs:480},A={lg:12,md:10,sm:6,xs:4,xxs:2},We="forge.surface-layout.v3";function I(e){return`${We}.${e}`}function F(e,i,n){return Math.min(Math.max(e,i),n)}function Ce(e){return e>=k.lg?"lg":e>=k.md?"md":e>=k.sm?"sm":e>=k.xs?"xs":"xxs"}function Ee(e,i){const n=A[i];if(i==="lg")return F(e.defaultWidth,e.minWidth??1,Math.min(e.maxWidth??n,n));const s=Math.round(e.defaultWidth/A.lg*n);return F(Math.max(e.minWidth??1,s||(e.minWidth??1)),e.minWidth??1,Math.min(e.maxWidth??n,n))}function Me(e){return{hidden:e.defaultHidden??!1,fullWidth:e.defaultFullWidth??!1,titleVisible:e.defaultTitleVisible??!0,descriptionVisible:e.defaultDescriptionVisible??!0}}function P(e,i){const n=[...i.filter(s=>s.defaultPlacement==="top"),...i.filter(s=>s.defaultPlacement!=="top")];return{surfaceId:e,order:n.map(s=>s.id),widgets:Object.fromEntries(i.map(s=>[s.id,Me(s)])),updatedAt:new Date(0).toISOString()}}function V(e,i,n){const s=P(e,i),l=new Set(i.map(o=>o.id)),c=((n==null?void 0:n.order)??[]).filter(o=>l.has(o)),h=s.order.filter(o=>!c.includes(o)),d=Object.fromEntries(i.map(o=>{var N,g,m,b,p;const f=(N=n==null?void 0:n.widgets)==null?void 0:N[o.id];return[o.id,{...s.widgets[o.id],hidden:(f==null?void 0:f.hidden)??((g=s.widgets[o.id])==null?void 0:g.hidden)??!1,fullWidth:(f==null?void 0:f.fullWidth)??((m=s.widgets[o.id])==null?void 0:m.fullWidth)??!1,titleVisible:(f==null?void 0:f.titleVisible)??((b=s.widgets[o.id])==null?void 0:b.titleVisible)??!0,descriptionVisible:(f==null?void 0:f.descriptionVisible)??((p=s.widgets[o.id])==null?void 0:p.descriptionVisible)??!0}]}));return{surfaceId:e,order:[...c,...h],widgets:d,updatedAt:typeof(n==null?void 0:n.updatedAt)=="string"?n.updatedAt:s.updatedAt}}function Ve(e,i){const n=new Map(i.order.map((s,l)=>[s,l]));return[...e].sort((s,l)=>{const c=n.get(s.id)??Number.MAX_SAFE_INTEGER,h=n.get(l.id)??Number.MAX_SAFE_INTEGER;return c!==h?c-h:s.id.localeCompare(l.id)})}function Re(e,i,n){const s=e.indexOf(i);if(s===-1)return e;const l=F(n,0,e.length-1);if(s===l)return e;const c=[...e];return c.splice(s,1),c.splice(l,0,i),c}function R(e){if(typeof window>"u")return null;try{const i=window.localStorage.getItem(I(e));return i?JSON.parse(i):null}catch{return null}}function O(e){if(!(typeof window>"u"))try{window.localStorage.setItem(I(e.surfaceId),JSON.stringify(e))}catch{}}const Oe=500;function G(e,i){return e.surfaceId===i.surfaceId&&JSON.stringify(e.order)===JSON.stringify(i.order)&&JSON.stringify(e.widgets)===JSON.stringify(i.widgets)}function Ae({definition:e,preferences:i,editing:n,width:s,children:l}){const c=s<=4;return e.surfaceChrome==="none"?r.jsx("div",{"data-surface-card":"true",className:W("min-w-0",n&&"rounded-[28px] ring-1 ring-[var(--ui-border-subtle)] ring-inset"),children:l}):r.jsxs(ye,{"data-surface-card":"true",className:W("surface-grid-card flex min-w-0 flex-col gap-3 overflow-visible p-4 md:p-5",n&&"ring-1 ring-[var(--ui-border-subtle)]"),children:[i.titleVisible||i.descriptionVisible&&e.description?r.jsxs("div",{className:"min-w-0",children:[i.titleVisible?r.jsx("div",{className:"truncate text-[0.72rem] font-semibold uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:e.title}):null,i.descriptionVisible&&e.description&&!c?r.jsx("div",{className:"mt-1 text-[12px] leading-5 text-[var(--ui-ink-soft)]",children:e.description}):null]}):null,r.jsx("div",{className:"min-h-0 flex-1",children:l})]})}function Fe({widget:e,preferences:i,index:n,total:s,onMove:l,onToggleHidden:c,onToggleFullWidth:h}){const d=be({id:e.id});return r.jsxs("div",{ref:d.setNodeRef,style:{transform:pe.Transform.toString(d.transform),transition:d.transition},className:"flex min-w-0 items-center gap-2 rounded-[18px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-2.5",children:[r.jsx("button",{type:"button",className:"inline-flex size-8 shrink-0 items-center justify-center rounded-full bg-[var(--ui-surface-2)] text-[var(--ui-ink-soft)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]","aria-label":`Drag ${e.title}`,...d.attributes,...d.listeners,children:r.jsx(te,{className:"size-4"})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"truncate text-sm font-medium text-[var(--ui-ink-strong)]",children:e.title}),e.description?r.jsx("div",{className:"truncate text-[12px] text-[var(--ui-ink-faint)]",children:e.description}):null]}),r.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[r.jsx("button",{type:"button",className:"inline-flex size-8 items-center justify-center rounded-full bg-[var(--ui-surface-2)] text-[var(--ui-ink-soft)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)] disabled:opacity-40",onClick:()=>l(n-1),disabled:n===0,"aria-label":`Move ${e.title} up`,children:r.jsx(re,{className:"size-3.5"})}),r.jsx("button",{type:"button",className:"inline-flex size-8 items-center justify-center rounded-full bg-[var(--ui-surface-2)] text-[var(--ui-ink-soft)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)] disabled:opacity-40",onClick:()=>l(n+1),disabled:n===s-1,"aria-label":`Move ${e.title} down`,children:r.jsx(ie,{className:"size-3.5"})}),r.jsxs("button",{type:"button",className:W("inline-flex h-8 items-center gap-2 rounded-full px-3 text-[12px] transition",i.fullWidth?"bg-[var(--primary)] text-[var(--ui-ink-on-accent)]":"bg-[var(--ui-surface-2)] text-[var(--ui-ink-medium)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]"),onClick:h,children:[i.fullWidth?r.jsx(ne,{className:"size-3.5"}):r.jsx(se,{className:"size-3.5"}),i.fullWidth?"Normal width":"Full width"]}),e.removable!==!1?r.jsxs("button",{type:"button",className:"inline-flex h-8 items-center gap-2 rounded-full bg-[var(--ui-surface-2)] px-3 text-[12px] text-[var(--ui-ink-medium)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",onClick:c,children:[r.jsx(ae,{className:"size-3.5"}),"Hide"]}):null]})]})}function Pe({surfaceId:e,widgets:i,defaultEditing:n=!1,actions:s,normalizeLayout:l}){var B;const c=x.useMemo(()=>JSON.stringify(i.map(t=>({id:t.id,defaultWidth:t.defaultWidth,defaultHidden:t.defaultHidden,defaultPlacement:t.defaultPlacement,defaultFullWidth:t.defaultFullWidth,defaultTitleVisible:t.defaultTitleVisible,defaultDescriptionVisible:t.defaultDescriptionVisible}))),[i]),h=x.useMemo(()=>{const t=P(e,i);return l?l(t):t},[l,e,c]),d=t=>l?l(t):t,[o,f]=x.useState(n),[N,g]=x.useState(1280),[m,b]=x.useState(()=>d(V(e,i,R(e)??h))),p=x.useRef(null),T=x.useRef(!1),y=x.useRef(d(V(e,i,R(e)??h))),z=x.useRef(null),q=ue(ce(de,{activationConstraint:{distance:6}})),C=ge({queryKey:["forge-surface-layout",e],queryFn:()=>Se(e)}),D=(B=C==null?void 0:C.data)==null?void 0:B.layout,L=U({mutationFn:t=>je(e,{order:t.order,widgets:t.widgets})}),K=U({mutationFn:()=>Ne(e)});x.useEffect(()=>{const t=d(V(e,i,D??R(e)??h));b(a=>G(a,t)?a:t),O(t),y.current=t,T.current=!0},[h,D,l,e,c,i]),x.useEffect(()=>{const t=z.current;if(!t||typeof ResizeObserver>"u")return;const a=new ResizeObserver(u=>{var j;const v=((j=u[0])==null?void 0:j.contentRect.width)??t.clientWidth;g(Math.max(320,Math.round(v)))});return a.observe(t),g(Math.max(320,Math.round(t.clientWidth||1280))),()=>a.disconnect()},[]),x.useEffect(()=>{if(T.current&&!G(m,y.current))return O(m),p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{const t=m;L.mutateAsync(t).then(()=>{y.current=t})},Oe),()=>{p.current!==null&&window.clearTimeout(p.current)}},[m,L,e]);const $=Ce(N),E=A[$],_=x.useMemo(()=>Ve(i,m),[m,i]),S=_.filter(t=>{var a;return!((a=m.widgets[t.id])!=null&&a.hidden)}),w=_.filter(t=>{var a;return(a=m.widgets[t.id])==null?void 0:a.hidden});function M(t,a){b(u=>d({...u,widgets:{...u.widgets,[t]:{...u.widgets[t],...a}}}))}function X(t,a){b(u=>d({...u,order:Re(u.order,t,a)}))}function Q(t){const{active:a,over:u}=t;!u||a.id===u.id||b(v=>{const j=v.order.indexOf(String(a.id)),J=v.order.indexOf(String(u.id));return j===-1||J===-1?v:d({...v,order:ve(v.order,j,J)})})}function Y(){const t=d(P(e,i));b(t),O(t),y.current=t,K.mutateAsync()}return r.jsxs("div",{className:"grid gap-4",children:[o?r.jsx(fe,{sensors:q,collisionDetection:me,onDragEnd:Q,children:r.jsxs("div",{className:"grid gap-3 rounded-[24px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] p-4",children:[r.jsx("div",{className:"text-[12px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Visible boxes"}),r.jsx(xe,{items:S.map(t=>t.id),strategy:he,children:r.jsx("div",{className:"grid gap-2",children:S.map((t,a)=>{const u=m.widgets[t.id]??{hidden:!1,fullWidth:!1,titleVisible:!0,descriptionVisible:!0};return r.jsx(Fe,{widget:t,preferences:u,index:a,total:S.length,onMove:v=>X(t.id,v),onToggleHidden:()=>M(t.id,{hidden:!0}),onToggleFullWidth:()=>M(t.id,{fullWidth:!u.fullWidth})},t.id)})})}),w.length>0?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pt-2 text-[12px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Hidden boxes"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:w.map(t=>r.jsx("button",{type:"button",className:"rounded-full bg-[var(--ui-surface-2)] px-3 py-2 text-sm text-[var(--ui-ink-medium)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",onClick:()=>M(t.id,{hidden:!1}),children:t.title},t.id))})]}):null]})}):null,r.jsxs("div",{ref:z,className:"relative",children:[r.jsx("div",{className:"pointer-events-none absolute top-3 right-3 z-20 flex max-w-[calc(100%-1.5rem)] flex-wrap items-center justify-end gap-1.5",children:r.jsxs("div",{className:"pointer-events-auto flex flex-wrap items-center justify-end gap-1.5",children:[s,o?r.jsxs(H,{type:"button",size:"sm",variant:"secondary",className:"h-8 rounded-full border-[var(--ui-border-subtle)] bg-[var(--surface-glass)] px-2.5 text-[12px] text-[var(--ui-ink-medium)] backdrop-blur-xl hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",onClick:Y,children:[r.jsx(Z,{className:"size-3.5"}),r.jsx("span",{className:"hidden sm:inline",children:"Reset"})]}):null,r.jsxs(H,{type:"button",size:"sm",variant:o?"primary":"secondary",className:W("h-8 rounded-full px-2 text-[12px] backdrop-blur-xl [&>span]:gap-1.5",o?"bg-[var(--primary)] text-[var(--ui-ink-on-accent)] hover:opacity-95":"border-[var(--ui-border-subtle)] bg-[var(--surface-glass)] text-[var(--ui-ink-medium)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]"),onClick:()=>f(t=>!t),children:[r.jsx(ee,{className:"size-3.5"}),r.jsx("span",{className:"hidden xl:inline",children:o?"Done":"Layout"})]})]})}),r.jsx("div",{className:"surface-flow-grid",style:{display:"grid",gap:"16px",gridTemplateColumns:`repeat(${E}, minmax(0, 1fr))`,alignItems:"start"},children:S.map(t=>{const a=m.widgets[t.id]??{hidden:!1,fullWidth:!1,titleVisible:!0,descriptionVisible:!0},u=a.fullWidth?E:Math.min(Ee(t,$),E);return r.jsx("div",{style:{gridColumn:`span ${u} / span ${u}`},children:r.jsx(Ae,{definition:t,preferences:a,editing:o,width:u,children:r.jsx(ke,{boxId:t.workbenchBoxId??`surface:${e}:${t.id}`,surfaceId:e,children:t.render({compact:u<=4,width:u,editing:o,preferences:a})})})},t.id)})})]})]})}function $e({surfaceId:e,baseWidgets:i,actions:n,normalizeLayout:s}){return r.jsx(Pe,{surfaceId:e,widgets:i,normalizeLayout:s,actions:r.jsxs(r.Fragment,{children:[n,r.jsxs(le,{to:`/workbench?surface=${encodeURIComponent(e)}`,className:"inline-flex h-8 items-center gap-1.5 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--surface-glass)] px-2.5 text-[12px] font-medium text-[var(--ui-ink-medium)] backdrop-blur-xl transition hover:border-[var(--ui-border-strong)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",children:[r.jsx(oe,{className:"size-3.5"}),r.jsx("span",{className:"hidden sm:inline",children:"Workbench"})]})]})})}export{$e as A};
|
|
1
|
+
import{j as r,r as x,cF as Z,cQ as ee,by as te,cR as re,cS as ie,cT as ne,cU as se,cV as ae,aC as le,b1 as oe}from"./vendor-BwL6m4SE.js";import{u as ue,a as ce,P as de,D as fe,c as me,S as xe,v as he,d as ve,b as be,C as pe}from"./board-CuxQRKPJ.js";import{i as ge,k as U}from"./state-Bpe5dF3T.js";import{ci as je,cj as Ne,B as H,c as W,C as ye,ck as Se}from"./index-CQ5r7ZUz.js";function ke({children:e}){return r.jsx(r.Fragment,{children:e})}const k={lg:1280,md:996,sm:768,xs:480},A={lg:12,md:10,sm:6,xs:4,xxs:2},We="forge.surface-layout.v3";function I(e){return`${We}.${e}`}function F(e,i,n){return Math.min(Math.max(e,i),n)}function Ce(e){return e>=k.lg?"lg":e>=k.md?"md":e>=k.sm?"sm":e>=k.xs?"xs":"xxs"}function Ee(e,i){const n=A[i];if(i==="lg")return F(e.defaultWidth,e.minWidth??1,Math.min(e.maxWidth??n,n));const s=Math.round(e.defaultWidth/A.lg*n);return F(Math.max(e.minWidth??1,s||(e.minWidth??1)),e.minWidth??1,Math.min(e.maxWidth??n,n))}function Me(e){return{hidden:e.defaultHidden??!1,fullWidth:e.defaultFullWidth??!1,titleVisible:e.defaultTitleVisible??!0,descriptionVisible:e.defaultDescriptionVisible??!0}}function P(e,i){const n=[...i.filter(s=>s.defaultPlacement==="top"),...i.filter(s=>s.defaultPlacement!=="top")];return{surfaceId:e,order:n.map(s=>s.id),widgets:Object.fromEntries(i.map(s=>[s.id,Me(s)])),updatedAt:new Date(0).toISOString()}}function V(e,i,n){const s=P(e,i),l=new Set(i.map(o=>o.id)),c=((n==null?void 0:n.order)??[]).filter(o=>l.has(o)),h=s.order.filter(o=>!c.includes(o)),d=Object.fromEntries(i.map(o=>{var N,g,m,b,p;const f=(N=n==null?void 0:n.widgets)==null?void 0:N[o.id];return[o.id,{...s.widgets[o.id],hidden:(f==null?void 0:f.hidden)??((g=s.widgets[o.id])==null?void 0:g.hidden)??!1,fullWidth:(f==null?void 0:f.fullWidth)??((m=s.widgets[o.id])==null?void 0:m.fullWidth)??!1,titleVisible:(f==null?void 0:f.titleVisible)??((b=s.widgets[o.id])==null?void 0:b.titleVisible)??!0,descriptionVisible:(f==null?void 0:f.descriptionVisible)??((p=s.widgets[o.id])==null?void 0:p.descriptionVisible)??!0}]}));return{surfaceId:e,order:[...c,...h],widgets:d,updatedAt:typeof(n==null?void 0:n.updatedAt)=="string"?n.updatedAt:s.updatedAt}}function Ve(e,i){const n=new Map(i.order.map((s,l)=>[s,l]));return[...e].sort((s,l)=>{const c=n.get(s.id)??Number.MAX_SAFE_INTEGER,h=n.get(l.id)??Number.MAX_SAFE_INTEGER;return c!==h?c-h:s.id.localeCompare(l.id)})}function Re(e,i,n){const s=e.indexOf(i);if(s===-1)return e;const l=F(n,0,e.length-1);if(s===l)return e;const c=[...e];return c.splice(s,1),c.splice(l,0,i),c}function R(e){if(typeof window>"u")return null;try{const i=window.localStorage.getItem(I(e));return i?JSON.parse(i):null}catch{return null}}function O(e){if(!(typeof window>"u"))try{window.localStorage.setItem(I(e.surfaceId),JSON.stringify(e))}catch{}}const Oe=500;function G(e,i){return e.surfaceId===i.surfaceId&&JSON.stringify(e.order)===JSON.stringify(i.order)&&JSON.stringify(e.widgets)===JSON.stringify(i.widgets)}function Ae({definition:e,preferences:i,editing:n,width:s,children:l}){const c=s<=4;return e.surfaceChrome==="none"?r.jsx("div",{"data-surface-card":"true",className:W("min-w-0",n&&"rounded-[28px] ring-1 ring-[var(--ui-border-subtle)] ring-inset"),children:l}):r.jsxs(ye,{"data-surface-card":"true",className:W("surface-grid-card flex min-w-0 flex-col gap-3 overflow-visible p-4 md:p-5",n&&"ring-1 ring-[var(--ui-border-subtle)]"),children:[i.titleVisible||i.descriptionVisible&&e.description?r.jsxs("div",{className:"min-w-0",children:[i.titleVisible?r.jsx("div",{className:"truncate text-[0.72rem] font-semibold uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:e.title}):null,i.descriptionVisible&&e.description&&!c?r.jsx("div",{className:"mt-1 text-[12px] leading-5 text-[var(--ui-ink-soft)]",children:e.description}):null]}):null,r.jsx("div",{className:"min-h-0 flex-1",children:l})]})}function Fe({widget:e,preferences:i,index:n,total:s,onMove:l,onToggleHidden:c,onToggleFullWidth:h}){const d=be({id:e.id});return r.jsxs("div",{ref:d.setNodeRef,style:{transform:pe.Transform.toString(d.transform),transition:d.transition},className:"flex min-w-0 items-center gap-2 rounded-[18px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-2.5",children:[r.jsx("button",{type:"button",className:"inline-flex size-8 shrink-0 items-center justify-center rounded-full bg-[var(--ui-surface-2)] text-[var(--ui-ink-soft)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]","aria-label":`Drag ${e.title}`,...d.attributes,...d.listeners,children:r.jsx(te,{className:"size-4"})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"truncate text-sm font-medium text-[var(--ui-ink-strong)]",children:e.title}),e.description?r.jsx("div",{className:"truncate text-[12px] text-[var(--ui-ink-faint)]",children:e.description}):null]}),r.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[r.jsx("button",{type:"button",className:"inline-flex size-8 items-center justify-center rounded-full bg-[var(--ui-surface-2)] text-[var(--ui-ink-soft)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)] disabled:opacity-40",onClick:()=>l(n-1),disabled:n===0,"aria-label":`Move ${e.title} up`,children:r.jsx(re,{className:"size-3.5"})}),r.jsx("button",{type:"button",className:"inline-flex size-8 items-center justify-center rounded-full bg-[var(--ui-surface-2)] text-[var(--ui-ink-soft)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)] disabled:opacity-40",onClick:()=>l(n+1),disabled:n===s-1,"aria-label":`Move ${e.title} down`,children:r.jsx(ie,{className:"size-3.5"})}),r.jsxs("button",{type:"button",className:W("inline-flex h-8 items-center gap-2 rounded-full px-3 text-[12px] transition",i.fullWidth?"bg-[var(--primary)] text-[var(--ui-ink-on-accent)]":"bg-[var(--ui-surface-2)] text-[var(--ui-ink-medium)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]"),onClick:h,children:[i.fullWidth?r.jsx(ne,{className:"size-3.5"}):r.jsx(se,{className:"size-3.5"}),i.fullWidth?"Normal width":"Full width"]}),e.removable!==!1?r.jsxs("button",{type:"button",className:"inline-flex h-8 items-center gap-2 rounded-full bg-[var(--ui-surface-2)] px-3 text-[12px] text-[var(--ui-ink-medium)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",onClick:c,children:[r.jsx(ae,{className:"size-3.5"}),"Hide"]}):null]})]})}function Pe({surfaceId:e,widgets:i,defaultEditing:n=!1,actions:s,normalizeLayout:l}){var B;const c=x.useMemo(()=>JSON.stringify(i.map(t=>({id:t.id,defaultWidth:t.defaultWidth,defaultHidden:t.defaultHidden,defaultPlacement:t.defaultPlacement,defaultFullWidth:t.defaultFullWidth,defaultTitleVisible:t.defaultTitleVisible,defaultDescriptionVisible:t.defaultDescriptionVisible}))),[i]),h=x.useMemo(()=>{const t=P(e,i);return l?l(t):t},[l,e,c]),d=t=>l?l(t):t,[o,f]=x.useState(n),[N,g]=x.useState(1280),[m,b]=x.useState(()=>d(V(e,i,R(e)??h))),p=x.useRef(null),T=x.useRef(!1),y=x.useRef(d(V(e,i,R(e)??h))),z=x.useRef(null),q=ue(ce(de,{activationConstraint:{distance:6}})),C=ge({queryKey:["forge-surface-layout",e],queryFn:()=>Se(e)}),D=(B=C==null?void 0:C.data)==null?void 0:B.layout,L=U({mutationFn:t=>je(e,{order:t.order,widgets:t.widgets})}),K=U({mutationFn:()=>Ne(e)});x.useEffect(()=>{const t=d(V(e,i,D??R(e)??h));b(a=>G(a,t)?a:t),O(t),y.current=t,T.current=!0},[h,D,l,e,c,i]),x.useEffect(()=>{const t=z.current;if(!t||typeof ResizeObserver>"u")return;const a=new ResizeObserver(u=>{var j;const v=((j=u[0])==null?void 0:j.contentRect.width)??t.clientWidth;g(Math.max(320,Math.round(v)))});return a.observe(t),g(Math.max(320,Math.round(t.clientWidth||1280))),()=>a.disconnect()},[]),x.useEffect(()=>{if(T.current&&!G(m,y.current))return O(m),p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{const t=m;L.mutateAsync(t).then(()=>{y.current=t})},Oe),()=>{p.current!==null&&window.clearTimeout(p.current)}},[m,L,e]);const $=Ce(N),E=A[$],_=x.useMemo(()=>Ve(i,m),[m,i]),S=_.filter(t=>{var a;return!((a=m.widgets[t.id])!=null&&a.hidden)}),w=_.filter(t=>{var a;return(a=m.widgets[t.id])==null?void 0:a.hidden});function M(t,a){b(u=>d({...u,widgets:{...u.widgets,[t]:{...u.widgets[t],...a}}}))}function X(t,a){b(u=>d({...u,order:Re(u.order,t,a)}))}function Q(t){const{active:a,over:u}=t;!u||a.id===u.id||b(v=>{const j=v.order.indexOf(String(a.id)),J=v.order.indexOf(String(u.id));return j===-1||J===-1?v:d({...v,order:ve(v.order,j,J)})})}function Y(){const t=d(P(e,i));b(t),O(t),y.current=t,K.mutateAsync()}return r.jsxs("div",{className:"grid gap-4",children:[o?r.jsx(fe,{sensors:q,collisionDetection:me,onDragEnd:Q,children:r.jsxs("div",{className:"grid gap-3 rounded-[24px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] p-4",children:[r.jsx("div",{className:"text-[12px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Visible boxes"}),r.jsx(xe,{items:S.map(t=>t.id),strategy:he,children:r.jsx("div",{className:"grid gap-2",children:S.map((t,a)=>{const u=m.widgets[t.id]??{hidden:!1,fullWidth:!1,titleVisible:!0,descriptionVisible:!0};return r.jsx(Fe,{widget:t,preferences:u,index:a,total:S.length,onMove:v=>X(t.id,v),onToggleHidden:()=>M(t.id,{hidden:!0}),onToggleFullWidth:()=>M(t.id,{fullWidth:!u.fullWidth})},t.id)})})}),w.length>0?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pt-2 text-[12px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:"Hidden boxes"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:w.map(t=>r.jsx("button",{type:"button",className:"rounded-full bg-[var(--ui-surface-2)] px-3 py-2 text-sm text-[var(--ui-ink-medium)] transition hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",onClick:()=>M(t.id,{hidden:!1}),children:t.title},t.id))})]}):null]})}):null,r.jsxs("div",{ref:z,className:"relative",children:[r.jsx("div",{className:"pointer-events-none absolute top-3 right-3 z-20 flex max-w-[calc(100%-1.5rem)] flex-wrap items-center justify-end gap-1.5",children:r.jsxs("div",{className:"pointer-events-auto flex flex-wrap items-center justify-end gap-1.5",children:[s,o?r.jsxs(H,{type:"button",size:"sm",variant:"secondary",className:"h-8 rounded-full border-[var(--ui-border-subtle)] bg-[var(--surface-glass)] px-2.5 text-[12px] text-[var(--ui-ink-medium)] backdrop-blur-xl hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",onClick:Y,children:[r.jsx(Z,{className:"size-3.5"}),r.jsx("span",{className:"hidden sm:inline",children:"Reset"})]}):null,r.jsxs(H,{type:"button",size:"sm",variant:o?"primary":"secondary",className:W("h-8 rounded-full px-2 text-[12px] backdrop-blur-xl [&>span]:gap-1.5",o?"bg-[var(--primary)] text-[var(--ui-ink-on-accent)] hover:opacity-95":"border-[var(--ui-border-subtle)] bg-[var(--surface-glass)] text-[var(--ui-ink-medium)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]"),onClick:()=>f(t=>!t),children:[r.jsx(ee,{className:"size-3.5"}),r.jsx("span",{className:"hidden xl:inline",children:o?"Done":"Layout"})]})]})}),r.jsx("div",{className:"surface-flow-grid",style:{display:"grid",gap:"16px",gridTemplateColumns:`repeat(${E}, minmax(0, 1fr))`,alignItems:"start"},children:S.map(t=>{const a=m.widgets[t.id]??{hidden:!1,fullWidth:!1,titleVisible:!0,descriptionVisible:!0},u=a.fullWidth?E:Math.min(Ee(t,$),E);return r.jsx("div",{style:{gridColumn:`span ${u} / span ${u}`},children:r.jsx(Ae,{definition:t,preferences:a,editing:o,width:u,children:r.jsx(ke,{boxId:t.workbenchBoxId??`surface:${e}:${t.id}`,surfaceId:e,children:t.render({compact:u<=4,width:u,editing:o,preferences:a})})})},t.id)})})]})]})}function $e({surfaceId:e,baseWidgets:i,actions:n,normalizeLayout:s}){return r.jsx(Pe,{surfaceId:e,widgets:i,normalizeLayout:s,actions:r.jsxs(r.Fragment,{children:[n,r.jsxs(le,{to:`/workbench?surface=${encodeURIComponent(e)}`,className:"inline-flex h-8 items-center gap-1.5 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--surface-glass)] px-2.5 text-[12px] font-medium text-[var(--ui-ink-medium)] backdrop-blur-xl transition hover:border-[var(--ui-border-strong)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]",children:[r.jsx(oe,{className:"size-3.5"}),r.jsx("span",{className:"hidden sm:inline",children:"Workbench"})]})]})})}export{$e as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a}from"./vendor-
|
|
1
|
+
import{j as a}from"./vendor-BwL6m4SE.js";import{a4 as c,c as m}from"./index-CQ5r7ZUz.js";function x({eyebrow:s,title:r,description:e,titleHelp:t,tone:n="default",children:i,className:l}){const o={default:"bg-[var(--ui-surface-section)]",mint:"bg-[radial-gradient(circle_at_top_left,color-mix(in_srgb,var(--success)_12%,transparent),transparent_42%),var(--ui-surface-section)]",sky:"bg-[radial-gradient(circle_at_top_left,color-mix(in_srgb,var(--info)_12%,transparent),transparent_42%),var(--ui-surface-section)]",violet:"bg-[radial-gradient(circle_at_top_left,color-mix(in_srgb,var(--primary)_12%,transparent),transparent_42%),var(--ui-surface-section)]",rose:"bg-[radial-gradient(circle_at_top_left,color-mix(in_srgb,var(--danger)_12%,transparent),transparent_42%),var(--ui-surface-section)]",amber:"bg-[radial-gradient(circle_at_top_left,color-mix(in_srgb,var(--warning)_12%,transparent),transparent_42%),var(--ui-surface-section)]"};return a.jsxs("section",{className:m("min-w-0 overflow-hidden rounded-[30px] border border-[var(--ui-border-subtle)] px-4 py-5 shadow-[var(--card-shadow)] sm:px-5 lg:px-6",o[n],l),children:[a.jsx("div",{className:"font-label text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:s}),a.jsxs("div",{className:"mt-3 flex min-w-0 items-start gap-2",children:[a.jsx("h2",{className:"min-w-0 break-words font-display text-[clamp(1.8rem,3.2vw,3rem)] leading-none text-[var(--ui-ink-strong)]",children:r}),t?a.jsx(c,{content:t,label:`Explain ${r.toLowerCase()}`,className:"mt-1 shrink-0"}):null]}),e?a.jsx("p",{className:"mt-3 max-w-3xl break-words text-sm leading-7 text-[var(--ui-ink-soft)]",children:e}):null,a.jsx("div",{className:"mt-5 min-w-0",children:i})]})}export{x as A};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as c,R as I,F as Ne}from"./vendor-
|
|
1
|
+
import{r as c,R as I,F as Ne}from"./vendor-BwL6m4SE.js";function Mn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c.useMemo(()=>r=>{t.forEach(o=>o(r))},t)}const nt=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function we(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function mt(e){return"nodeType"in e}function z(e){var t,n;return e?we(e)?e:mt(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function yt(e){const{Document:t}=z(e);return e instanceof t}function Be(e){return we(e)?!1:e instanceof z(e).HTMLElement}function Vt(e){return e instanceof z(e).SVGElement}function xe(e){return e?we(e)?e.document:mt(e)?yt(e)?e:Be(e)||Vt(e)?e.ownerDocument:document:document:document}const V=nt?c.useLayoutEffect:c.useEffect;function rt(e){const t=c.useRef(e);return V(()=>{t.current=e}),c.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return t.current==null?void 0:t.current(...r)},[])}function On(){const e=c.useRef(null),t=c.useCallback((r,o)=>{e.current=setInterval(r,o)},[]),n=c.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Pe(e,t){t===void 0&&(t=[e]);const n=c.useRef(e);return V(()=>{n.current!==e&&(n.current=e)},t),n}function Fe(e,t){const n=c.useRef();return c.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function Je(e){const t=rt(e),n=c.useRef(null),r=c.useCallback(o=>{o!==n.current&&(t==null||t(o,n.current)),n.current=o},[]);return[n,r]}function _e(e){const t=c.useRef();return c.useEffect(()=>{t.current=e},[e]),t.current}let ut={};function $e(e,t){return c.useMemo(()=>{if(t)return t;const n=ut[e]==null?0:ut[e]+1;return ut[e]=n,e+"-"+n},[e,t])}function qt(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((i,s)=>{const a=Object.entries(s);for(const[l,u]of a){const d=i[l];d!=null&&(i[l]=d+e*u)}return i},{...t})}}const ye=qt(1),Qe=qt(-1);function In(e){return"clientX"in e&&"clientY"in e}function ot(e){if(!e)return!1;const{KeyboardEvent:t}=z(e.target);return t&&e instanceof t}function Nn(e){if(!e)return!1;const{TouchEvent:t}=z(e.target);return t&&e instanceof t}function Ze(e){if(Nn(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return In(e)?{x:e.clientX,y:e.clientY}:null}const fe=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[fe.Translate.toString(e),fe.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),kt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Tn(e){return e.matches(kt)?e:e.querySelector(kt)}const Ln={display:"none"};function kn(e){let{id:t,value:n}=e;return I.createElement("div",{id:t,style:Ln},n)}function Pn(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;const o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return I.createElement("div",{id:t,style:o,role:"status","aria-live":r,"aria-atomic":!0},n)}function zn(){const[e,t]=c.useState("");return{announce:c.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Gt=c.createContext(null);function Bn(e){const t=c.useContext(Gt);c.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}function Fn(){const[e]=c.useState(()=>new Set),t=c.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[c.useCallback(r=>{let{type:o,event:i}=r;e.forEach(s=>{var a;return(a=s[o])==null?void 0:a.call(s,i)})},[e]),t]}const $n={draggable:`
|
|
2
2
|
To pick up a draggable item, press the space bar.
|
|
3
3
|
While dragging, use the arrow keys to move the item.
|
|
4
4
|
Press space again to drop the item in its new position, or press escape to cancel.
|