@mistriwork/mistri 1.0.0-rc.12 → 1.0.0-rc.13
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/README.md +4 -3
- package/dist/client/assets/LayoutBuilder-MPzkVU2e.js.map +1 -1
- package/dist/client/assets/index-D2dHI6hR.js.map +1 -1
- package/dist/client/assets/shell-TreN_uLs.js.map +1 -1
- package/dist/docs/access-model.md +1 -1
- package/dist/docs/build-and-deploy.md +0 -1
- package/dist/docs/cli.md +1 -1
- package/dist/docs/glossary.md +3 -3
- package/dist/docs/query.md +9 -21
- package/dist/docs/status.md +3 -3
- package/dist/embed/react/chunks/LayoutBuilder-Cbxa_wve.js.map +1 -1
- package/dist/embed/react/chunks/app-0UZ1Re1k.js.map +1 -1
- package/dist/embed/react/chunks/page-Bx4o1kpQ.js.map +1 -1
- package/dist/embed/react/chunks/palette-Bb7Lf6eo.js.map +1 -1
- package/dist/embed/react/chunks/shell-DZRACiB9.js.map +1 -1
- package/dist/embed/react/chunks/write-BQO4CFc9.js.map +1 -1
- package/dist/embed/react/index.js +1 -1
- package/dist/server/build/dockerfile.js +1 -1
- package/dist/server/cli/usage.js +2 -2
- package/dist/ui/index.js +2 -2
- package/dist/ui/page.js +2 -2
- package/dist/ui/{shared-N4Ej8yRD.js → shared-1PD7TOTJ.js} +5 -5
- package/dist/ui/{shared-N4Ej8yRD.js.map → shared-1PD7TOTJ.js.map} +1 -1
- package/dist/ui/{shared-D5m86-4o.js → shared-1gMnOu9J.js} +6 -6
- package/dist/ui/{shared-D5m86-4o.js.map → shared-1gMnOu9J.js.map} +1 -1
- package/dist/ui/{shared-Ctaj8mR2.js → shared-5RQMi4BR.js} +3 -3
- package/dist/ui/{shared-Ctaj8mR2.js.map → shared-5RQMi4BR.js.map} +1 -1
- package/dist/ui/{shared-DpLeIATZ.js → shared-B-BUF9fx.js} +2 -2
- package/dist/ui/{shared-DpLeIATZ.js.map → shared-B-BUF9fx.js.map} +1 -1
- package/dist/ui/{shared-DWYnjItP.js → shared-B-MhiPIN.js} +9 -9
- package/dist/ui/{shared-DWYnjItP.js.map → shared-B-MhiPIN.js.map} +1 -1
- package/dist/ui/{shared-0fNuhSbG.js → shared-B07qIMlE.js} +5 -5
- package/dist/ui/{shared-0fNuhSbG.js.map → shared-B07qIMlE.js.map} +1 -1
- package/dist/ui/{shared-lYtMadRU.js → shared-B1SAS_J-.js} +3 -3
- package/dist/ui/{shared-lYtMadRU.js.map → shared-B1SAS_J-.js.map} +1 -1
- package/dist/ui/{shared-CpI0Y8M5.js → shared-B4jgU8h9.js} +6 -6
- package/dist/ui/{shared-CpI0Y8M5.js.map → shared-B4jgU8h9.js.map} +1 -1
- package/dist/ui/{shared-Cxu1c35l.js → shared-B5aBCUi7.js} +30 -30
- package/dist/ui/{shared-Cxu1c35l.js.map → shared-B5aBCUi7.js.map} +1 -1
- package/dist/ui/{shared-CAe-US1q.js → shared-B9H7_Pji.js} +5 -5
- package/dist/ui/{shared-CAe-US1q.js.map → shared-B9H7_Pji.js.map} +1 -1
- package/dist/ui/{shared-Q2bgBaYo.js → shared-BAXr20S-.js} +4 -4
- package/dist/ui/{shared-Q2bgBaYo.js.map → shared-BAXr20S-.js.map} +1 -1
- package/dist/ui/{shared-CyEefFFb.js → shared-BDDUzH-f.js} +19 -19
- package/dist/ui/{shared-CyEefFFb.js.map → shared-BDDUzH-f.js.map} +1 -1
- package/dist/ui/{shared-BdhPI6dq.js → shared-BGmkeDeW.js} +3 -3
- package/dist/ui/{shared-BdhPI6dq.js.map → shared-BGmkeDeW.js.map} +1 -1
- package/dist/ui/{shared-DONIpq2q.js → shared-BHCQ60yN.js} +2 -2
- package/dist/ui/{shared-DONIpq2q.js.map → shared-BHCQ60yN.js.map} +1 -1
- package/dist/ui/{shared-CNmaAv64.js → shared-BHsjawAG.js} +8 -8
- package/dist/ui/{shared-CNmaAv64.js.map → shared-BHsjawAG.js.map} +1 -1
- package/dist/ui/{shared-DgjU9kOy.js → shared-BIQuK_nq.js} +4 -4
- package/dist/ui/{shared-DgjU9kOy.js.map → shared-BIQuK_nq.js.map} +1 -1
- package/dist/ui/{shared-icSQAj21.js → shared-BOe4W2FI.js} +3 -3
- package/dist/ui/{shared-icSQAj21.js.map → shared-BOe4W2FI.js.map} +1 -1
- package/dist/ui/{shared-BlxoOJSk.js → shared-BPpC08ip.js} +3 -3
- package/dist/ui/{shared-BlxoOJSk.js.map → shared-BPpC08ip.js.map} +1 -1
- package/dist/ui/{shared-BtiFL37J.js → shared-BdA3LPCB.js} +2 -2
- package/dist/ui/{shared-BtiFL37J.js.map → shared-BdA3LPCB.js.map} +1 -1
- package/dist/ui/{shared-CvR94vn4.js → shared-Be3nbWsd.js} +11 -11
- package/dist/ui/{shared-CvR94vn4.js.map → shared-Be3nbWsd.js.map} +1 -1
- package/dist/ui/{shared-Bl_nF_IH.js → shared-Bf30ZLoS.js} +8 -4
- package/dist/ui/shared-Bf30ZLoS.js.map +1 -0
- package/dist/ui/{shared-DijrJ_V-.js → shared-BguP_BaR.js} +7 -7
- package/dist/ui/{shared-DijrJ_V-.js.map → shared-BguP_BaR.js.map} +1 -1
- package/dist/ui/{shared-DPAVoWY0.js → shared-BoLbc2WD.js} +17 -2
- package/dist/ui/{shared-DPAVoWY0.js.map → shared-BoLbc2WD.js.map} +1 -1
- package/dist/ui/{shared-BkdBTYwx.js → shared-BttyOW4W.js} +3 -3
- package/dist/ui/{shared-BkdBTYwx.js.map → shared-BttyOW4W.js.map} +1 -1
- package/dist/ui/{shared-CQWLz8uT.js → shared-BumxsBlA.js} +10 -10
- package/dist/ui/{shared-CQWLz8uT.js.map → shared-BumxsBlA.js.map} +1 -1
- package/dist/ui/{shared-Dzu7tFiC.js → shared-Bw73ktBk.js} +3 -3
- package/dist/ui/{shared-Dzu7tFiC.js.map → shared-Bw73ktBk.js.map} +1 -1
- package/dist/ui/{shared-BhAYErSx.js → shared-C1B0GH0e.js} +4 -4
- package/dist/ui/{shared-BhAYErSx.js.map → shared-C1B0GH0e.js.map} +1 -1
- package/dist/ui/{shared-BQJQcGgj.js → shared-C2FsyYr7.js} +4 -4
- package/dist/ui/{shared-BQJQcGgj.js.map → shared-C2FsyYr7.js.map} +1 -1
- package/dist/ui/{shared-B9lw2Ryh.js → shared-C2RU1qjv.js} +4 -4
- package/dist/ui/{shared-B9lw2Ryh.js.map → shared-C2RU1qjv.js.map} +1 -1
- package/dist/ui/{shared-DQYNI9wO.js → shared-C42f07hJ.js} +5 -5
- package/dist/ui/{shared-DQYNI9wO.js.map → shared-C42f07hJ.js.map} +1 -1
- package/dist/ui/{shared-CqCZ8wMY.js → shared-C4LkPCU4.js} +3 -3
- package/dist/ui/{shared-CqCZ8wMY.js.map → shared-C4LkPCU4.js.map} +1 -1
- package/dist/ui/{shared-BhtpgOpa.js → shared-C4wSfz6k.js} +9 -9
- package/dist/ui/{shared-BhtpgOpa.js.map → shared-C4wSfz6k.js.map} +1 -1
- package/dist/ui/{shared-BHc2Izkj.js → shared-C9DZtSFH.js} +2 -2
- package/dist/ui/{shared-BHc2Izkj.js.map → shared-C9DZtSFH.js.map} +1 -1
- package/dist/ui/{shared-DW1YuiNS.js → shared-CA52ClGo.js} +2 -2
- package/dist/ui/{shared-DW1YuiNS.js.map → shared-CA52ClGo.js.map} +1 -1
- package/dist/ui/{shared-BbSbilkh.js → shared-CBciTwm6.js} +9 -9
- package/dist/ui/{shared-BbSbilkh.js.map → shared-CBciTwm6.js.map} +1 -1
- package/dist/ui/{shared-C-J32eBn.js → shared-CL3RLKDA.js} +16 -16
- package/dist/ui/{shared-C-J32eBn.js.map → shared-CL3RLKDA.js.map} +1 -1
- package/dist/ui/{shared-Ck8S4OxW.js → shared-CLq3-_hW.js} +3 -3
- package/dist/ui/{shared-Ck8S4OxW.js.map → shared-CLq3-_hW.js.map} +1 -1
- package/dist/ui/{shared-Q5WefT7G.js → shared-CMjK-Ucd.js} +3 -3
- package/dist/ui/{shared-Q5WefT7G.js.map → shared-CMjK-Ucd.js.map} +1 -1
- package/dist/ui/{shared-D3MAuEA3.js → shared-CPjpSFGh.js} +2 -2
- package/dist/ui/{shared-D3MAuEA3.js.map → shared-CPjpSFGh.js.map} +1 -1
- package/dist/ui/{shared-VshXGwXP.js → shared-CSPhENq3.js} +2 -2
- package/dist/ui/{shared-VshXGwXP.js.map → shared-CSPhENq3.js.map} +1 -1
- package/dist/ui/{shared-DJrJaE73.js → shared-CZJE4Bmp.js} +3 -3
- package/dist/ui/{shared-DJrJaE73.js.map → shared-CZJE4Bmp.js.map} +1 -1
- package/dist/ui/{shared-D7ONOwI7.js → shared-C_BhUL2I.js} +7 -7
- package/dist/ui/{shared-D7ONOwI7.js.map → shared-C_BhUL2I.js.map} +1 -1
- package/dist/ui/{shared-j-2peBIB.js → shared-CbeujwdU.js} +4 -4
- package/dist/ui/{shared-j-2peBIB.js.map → shared-CbeujwdU.js.map} +1 -1
- package/dist/ui/{shared-D5GrOEa2.js → shared-Cbf-o4Dt.js} +4 -4
- package/dist/ui/{shared-D5GrOEa2.js.map → shared-Cbf-o4Dt.js.map} +1 -1
- package/dist/ui/{shared-HwiPIajr.js → shared-CdNmeNHh.js} +3 -3
- package/dist/ui/{shared-HwiPIajr.js.map → shared-CdNmeNHh.js.map} +1 -1
- package/dist/ui/{shared-ZCFt-CPb.js → shared-CdQOMD8J.js} +3 -3
- package/dist/ui/{shared-ZCFt-CPb.js.map → shared-CdQOMD8J.js.map} +1 -1
- package/dist/ui/{shared-ClhXSGGK.js → shared-CdiPYlTh.js} +2 -2
- package/dist/ui/{shared-ClhXSGGK.js.map → shared-CdiPYlTh.js.map} +1 -1
- package/dist/ui/{shared-DA8_pVRZ.js → shared-CepLAhwm.js} +2 -2
- package/dist/ui/{shared-DA8_pVRZ.js.map → shared-CepLAhwm.js.map} +1 -1
- package/dist/ui/{shared-BrYKjrnM.js → shared-Ch82h_Fu.js} +6 -6
- package/dist/ui/{shared-BrYKjrnM.js.map → shared-Ch82h_Fu.js.map} +1 -1
- package/dist/ui/{shared-C4UrE8Fb.js → shared-Chp88all.js} +3 -3
- package/dist/ui/{shared-C4UrE8Fb.js.map → shared-Chp88all.js.map} +1 -1
- package/dist/ui/{shared-CWa80DTO.js → shared-Ci16s2rN.js} +9 -9
- package/dist/ui/{shared-CWa80DTO.js.map → shared-Ci16s2rN.js.map} +1 -1
- package/dist/ui/{shared-tksTLD6Q.js → shared-CiqNkoE1.js} +5 -5
- package/dist/ui/{shared-tksTLD6Q.js.map → shared-CiqNkoE1.js.map} +1 -1
- package/dist/ui/{shared-yt7DjSrq.js → shared-CpMhOq8F.js} +2 -2
- package/dist/ui/{shared-yt7DjSrq.js.map → shared-CpMhOq8F.js.map} +1 -1
- package/dist/ui/{shared-Dm0z5WUl.js → shared-CrWv5JKH.js} +6 -6
- package/dist/ui/{shared-Dm0z5WUl.js.map → shared-CrWv5JKH.js.map} +1 -1
- package/dist/ui/{shared-CQL3FGHc.js → shared-Csfi3Pti.js} +2 -2
- package/dist/ui/{shared-CQL3FGHc.js.map → shared-Csfi3Pti.js.map} +1 -1
- package/dist/ui/{shared-BKNRbm-V.js → shared-CuZt26rm.js} +2 -2
- package/dist/ui/{shared-BKNRbm-V.js.map → shared-CuZt26rm.js.map} +1 -1
- package/dist/ui/{shared-Guq3upiR.js → shared-Cws_z-TS.js} +2 -2
- package/dist/ui/{shared-Guq3upiR.js.map → shared-Cws_z-TS.js.map} +1 -1
- package/dist/ui/{shared-Bw_qZeIj.js → shared-D1KWuCg6.js} +2 -2
- package/dist/ui/{shared-Bw_qZeIj.js.map → shared-D1KWuCg6.js.map} +1 -1
- package/dist/ui/{shared-CuCZKwXW.js → shared-D66ju_Cb.js} +23 -23
- package/dist/ui/{shared-CuCZKwXW.js.map → shared-D66ju_Cb.js.map} +1 -1
- package/dist/ui/{shared-DYfX7NSM.js → shared-DGaQZXnw.js} +2 -2
- package/dist/ui/{shared-DYfX7NSM.js.map → shared-DGaQZXnw.js.map} +1 -1
- package/dist/ui/{shared-B3Hp8tOv.js → shared-DHy41sET.js} +6 -6
- package/dist/ui/{shared-B3Hp8tOv.js.map → shared-DHy41sET.js.map} +1 -1
- package/dist/ui/{shared-CXyd7IKi.js → shared-DKEOMQ6l.js} +2 -2
- package/dist/ui/{shared-CXyd7IKi.js.map → shared-DKEOMQ6l.js.map} +1 -1
- package/dist/ui/{shared-Ccmc8YO0.js → shared-DSUICuaJ.js} +33 -33
- package/dist/ui/{shared-Ccmc8YO0.js.map → shared-DSUICuaJ.js.map} +1 -1
- package/dist/ui/{shared-CL2iw_js.js → shared-DUPMRoO0.js} +13 -13
- package/dist/ui/{shared-CL2iw_js.js.map → shared-DUPMRoO0.js.map} +1 -1
- package/dist/ui/{shared-Dtp4eRul.js → shared-DVfdm6ah.js} +2 -2
- package/dist/ui/{shared-Dtp4eRul.js.map → shared-DVfdm6ah.js.map} +1 -1
- package/dist/ui/{shared-BJ5Ex32G.js → shared-DXM7d7lJ.js} +3 -3
- package/dist/ui/{shared-BJ5Ex32G.js.map → shared-DXM7d7lJ.js.map} +1 -1
- package/dist/ui/{shared-BFr6ld0e.js → shared-DXbMlcev.js} +2 -2
- package/dist/ui/{shared-BFr6ld0e.js.map → shared-DXbMlcev.js.map} +1 -1
- package/dist/ui/{shared-BUp3jv-N.js → shared-D_SkPtJ9.js} +6 -6
- package/dist/ui/{shared-BUp3jv-N.js.map → shared-D_SkPtJ9.js.map} +1 -1
- package/dist/ui/{shared-CdNomVzH.js → shared-Dd21k2ic.js} +4 -4
- package/dist/ui/{shared-CdNomVzH.js.map → shared-Dd21k2ic.js.map} +1 -1
- package/dist/ui/{shared-gRMbxmpu.js → shared-Dh0nHtLZ.js} +8 -8
- package/dist/ui/{shared-gRMbxmpu.js.map → shared-Dh0nHtLZ.js.map} +1 -1
- package/dist/ui/{shared-BKGJgjog.js → shared-DkOdSpSK.js} +3 -3
- package/dist/ui/{shared-BKGJgjog.js.map → shared-DkOdSpSK.js.map} +1 -1
- package/dist/ui/{shared-BMsh72Uq.js → shared-Dkph5ckT.js} +2 -2
- package/dist/ui/{shared-BMsh72Uq.js.map → shared-Dkph5ckT.js.map} +1 -1
- package/dist/ui/{shared-Be1HpDOB.js → shared-Dl1_Nx--.js} +3 -3
- package/dist/ui/{shared-Be1HpDOB.js.map → shared-Dl1_Nx--.js.map} +1 -1
- package/dist/ui/{shared-BQIZWOoJ.js → shared-Dm0IGbAf.js} +2 -2
- package/dist/ui/{shared-BQIZWOoJ.js.map → shared-Dm0IGbAf.js.map} +1 -1
- package/dist/ui/{shared-DSUtcU5S.js → shared-DnIkTpPr.js} +5 -5
- package/dist/ui/{shared-DSUtcU5S.js.map → shared-DnIkTpPr.js.map} +1 -1
- package/dist/ui/{shared-DsxGbYlV.js → shared-Docl_0tq.js} +3 -3
- package/dist/ui/{shared-DsxGbYlV.js.map → shared-Docl_0tq.js.map} +1 -1
- package/dist/ui/{shared-DZskrV26.js → shared-DprrHC72.js} +2 -2
- package/dist/ui/{shared-DZskrV26.js.map → shared-DprrHC72.js.map} +1 -1
- package/dist/ui/{shared-Bmw43Hwf.js → shared-DyKsJTZs.js} +2 -2
- package/dist/ui/{shared-Bmw43Hwf.js.map → shared-DyKsJTZs.js.map} +1 -1
- package/dist/ui/{shared-BLG88Pya.js → shared-FO7vfI3F.js} +4 -4
- package/dist/ui/{shared-BLG88Pya.js.map → shared-FO7vfI3F.js.map} +1 -1
- package/dist/ui/{shared-DLSd80D1.js → shared-HalAVHjv.js} +3 -3
- package/dist/ui/{shared-DLSd80D1.js.map → shared-HalAVHjv.js.map} +1 -1
- package/dist/ui/{shared-D1mMBLdj.js → shared-JvcI-LWp.js} +15 -15
- package/dist/ui/{shared-D1mMBLdj.js.map → shared-JvcI-LWp.js.map} +1 -1
- package/dist/ui/{shared-C6Hv_4O0.js → shared-K7Ym27yg.js} +2 -2
- package/dist/ui/{shared-C6Hv_4O0.js.map → shared-K7Ym27yg.js.map} +1 -1
- package/dist/ui/{shared-B39ln7oi.js → shared-SzlnwfJO.js} +3 -3
- package/dist/ui/{shared-B39ln7oi.js.map → shared-SzlnwfJO.js.map} +1 -1
- package/dist/ui/{shared-DgPn_Jll.js → shared-TrGbd1FY.js} +3 -3
- package/dist/ui/{shared-DgPn_Jll.js.map → shared-TrGbd1FY.js.map} +1 -1
- package/dist/ui/{shared-DrFb-XtA.js → shared-WhbuObEW.js} +2 -2
- package/dist/ui/{shared-DrFb-XtA.js.map → shared-WhbuObEW.js.map} +1 -1
- package/dist/ui/{shared-DiFQljcq.js → shared-XcSKDp6N.js} +11 -11
- package/dist/ui/{shared-DiFQljcq.js.map → shared-XcSKDp6N.js.map} +1 -1
- package/dist/ui/{shared-CMAg58rY.js → shared-Z4uBJU6I.js} +7 -6
- package/dist/ui/shared-Z4uBJU6I.js.map +1 -0
- package/dist/ui/{shared-BnUptuUp.js → shared-bAgeiRa5.js} +2 -2
- package/dist/ui/{shared-BnUptuUp.js.map → shared-bAgeiRa5.js.map} +1 -1
- package/dist/ui/{shared-BxMvSjey.js → shared-cgXG7OgZ.js} +5 -5
- package/dist/ui/{shared-BxMvSjey.js.map → shared-cgXG7OgZ.js.map} +1 -1
- package/dist/ui/{shared-u4CG2kQJ.js → shared-eZ0SB_zm.js} +2 -2
- package/dist/ui/{shared-u4CG2kQJ.js.map → shared-eZ0SB_zm.js.map} +1 -1
- package/dist/ui/{shared-L90bWW8e.js → shared-frKFb79C.js} +2 -2
- package/dist/ui/{shared-L90bWW8e.js.map → shared-frKFb79C.js.map} +1 -1
- package/dist/ui/{shared-Dd34nhkw.js → shared-hAayNSRA.js} +3 -3
- package/dist/ui/{shared-Dd34nhkw.js.map → shared-hAayNSRA.js.map} +1 -1
- package/dist/ui/{shared-DzC64cpp.js → shared-j_J16p2B.js} +2 -2
- package/dist/ui/{shared-DzC64cpp.js.map → shared-j_J16p2B.js.map} +1 -1
- package/dist/ui/{shared-DX7HRIV-.js → shared-tqpl5N3g.js} +6 -6
- package/dist/ui/{shared-DX7HRIV-.js.map → shared-tqpl5N3g.js.map} +1 -1
- package/dist/ui/{shared-BS5dBMpA.js → shared-y-6_ZDts.js} +2 -2
- package/dist/ui/{shared-BS5dBMpA.js.map → shared-y-6_ZDts.js.map} +1 -1
- package/dist/ui/{shared-Cv5v_MP1.js → shared-zG6e1Rhz.js} +13 -13
- package/dist/ui/{shared-Cv5v_MP1.js.map → shared-zG6e1Rhz.js.map} +1 -1
- package/dist/ui/testing.js +1 -1
- package/package.json +4 -4
- package/dist/docs/cli-browser.md +0 -232
- package/dist/docs/database-browser.md +0 -115
- package/dist/docs/keyboard.md +0 -63
- package/dist/docs/mcp.md +0 -86
- package/dist/ui/shared-Bl_nF_IH.js.map +0 -1
- package/dist/ui/shared-CMAg58rY.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-
|
|
1
|
+
{"version":3,"file":"shared-WhbuObEW.js","names":[],"sources":["../../../kit/src/client/components/favorites.ts","../../../kit/src/client/copy/shell/components/FavoriteStar.ts","../../../kit/src/client/components/FavoriteStar.tsx","../../../kit/src/client/components/useMediaQuery.ts"],"sourcesContent":["/**\n * The records and views a reader starred, where the App offers a star.\n *\n * Opt-in by the App — `favorite: true` on a resource (its records) or on a\n * view — because a star on everything is chrome nobody asked for. Kept in\n * this browser and per connection, like pins and recents (pagemarks.js):\n * the same record name means a different thing on staging and production.\n * Under a verified session the storage is the account's own (core.js\n * loadJson), so a shared browser does not show one person's stars to the\n * next; following an account across browsers would need the server.\n */\nimport { loadJson, saveJson, state } from '../core.js';\n\nexport type Favorite =\n | { kind: 'view'; view: string; label: string }\n | { kind: 'record'; table: string; key: Record<string, unknown>; label: string; pageId: string };\n\nconst KEY = 'mistri.favorites.v1';\n/** Enough to be a working set, not a second menu. */\nconst MAX = 50;\nconst listeners = new Set<() => void>();\nlet version = 0;\n\nconst conn = () => state.activeConnection ?? 'default';\n\n/** A view by key; a record by table and exact key, its columns in one order\n * so the same key typed two ways is one favorite. Values stay as the API\n * sent them — an id past 2^53 is a string and must not become a number. */\nexport function favoriteId(favorite: Favorite): string {\n if (favorite.kind === 'view') return `view:${favorite.view}`;\n const key = Object.keys(favorite.key)\n .sort()\n .map((column) => [column, favorite.key[column]]);\n return `record:${favorite.table}:${JSON.stringify(key)}`;\n}\n\nconst valid = (item: unknown): item is Favorite => {\n if (!item || typeof item !== 'object') return false;\n const f = item as Record<string, unknown>;\n if (typeof f.label !== 'string') return false;\n if (f.kind === 'view') return typeof f.view === 'string';\n return (\n f.kind === 'record' &&\n typeof f.table === 'string' &&\n typeof f.pageId === 'string' &&\n Boolean(f.key) &&\n typeof f.key === 'object' &&\n !Array.isArray(f.key)\n );\n};\n\nexport function favorites(): Favorite[] {\n const all = loadJson(KEY, {}) as Record<string, unknown>;\n const list = all[conn()];\n return Array.isArray(list) ? list.filter(valid) : [];\n}\n\nfunction write(list: Favorite[]) {\n const all = loadJson(KEY, {}) as Record<string, unknown>;\n all[conn()] = list.slice(-MAX);\n saveJson(KEY, all);\n version++;\n for (const listener of listeners) listener();\n}\n\nexport function isFavorite(favorite: Favorite): boolean {\n const id = favoriteId(favorite);\n return favorites().some((item) => favoriteId(item) === id);\n}\n\n/** Star or unstar, and answer what it is now. */\nexport function toggleFavorite(favorite: Favorite): boolean {\n const id = favoriteId(favorite);\n const list = favorites();\n const on = list.some((item) => favoriteId(item) === id);\n write(on ? list.filter((item) => favoriteId(item) !== id) : [...list, favorite]);\n return !on;\n}\n\n/** A starred record renamed since: the list says what it is called now. */\nexport function relabelFavorite(favorite: Favorite): void {\n const id = favoriteId(favorite);\n const list = favorites();\n const at = list.findIndex((item) => favoriteId(item) === id);\n if (at < 0 || list[at].label === favorite.label) return;\n list[at] = { ...list[at], label: favorite.label };\n write(list);\n}\n\nexport function subscribeFavorites(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nexport const favoritesVersion = () => version;\n","/** What FavoriteStar says, in the shell room (packages/kit/src/client/messages.ts says how the catalog is split). */\nimport { defineMessages } from '../../../messages.js';\n\nexport const say = defineMessages({\n removeFromFavorites: 'Remove \"{name}\" from Favorites',\n addToFavorites: 'Add \"{name}\" to Favorites',\n});\n","/**\n * The star on a record or a view the App lets a reader keep. It says what\n * pressing it will do, and aria-pressed says what it is now.\n */\nimport { useSyncExternalStore } from 'react';\nimport { favoritesVersion, isFavorite, subscribeFavorites, toggleFavorite, type Favorite } from './favorites.js';\nimport { say } from '../copy/shell/components/FavoriteStar.js';\n\nexport function FavoriteStar({ favorite, name }: { favorite: Favorite; name: string }) {\n useSyncExternalStore(subscribeFavorites, favoritesVersion, favoritesVersion);\n const on = isFavorite(favorite);\n const says = on ? say('removeFromFavorites', { name }) : say('addToFavorites', { name });\n return (\n <button\n type=\"button\"\n className={`ghost fav-star${on ? ' is-on' : ''}`}\n aria-pressed={on}\n aria-label={says}\n title={says}\n onClick={() => toggleFavorite(favorite)}\n >\n <span aria-hidden=\"true\">{on ? '★' : '☆'}</span>\n </button>\n );\n}\n","/**\n * Whether a media query matches, re-read when it changes: the one\n * subscription the components that lay themselves out differently on a phone\n * share, so a breakpoint is asked of the browser the same way everywhere.\n */\nimport { useSyncExternalStore } from 'react';\n\nconst watched = new Map<string, { subscribe: (listener: () => void) => () => void; snapshot: () => boolean }>();\n\nfunction watch(query: string) {\n let entry = watched.get(query);\n if (entry) return entry;\n const list = () => (typeof window !== 'undefined' && typeof window.matchMedia === 'function' ? window.matchMedia(query) : null);\n entry = {\n snapshot: () => list()?.matches ?? false,\n subscribe: (listener) => {\n const media = list();\n if (!media) return () => {};\n media.addEventListener?.('change', listener);\n /* Older WebKit has the deprecated listener pair but no addEventListener. */\n if (!media.addEventListener) media.addListener(listener);\n return () => {\n media.removeEventListener?.('change', listener);\n if (!media.removeEventListener) media.removeListener(listener);\n };\n },\n };\n watched.set(query, entry);\n return entry;\n}\n\nexport function useMediaQuery(query: string): boolean {\n const { subscribe, snapshot } = watch(query);\n return useSyncExternalStore(subscribe, snapshot, () => false);\n}\n\n/** A phone: where a record's actions fold into one menu rather than wrap. */\nexport const PHONE_QUERY = '(max-width: 600px)';\n\n/** Where a filter rail has no room to stand beside the rows. The rail is\n 12-15rem and a card grid wants 520px before it draws a second column, so\n under about 860px the two together leave the rows a single narrow column —\n measured at 641px: 352px of rows beside the rail, 606px without it. Wider\n than a phone on purpose: the rail's sheet is the right shape for every\n window too narrow for the column, not only for a handset. */\nexport const RAIL_QUERY = '(max-width: 860px)';\n"],"mappings":"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"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { K as tagChips, N as andQuery, Z as Empty, c as computedColumnMeta, gt as wearIconWeight, ht as Icon, it as useQuery, o as sameReads, q as tagsColumnMeta, tt as useMessageLanguage, u as firstPaintItem } from "./shared-poc11xxo.js";
|
|
2
2
|
import { $t as formatWholeMoney, At as removeHostListener, Bt as formatApprox, Ct as addHostListener, F as primaryKey, Ft as shellRoot, G as currencyPath, Jt as formatNumber, K as minorFigure, Kt as formatLocale, M as labelColumn, Mt as shellById, Nt as shellQuery, Ot as popupContainer, Pt as shellQueryAll, Rt as defaultCurrency, T as sortableFromHeader, Ut as formatDate, V as parseLabelTemplate, W as currencyDigits, Wt as formatDateTime, Yt as formatPercent, _ as ruleSays, b as withUnit, d as dressFor, ft as vocabularyWord, g as maskedText, gt as defineMessages, jt as shellBody, kt as portalRoot, qt as formatMoney, rn as shell, tn as sayNearDay, u as datesAmong, ut as humanName, v as sayDuration, w as planColumn } from "./shared-DJZjSi3J.js";
|
|
3
|
-
import { K as promptFor, at as MenuPortal, ct as leadTonePath, h as appListQuery, it as MenuPositioner, j as useChangedRows, lt as subtitlePath, m as hashFor, n as batch, ot as MenuPopup, q as promptForRange, r as createAtom, rt as MenuRoot, st as MenuItem, t as useSelector } from "./shared-
|
|
4
|
-
import { a as JsonValue, n as Dressed, r as LeadMark, t as AvatarText } from "./shared-
|
|
5
|
-
import { A as render, C as prefersPages, E as refine, G as resolvePath, J as rollupColumnMeta, L as state, M as saveJson, O as refsTo, S as peekRecord, T as recordLabel, U as writeAllowed, _ as openRecord, c as columnLabel, d as findTable, f as go, g as looksLikeDateColumn, h as loadJson, i as api, j as rowLabel, l as currentEntry, m as labelPath, p as keyOf, rt as composedConnection, s as columnDisplay, u as emptyWord, w as quote, x as pageView, z as tableView } from "./shared-
|
|
3
|
+
import { K as promptFor, at as MenuPortal, ct as leadTonePath, h as appListQuery, it as MenuPositioner, j as useChangedRows, lt as subtitlePath, m as hashFor, n as batch, ot as MenuPopup, q as promptForRange, r as createAtom, rt as MenuRoot, st as MenuItem, t as useSelector } from "./shared-BHsjawAG.js";
|
|
4
|
+
import { a as JsonValue, n as Dressed, r as LeadMark, t as AvatarText } from "./shared-CMjK-Ucd.js";
|
|
5
|
+
import { A as render, C as prefersPages, E as refine, G as resolvePath, J as rollupColumnMeta, L as state, M as saveJson, O as refsTo, S as peekRecord, T as recordLabel, U as writeAllowed, _ as openRecord, c as columnLabel, d as findTable, f as go, g as looksLikeDateColumn, h as loadJson, i as api, j as rowLabel, l as currentEntry, m as labelPath, p as keyOf, rt as composedConnection, s as columnDisplay, u as emptyWord, w as quote, x as pageView, z as tableView } from "./shared-BoLbc2WD.js";
|
|
6
6
|
import { o as shown, t as appFile } from "./shared-sZ8B7ZTw.js";
|
|
7
7
|
import { Gn as viewportScale, Wn as viewportBox, i as zoomAnchor, lt as useRenderElement, r as layoutViewport, t as Modal } from "./shared-CRr4kJXB.js";
|
|
8
|
-
import { n as useArrived, t as onDemand } from "./shared-
|
|
8
|
+
import { n as useArrived, t as onDemand } from "./shared-B-BUF9fx.js";
|
|
9
9
|
import { t as DURATION_STEPS } from "./shared-Cq8JuR8T.js";
|
|
10
10
|
import { o as previewOf, r as jsonValueOf } from "./shared-DP0_R8KD.js";
|
|
11
11
|
import { a as nextSort, l as splitConditions, n as addSort, o as sortCount, s as sortDirection, t as listPresentationColumns, u as splitQuery } from "./shared-DOvMIC4W.js";
|
|
12
12
|
import { i as unmount, n as mount, o as useListNavigation, r as queryClient } from "./shared-C3MTHv9P.js";
|
|
13
|
-
import { f as Value, h as dueOpen, p as ValueSlot, r as bulkKey, v as registerViewOpener, y as opensRecord } from "./shared-
|
|
13
|
+
import { f as Value, h as dueOpen, p as ValueSlot, r as bulkKey, v as registerViewOpener, y as opensRecord } from "./shared-Chp88all.js";
|
|
14
14
|
import { t as equalityFilter } from "./shared-_IMKuuvy.js";
|
|
15
|
-
import { n as AvatarPhotos, r as avatarOwner, t as AvatarPhotoContext } from "./shared-
|
|
15
|
+
import { n as AvatarPhotos, r as avatarOwner, t as AvatarPhotoContext } from "./shared-BOe4W2FI.js";
|
|
16
16
|
import { r as tabSlug } from "./shared-DVZ7wmSR.js";
|
|
17
|
-
import { t as grantedActionIds } from "./shared-
|
|
17
|
+
import { t as grantedActionIds } from "./shared-eZ0SB_zm.js";
|
|
18
18
|
import { c as isListRoom, d as roomPageId, f as viewRoom, r as dashPageId } from "./shared-DpVb48sM.js";
|
|
19
|
-
import { i as composedReply, s as mayBeComposed } from "./shared-
|
|
20
|
-
import { l as rootMatches } from "./shared-
|
|
19
|
+
import { i as composedReply, s as mayBeComposed } from "./shared-CpMhOq8F.js";
|
|
20
|
+
import { l as rootMatches } from "./shared-Bf30ZLoS.js";
|
|
21
21
|
import { c as THEME_PRESETS, d as lookAttribute, f as recipeAttributes, i as lookNavRole, l as RECIPE_PARTS, o as themePreset, r as inheritThemePreset, t as effectiveThemeDefinition, u as TYPE_ATTRIBUTES } from "./shared-B2IfBCot.js";
|
|
22
22
|
import * as React$1 from "react";
|
|
23
23
|
import React, { cloneElement, createContext, createElement, isValidElement, memo, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -2289,7 +2289,7 @@ function returnFocusTo(column) {
|
|
|
2289
2289
|
}
|
|
2290
2290
|
var AppColumnMenuContext = createContext(null);
|
|
2291
2291
|
var useAppColumnMenu = () => useContext(AppColumnMenuContext);
|
|
2292
|
-
var Popups = onDemand(() => import("./shared-
|
|
2292
|
+
var Popups = onDemand(() => import("./shared-Ch82h_Fu.js"), "AppColumnMenuPopups", { quiet: true });
|
|
2293
2293
|
function AppColumnMenuButton({ host, ...column }) {
|
|
2294
2294
|
const { name, label } = column;
|
|
2295
2295
|
const button = useRef(null);
|
|
@@ -8183,4 +8183,4 @@ function DashboardNote({ title, text, icon, action, row, variant, eyebrow, image
|
|
|
8183
8183
|
}
|
|
8184
8184
|
export { dashboardListQuery as $, batchedBreakdown as A, figureSayer as B, visualThemeScheme as C, resetNested as D, PresentationSwitch as E, EXTRA_SHAPES as F, orderGroups as G, legendSayer as H, allSections as I, sayer as J, picked as K, barShare as L, textMeasure as M, CurrencyFigures as N, AppColumnMenuContext as O, EXACT as P, chartLimit as Q, boardSection as R, visualThemeOptions as S, sortBy as T, metricWindow as U, fullQuery as V, namedGroups as W, boardCountText as X, windowTitle as Y, breakdownText as Z, setVisualPalette as _, wholeColumn as _t, viewLink as a, windowed as at, visualPaletteOptions as b, togglePin as bt, RecordSummaries as c, RowHeadDecoration as ct, RowOpensContext as d, rowKeyString as dt, groupsAskedFor as et, VISUAL_THEME_EVENT as f, PLACES as ft, resetVisualTheme as g, savePlaces as gt, readerOverridesAppTheme as h, positionOf as ht, listLink as i, targetText as it, batchedRun as j, returnFocusTo as k, tableSaysMore as l, RowHosts as lt, appVisualTheme as m, placements as mt, formLink as n, pickQuery as nt, ListEmpty as o, useVirtualizer as ot, VISUAL_THEME_REGISTRY_EVENT as p, placeIndex as pt, pinnedCurrency as q, listEntry as r, sectionPeriod as rt, RowActions as s, RowDecoration as st, DashboardNote as t, measureText as tt, Grid as u, RowTrailHosts as ut, setVisualTheme as v, presentationColumns as vt, visualThemesOffered as w, visualThemeChoice as x, Separator as xt, visualPaletteChoice as y, pinnedFor as yt, figure as z };
|
|
8185
8185
|
|
|
8186
|
-
//# sourceMappingURL=shared-
|
|
8186
|
+
//# sourceMappingURL=shared-XcSKDp6N.js.map
|