@coffer-org/web 2.6.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/assets/ChatWidget-CnETJEZj.js +16 -0
  2. package/dist/assets/DiagnosticsPage-DUqimXFJ.js +1 -0
  3. package/dist/assets/ExtendReasonInfo-DZyJKRHy.js +1 -0
  4. package/dist/assets/Icon-Dydn049Z.js +2 -0
  5. package/dist/assets/{NewRecordView-BfyaaO_5.js → NewRecordView-BAe2dw2Y.js} +1 -1
  6. package/dist/assets/{NoMac-BarbbnIj.js → NoMac-DLu311Th.js} +1 -1
  7. package/dist/assets/{PluginSettingsPage-EhIpvmcl.js → PluginSettingsPage-BQm11aEY.js} +1 -1
  8. package/dist/assets/SettingsForm-xXNSptFG.js +1 -0
  9. package/dist/assets/{SettingsPage-cGmurCr0.js → SettingsPage-PQygWGag.js} +2 -2
  10. package/dist/assets/ThemeSwitcher-D-6Vlu3T.js +1 -0
  11. package/dist/assets/{Toolbar-C5S0_fah.js → Toolbar-_Bg6b3gy.js} +2 -2
  12. package/dist/assets/{auth-context-CpmpND1h.js → auth-context-C1voH8bU.js} +1 -1
  13. package/dist/assets/button-DaYjtbcx.js +1 -0
  14. package/dist/assets/chevron-down-DgMjlPLK.js +1 -0
  15. package/dist/assets/{chrome-_m2AYIjS.js → chrome-BfURuVBW.js} +1 -1
  16. package/dist/assets/combobox-Cqg-VPvV.js +1 -0
  17. package/dist/assets/{data-size-BFf4oF5n.js → data-size-B44emc58.js} +1 -1
  18. package/dist/assets/dialog-BKC2UrX0.js +1 -0
  19. package/dist/assets/{dispatch-Bpnn2XRC.js → dispatch-B7QFSWwA.js} +1 -1
  20. package/dist/assets/{extend-C4MFviaS.js → extend-CbEbk8Xz.js} +1 -1
  21. package/dist/assets/{field-frame-cFE-u56I.js → field-frame-lE36ax7A.js} +1 -1
  22. package/dist/assets/fields-BvFhu2Zp.js +64 -0
  23. package/dist/assets/index-B674c0cW.js +36 -0
  24. package/dist/assets/index-CvgeFYKg.css +2 -0
  25. package/dist/assets/input-group-Cp9n2MAA.js +1 -0
  26. package/dist/assets/{phone-input-Nmpfmhew.js → phone-input-BI3bOFX2.js} +2 -2
  27. package/dist/assets/shared-vjdjsgQc.js +1 -0
  28. package/dist/assets/shelf-D-ifpKTJ.js +1 -0
  29. package/dist/assets/{square-CiErsTOS.js → square-DuQOQJGU.js} +1 -1
  30. package/dist/assets/src-BIligwLb.js +1 -0
  31. package/dist/assets/src-BbGADHi4.js +1 -0
  32. package/dist/assets/{src-CVXUq44N.js → src-BbXav__j.js} +1 -1
  33. package/dist/assets/src-BngIhzHR.js +1 -0
  34. package/dist/assets/src-BqCV9wTP.js +1 -0
  35. package/dist/assets/src-CK5LF8mh.js +1 -0
  36. package/dist/assets/src-CO_C8dwk.js +1 -0
  37. package/dist/assets/src-CTwytbLw.js +1 -0
  38. package/dist/assets/src-Ck3rvFAP.js +2 -0
  39. package/dist/assets/src-CzSQMFWS.js +7 -0
  40. package/dist/assets/{src-BckYqSba.js → src-D1jciqQr.js} +1 -1
  41. package/dist/assets/{src-qvD2ou1m.js → src-D20-HqBF.js} +1 -1
  42. package/dist/assets/src-DD4urQ_Z.js +4 -0
  43. package/dist/assets/{src-BwT6fU6Z.js → src-DLuKxde5.js} +1 -1
  44. package/dist/assets/{src-Dr1EPJgR.js → src-DQEWf3tk.js} +1 -1
  45. package/dist/assets/src-D_zsiKPr.js +1 -0
  46. package/dist/assets/src-DdRHCjFX.js +1 -0
  47. package/dist/assets/src-DfExcdwX.js +1 -0
  48. package/dist/assets/{src-CcrtnEIQ.js → src-DkjooOXs.js} +1 -1
  49. package/dist/assets/src-JijGLvg4.js +1 -0
  50. package/dist/assets/{src-CMbUQsqp.js → src-P-7khzwl.js} +1 -1
  51. package/dist/assets/{src-BlTOHYZL.js → src-R3C69mft.js} +1 -1
  52. package/dist/assets/src-m6T7MzTC.js +4 -0
  53. package/dist/assets/src-o6G2rx51.js +1 -0
  54. package/dist/assets/src-wGc7N6NH.js +1 -0
  55. package/dist/assets/ui-DoEY93ZQ.js +2 -0
  56. package/dist/assets/{ui-Bl4kUgYS.js → ui-QxKP_mxS.js} +1 -1
  57. package/dist/assets/{ui-DnlLcAtd.js → ui-Vp773Nr2.js} +2 -2
  58. package/dist/assets/{upload-eoIHAc6j.js → upload-C8XxQG6m.js} +1 -1
  59. package/dist/assets/use-media-query-D1fYNz6w.js +1 -0
  60. package/dist/assets/{version-BgluE_nc.js → version-DHVNWcte.js} +1 -1
  61. package/dist/assets/{x-BFRg18Fi.js → x-CzSVfh-E.js} +1 -1
  62. package/dist/index.html +25 -24
  63. package/dist-vendor/web-sdk.js +461 -411
  64. package/package.json +2 -2
  65. package/dist/assets/ChatWidget-D_mykvfd.js +0 -16
  66. package/dist/assets/DiagnosticsPage-CLhgz-6M.js +0 -1
  67. package/dist/assets/ExtendReasonInfo-DvfVQWJR.js +0 -1
  68. package/dist/assets/Icon-wZ-Cwtc3.js +0 -2
  69. package/dist/assets/SettingsForm-Dwry8Oe1.js +0 -1
  70. package/dist/assets/ThemeSwitcher-BoIYJENA.js +0 -1
  71. package/dist/assets/button-DsalTwxl.js +0 -1
  72. package/dist/assets/combobox-Bo_yQsV-.js +0 -1
  73. package/dist/assets/dialog-DqWXrq6M.js +0 -1
  74. package/dist/assets/fields-fE_vzhqS.js +0 -64
  75. package/dist/assets/index-C5KupH3J.css +0 -2
  76. package/dist/assets/index-wCQxsLAS.js +0 -59
  77. package/dist/assets/input-group-DnBGkT_z.js +0 -1
  78. package/dist/assets/shared-C2_-YViH.js +0 -1
  79. package/dist/assets/shelf-BU6Jrxdn.js +0 -1
  80. package/dist/assets/src-0vuf5cD2.js +0 -1
  81. package/dist/assets/src-97trQW1e.js +0 -1
  82. package/dist/assets/src-B5J6a7xU.js +0 -7
  83. package/dist/assets/src-BG7tifqi.js +0 -2
  84. package/dist/assets/src-BscxyzWm.js +0 -1
  85. package/dist/assets/src-C8SGMFDC.js +0 -1
  86. package/dist/assets/src-C9oB3ukn.js +0 -1
  87. package/dist/assets/src-CK9rs1Ky.js +0 -1
  88. package/dist/assets/src-CNbzboJN.js +0 -1
  89. package/dist/assets/src-CREOT_7V.js +0 -1
  90. package/dist/assets/src-CTajJz2B.js +0 -1
  91. package/dist/assets/src-ClmEI4bL.js +0 -4
  92. package/dist/assets/src-CpLYaHc_.js +0 -1
  93. package/dist/assets/src-DPq_gXsF.js +0 -4
  94. package/dist/assets/src-XWTmD-Mn.js +0 -1
  95. package/dist/assets/src-ethXcfjn.js +0 -1
  96. package/dist/assets/src-gM-6BSUd.js +0 -1
  97. package/dist/assets/ui-QD_F7vze.js +0 -2
  98. package/dist/assets/use-media-query-BED2JoBm.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{t as r}from"./react-vendor-BskHO5hY.js";import{i,n as a,r as o,t as s}from"./x-CzSVfh-E.js";import{n as c,r as l,t as u}from"./input-group-Cp9n2MAA.js";import{$ as d,G as f,H as p,J as m,K as ee,Q as h,U as g,V as _,W as v,X as y,Y as b,Z as x,et as S,q as C}from"./ui-vendor-EU9CHLyR.js";import{t as w}from"./chevron-down-DgMjlPLK.js";import{n as te,r as T,t as ne}from"./upload-C8XxQG6m.js";import{n as E}from"./square-DuQOQJGU.js";import{t as D}from"./button-DaYjtbcx.js";import{t as O}from"./json-CkyL3W27.js";var k=o(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),A=e(t(),1),j=r(),M=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select.tsx`,N=_,P=d,F=A.forwardRef(({className:e,children:t,...n},r)=>(0,j.jsxDEV)(h,{ref:r,className:i(`flex h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background px-3 py-1 text-sm text-foreground transition-colors`,`data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,j.jsxDEV)(g,{asChild:!0,children:(0,j.jsxDEV)(w,{className:`h-4 w-4 opacity-60`},void 0,!1,{fileName:M,lineNumber:26,columnNumber:7},void 0)},void 0,!1,{fileName:M,lineNumber:25,columnNumber:5},void 0)]},void 0,!0,{fileName:M,lineNumber:14,columnNumber:3},void 0));F.displayName=h.displayName;var I=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(y,{ref:n,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,j.jsxDEV)(k,{className:`h-4 w-4`},void 0,!1,{fileName:M,lineNumber:41,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:36,columnNumber:3},void 0));I.displayName=y.displayName;var L=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(b,{ref:n,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,j.jsxDEV)(w,{className:`h-4 w-4`},void 0,!1,{fileName:M,lineNumber:55,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:50,columnNumber:3},void 0));L.displayName=b.displayName;var R=A.forwardRef(({className:e,children:t,position:n=`popper`,...r},a)=>(0,j.jsxDEV)(m,{children:(0,j.jsxDEV)(p,{ref:a,className:i(`relative z-50 max-h-96 min-w-32 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,j.jsxDEV)(I,{},void 0,!1,{fileName:M,lineNumber:76,columnNumber:7},void 0),(0,j.jsxDEV)(S,{className:i(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t},void 0,!1,{fileName:M,lineNumber:77,columnNumber:7},void 0),(0,j.jsxDEV)(L,{},void 0,!1,{fileName:M,lineNumber:86,columnNumber:7},void 0)]},void 0,!0,{fileName:M,lineNumber:65,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:64,columnNumber:3},void 0));R.displayName=p.displayName;var re=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(C,{ref:n,className:i(`px-2 py-1.5 text-xs font-semibold text-muted-foreground`,e),...t},void 0,!1,{fileName:M,lineNumber:96,columnNumber:3},void 0));re.displayName=C.displayName;var z=A.forwardRef(({className:e,children:t,...n},r)=>(0,j.jsxDEV)(v,{ref:r,className:i(`relative flex w-full cursor-pointer select-none items-center rounded-md py-1.5 pl-8 pr-2 text-sm outline-none`,`focus:bg-elevated focus:text-text data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,j.jsxDEV)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,j.jsxDEV)(f,{children:(0,j.jsxDEV)(a,{className:`h-4 w-4 text-accent`},void 0,!1,{fileName:M,lineNumber:119,columnNumber:9},void 0)},void 0,!1,{fileName:M,lineNumber:118,columnNumber:7},void 0)},void 0,!1,{fileName:M,lineNumber:117,columnNumber:5},void 0),(0,j.jsxDEV)(ee,{children:t},void 0,!1,{fileName:M,lineNumber:122,columnNumber:5},void 0)]},void 0,!0,{fileName:M,lineNumber:108,columnNumber:3},void 0));z.displayName=v.displayName;var B=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(x,{ref:n,className:i(`-mx-1 my-1 h-px bg-border`,e),...t},void 0,!1,{fileName:M,lineNumber:131,columnNumber:3},void 0));B.displayName=x.displayName;var V=`inline-flex items-center gap-1.5 bg-surface text-text border border-border rounded-full px-2.5 py-0.5 text-sm`,H=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/multiple-chips.tsx`,U=()=>(0,j.jsxDEV)(`span`,{className:`text-sm text-muted/50 select-none`,children:`—`},void 0,!1,{fileName:H,lineNumber:12,columnNumber:27},void 0);function W({onClick:e,className:t}){return(0,j.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":`remove`,className:`inline-flex shrink-0 items-center text-muted transition-colors hover:text-danger ${t??``}`,children:(0,j.jsxDEV)(s,{size:13},void 0,!1,{fileName:H,lineNumber:23,columnNumber:7},this)},void 0,!1,{fileName:H,lineNumber:17,columnNumber:5},this)}function G({children:e,className:t,style:n,onRemove:r}){return(0,j.jsxDEV)(`span`,{className:`${V} ${t??``}`,style:n,children:[e,r?(0,j.jsxDEV)(W,{onClick:r},void 0,!1,{fileName:H,lineNumber:44,columnNumber:9},this):(0,j.jsxDEV)(`span`,{"aria-hidden":!0,className:`invisible inline-flex shrink-0 items-center`,children:(0,j.jsxDEV)(s,{size:13},void 0,!1,{fileName:H,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:H,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:H,lineNumber:41,columnNumber:5},this)}function K({children:e}){return(0,j.jsxDEV)(`div`,{className:`flex flex-wrap gap-1.5`,children:e},void 0,!1,{fileName:H,lineNumber:58,columnNumber:10},this)}function q({items:e,content:t,chipClassName:n,chipStyle:r,onRemove:i,editor:a,reserveEditor:o,emptyDash:s=!0}){return!e.length&&!a?s?(0,j.jsxDEV)(U,{},void 0,!1,{fileName:H,lineNumber:85,columnNumber:52},this):null:(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-2 ${a?`px-2`:``}`,children:[e.length>0&&(0,j.jsxDEV)(K,{children:e.map((e,a)=>(0,j.jsxDEV)(G,{className:n?.(e,a),style:r?.(e,a),onRemove:i?()=>i(a):void 0,children:t(e,a)},a,!1,{fileName:H,lineNumber:91,columnNumber:13},this))},void 0,!1,{fileName:H,lineNumber:89,columnNumber:9},this),a,!a&&o&&e.length>0&&(0,j.jsxDEV)(`div`,{"aria-hidden":!0,className:`invisible h-9`},void 0,!1,{fileName:H,lineNumber:103,columnNumber:56},this)]},void 0,!0,{fileName:H,lineNumber:87,columnNumber:5},this)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/shared.tsx`,Y=e=>Array.isArray(e)?e:O(e,[]);function ie({onClick:e,children:t,className:n}){return(0,j.jsxDEV)(D,{type:`button`,variant:`outline`,size:`sm`,onClick:e,className:`self-start border-accent/30 text-accent hover:border-accent/60 hover:text-accent2 ${n??``}`,children:[(0,j.jsxDEV)(E,{size:13},void 0,!1,{fileName:J,lineNumber:65,columnNumber:7},this),` `,t]},void 0,!0,{fileName:J,lineNumber:58,columnNumber:5},this)}function ae({accept:e,busy:t,error:r,progress:i,onPick:a,onRetry:o,canRetry:s,compact:c}){let{t:l}=n();return(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsxDEV)(`label`,{className:`inline-flex w-fit cursor-pointer items-center gap-1.5 rounded-lg border border-accent/30 text-xs font-medium text-accent hover:border-accent/60 ${c?`px-2.5 py-1`:`px-3 py-2`} ${t?`pointer-events-none opacity-60`:``}`,children:[t?(0,j.jsxDEV)(T,{size:13,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:101,columnNumber:17},this):(0,j.jsxDEV)(ne,{size:13},void 0,!1,{fileName:J,lineNumber:101,columnNumber:66},this),` `,l(`actions.upload`),(0,j.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>a(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:102,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:96,columnNumber:7},this),t&&i!=null&&(0,j.jsxDEV)(Z,{progress:i},void 0,!1,{fileName:J,lineNumber:110,columnNumber:36},this),r&&(0,j.jsxDEV)(X,{error:r,onRetry:o,canRetry:s},void 0,!1,{fileName:J,lineNumber:111,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:95,columnNumber:5},this)}function X({error:e,onRetry:t,canRetry:r}){let{t:i}=n();return(0,j.jsxDEV)(`div`,{className:`flex items-center gap-2 text-xs text-danger`,children:[(0,j.jsxDEV)(`span`,{className:`min-w-0 flex-1`,children:i(e)},void 0,!1,{fileName:J,lineNumber:121,columnNumber:7},this),r&&t&&(0,j.jsxDEV)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 font-medium text-accent hover:bg-elevated`,onClick:t,children:[(0,j.jsxDEV)(te,{size:12},void 0,!1,{fileName:J,lineNumber:128,columnNumber:11},this),` `,i(`actions.retry`)]},void 0,!0,{fileName:J,lineNumber:123,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:120,columnNumber:5},this)}function Z({progress:e,label:t=`upload.progress`}){let{t:r}=n();return(0,j.jsxDEV)(`div`,{role:`progressbar`,"aria-label":r(t),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e,className:`h-1.5 w-full overflow-hidden rounded-full bg-border`,children:(0,j.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${Math.max(0,Math.min(100,e))}%`}},void 0,!1,{fileName:J,lineNumber:146,columnNumber:7},this)},void 0,!1,{fileName:J,lineNumber:138,columnNumber:5},this)}function oe(e,t){return e.map(e=>({value:e.value,title:t(e.title),subtitle:e.subtitle,icon:e.icon}))}function Q(e){return e>=0&&e<20?String.fromCodePoint(9312+e):String(e+1)}function se(e,t){let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n={}}let r=n&&typeof n==`object`?n:{};if(Array.isArray(r.checks)){let e=r.checks;return{text:String(r.text??``),checks:Array.from({length:t},(t,n)=>e[n]===!0)}}return{text:String(r.text??``),checks:Array.from({length:t},(e,t)=>r[`check${t}`]===!0)}}function ce(e){let t={text:e.text};return e.checks.forEach((e,n)=>{t[`check${n}`]=e}),t}function le({slots:e}){let{t}=n();if(e.length<=1||!e.some(e=>e))return null;let r=e.length>3;return(0,j.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs text-muted`,children:e.map((e,n)=>(0,j.jsxDEV)(A.Fragment,{children:[n>0&&(0,j.jsxDEV)(`span`,{className:`opacity-40`,children:`•`},void 0,!1,{fileName:J,lineNumber:247,columnNumber:21},this),(0,j.jsxDEV)(`span`,{children:[r?`${Q(n)} `:``,e?t(e):`—`]},void 0,!0,{fileName:J,lineNumber:248,columnNumber:11},this)]},n,!0,{fileName:J,lineNumber:246,columnNumber:9},this))},void 0,!1,{fileName:J,lineNumber:244,columnNumber:5},this)}var ue=e=>e>3;function de({value:e,onChange:t,renderInput:n,validate:r,serialize:i,display:a}){let[o,s]=(0,A.useState)(()=>Y(e)),[d,f]=(0,A.useState)(``);(0,A.useEffect)(()=>{s(Y(e))},[e]);function p(e){s(e),t(e.length>0?e:``)}function m(){let e=d.trim();if(!e||r&&!r(e))return;let t=i?i(e):e;t===null||o.includes(t)||(p([...o,t]),f(``))}return(0,j.jsxDEV)(q,{items:o,content:e=>a?a(String(e)):String(e),onRemove:e=>p(o.filter((t,n)=>n!==e)),editor:(0,j.jsxDEV)(u,{className:`[&>input]:h-auto [&>input]:rounded-none [&>input]:border-0 [&>input]:bg-transparent [&>input]:shadow-none [&>input]:focus-visible:ring-0 focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50`,children:[n(d,f,m),(0,j.jsxDEV)(c,{align:`inline-end`,children:(0,j.jsxDEV)(l,{size:`icon-xs`,"aria-label":`add`,onClick:m,children:(0,j.jsxDEV)(E,{},void 0,!1,{fileName:J,lineNumber:318,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:317,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:316,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:314,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:309,columnNumber:5},this)}function $(e){return e!=null&&e!==``}function fe(e,t,n,r){return t.includes(n)?e.filter((e,t)=>t!==r).map(e=>String(e[n]??``)).filter(Boolean):[]}function pe(e){return e.slice(0,8)+`…`}var me=e=>e.length>60?e.slice(0,57)+`…`:e;function he(e,t,n){return e.hints.multiple===!0?(0,j.jsxDEV)(q,{items:O(t,[]),content:n,reserveEditor:!0},void 0,!1,{fileName:J,lineNumber:358,columnNumber:12},this):$(t)?(0,j.jsxDEV)(j.Fragment,{children:n(t)},void 0,!1,{fileName:J,lineNumber:359,columnNumber:28},this):(0,j.jsxDEV)(U,{},void 0,!1,{fileName:J,lineNumber:359,columnNumber:52},this)}function ge(e,t,n=e=>!$(e)){return n(e)?(0,j.jsxDEV)(U,{},void 0,!1,{fileName:J,lineNumber:368,columnNumber:27},this):(0,j.jsxDEV)(j.Fragment,{children:t(e)},void 0,!1,{fileName:J,lineNumber:368,columnNumber:38},this)}function _e(e){return Object.keys(e).find(t=>e[t]?.kind===`cover`)}export{N as C,P as D,F as E,k as O,W as S,z as T,oe as _,X as a,U as b,ce as c,_e as d,$ as f,pe as g,Y as h,ae as i,Q as l,ge as m,le as n,Z as o,he as p,de as r,ue as s,ie as t,se as u,me as v,R as w,q as x,fe as y};
@@ -0,0 +1 @@
1
+ import{E as e,F as t,L as n,M as r,R as i,c as a,d as o,f as s,u as c}from"./fields-BvFhu2Zp.js";var l=/^[a-z][a-z0-9+.-]*:\/\//i;function u(e){let t=e.trim();if(!t)return null;let n=l.test(t),r;try{r=new URL(n?t:`http://${t}`)}catch{return{host:t}}let i={};return n&&(i.scheme=r.protocol.replace(/:$/,``)),r.username&&(i.username=r.username),r.password&&(i.password=r.password),r.hostname&&(i.host=r.hostname),r.port&&(i.port=Number(r.port)),r.pathname&&r.pathname!==`/`&&(i.path=r.pathname),r.search&&(i.query=r.search.slice(1)),r.hash&&(i.hash=r.hash.slice(1)),i}function d(e){return e?`${e.scheme?`${e.scheme}://`:``}${e.username?`${e.username}${e.password?`:${e.password}`:``}@`:``}${e.host??``}${e.port==null?``:`:${e.port}`}${e.path??``}${e.query?`?${e.query}`:``}${e.hash?`#${e.hash}`:``}`:``}function f(e){return!e||!d(e)?``:e.scheme?d(e):`https://${d(e)}`}var p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};function m(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);p(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(e){var t=`[object `+e+`]`;return function(e){return ee(e)===t}},ee=function(e){return Object.prototype.toString.call(e)},g=function(e){return e instanceof Date?e.getTime():_(e)?e.map(g):e&&typeof e.toJSON==`function`?e.toJSON():e},te=function(e){return e??null},_=h(`Array`),ne=h(`Object`),v=h(`Function`),re=function(e,t){return e.hasOwnProperty(t)&&!v(e[t])},ie=function(e){return e&&(e.constructor===Object||e.constructor===Array||e.constructor.toString()===`function Object() { [native code] }`||e.constructor.toString()===`function Array() { [native code] }`)&&!e.toJSON},y=function(e,t){if(e==null&&e==t||e===t)return!0;if(Object.prototype.toString.call(e)!==Object.prototype.toString.call(t))return!1;if(_(e)){if(e.length!==t.length)return!1;for(var n=0,r=e.length;n<r;n++)if(!y(e[n],t[n]))return!1;return!0}else if(ne(e)){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var i in e)if(!y(e[i],t[i]))return!1;return!0}return!1},b=function(e,t,n,r,i,a){var o=t[r];if(_(e)&&isNaN(Number(o))&&!re(e,o)){for(var s=0,c=e.length;s<c;s++)if(!b(e[s],t,n,r,s,e))return!1}return r===t.length||e==null?n(e,i,a,r===0,r===t.length):b(e[o],t,n,r+1,o,e)},x=function(){function e(e,t,n,r){this.params=e,this.owneryQuery=t,this.options=n,this.name=r,this.init()}return e.prototype.init=function(){},e.prototype.reset=function(){this.done=!1,this.keep=!1},e}(),S=function(e){m(t,e);function t(t,n,r,i){var a=e.call(this,t,n,r)||this;return a.children=i,a}return t.prototype.reset=function(){this.keep=!1,this.done=!1;for(var e=0,t=this.children.length;e<t;e++)this.children[e].reset()},t.prototype.childrenNext=function(e,t,n,r,i){for(var a=!0,o=!0,s=0,c=this.children.length;s<c;s++){var l=this.children[s];if(l.done||l.next(e,t,n,r,i),l.keep||(o=!1),l.done){if(!l.keep)break}else a=!1}this.done=a,this.keep=o},t}(x),C=function(e){m(t,e);function t(t,n,r,i,a){var o=e.call(this,t,n,r,i)||this;return o.name=a,o}return t}(S),ae=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.next=function(e,t,n,r){this.childrenNext(e,t,n,r)},t}(S),w=function(e){m(t,e);function t(t,n,r,i,a){var o=e.call(this,n,r,i,a)||this;return o.keyPath=t,o.propop=!0,o._nextNestedValue=function(e,t,n,r,i){return o.childrenNext(e,t,n,r,i),!o.done},o}return t.prototype.next=function(e,t,n){b(e,this.keyPath,this._nextNestedValue,0,t,n)},t}(S),T=function(e,t){if(e instanceof Function)return e;if(e instanceof RegExp)return function(t){var n=typeof t==`string`&&e.test(t);return e.lastIndex=0,n};var n=g(e);return function(e){return t(n,g(e))}},E=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.init=function(){this._test=T(this.params,this.options.compare)},t.prototype.next=function(e,t,n){(!Array.isArray(n)||n.hasOwnProperty(t))&&this._test(e,t,n)&&(this.done=!0,this.keep=!0)},t}(x),oe=function(e){return function(t,n,r,i){return e(t,n,r,i)}},D=function(e){return oe(function(t,n,r,i){var a=typeof g(t),o=e(t);return new E(function(e){var t=te(e);return typeof g(t)===a&&o(t)},n,r,i)})},se=function(e,t,n,r){var i=r.operations[e];return i||O(e),i(t,n,r,e)},O=function(e){throw Error(`Unsupported operation: ${e}`)},k=function(e,t){for(var n in e)if(t.operations.hasOwnProperty(n)||n.charAt(0)===`$`)return!0;return!1},ce=function(e,t,n,r,i){if(k(t,i)){var a=j(t,n,i),o=a[0];if(a[1].length)throw Error(`Property queries must contain only operations, or exact objects.`);return new w(e,t,r,i,o)}return new w(e,t,r,i,[new E(t,r,i)])},A=function(e,t,n){t===void 0&&(t=null);var r=n===void 0?{}:n,i=r.compare,a=r.operations,o={compare:i||y,operations:Object.assign({},a||{})},s=j(e,null,o),c=s[0],l=s[1],u=[];return c.length&&u.push(new w([],e,t,o,c)),u.push.apply(u,l),u.length===1?u[0]:new ae(e,t,o,u)},j=function(e,t,n){var r=[],i=[];if(!ie(e))return r.push(new E(e,e,n)),[r,i];for(var a in e)if(n.operations.hasOwnProperty(a)){var o=se(a,e[a],e,n);if(o&&!o.propop&&t&&!n.operations[t])throw Error(`Malformed query. ${a} cannot be matched against property.`);o!=null&&r.push(o)}else a.charAt(0)===`$`?O(a):i.push(ce(a.split(`.`),e[a],a,e,n));return[r,i]},le=function(e){return function(t,n,r){return e.reset(),e.next(t,n,r),e.keep}},ue=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.init=function(){this._test=T(this.params,this.options.compare)},t.prototype.reset=function(){e.prototype.reset.call(this),this.keep=!0},t.prototype.next=function(e){this._test(e)&&(this.done=!0,this.keep=!1)},t}(x),de=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.init=function(){if(!this.params||typeof this.params!=`object`)throw Error(`Malformed query. $elemMatch must by an object.`);this._queryOperation=A(this.params,this.owneryQuery,this.options)},t.prototype.reset=function(){e.prototype.reset.call(this),this._queryOperation.reset()},t.prototype.next=function(e){if(_(e)){for(var t=0,n=e.length;t<n;t++){this._queryOperation.reset();var r=e[t];this._queryOperation.next(r,t,e,!1),this.keep=this.keep||this._queryOperation.keep}this.done=!0}else this.done=!1,this.keep=!1},t}(x),fe=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.init=function(){this._queryOperation=A(this.params,this.owneryQuery,this.options)},t.prototype.reset=function(){e.prototype.reset.call(this),this._queryOperation.reset()},t.prototype.next=function(e,t,n,r){this._queryOperation.next(e,t,n,r),this.done=this._queryOperation.done,this.keep=!this._queryOperation.keep},t}(x),M=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.init=function(){},t.prototype.next=function(e){_(e)&&e.length===this.params&&(this.done=!0,this.keep=!0)},t}(x),N=function(e){if(e.length===0)throw Error(`$and/$or/$nor must be a nonempty array`)},P=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!1,t}return t.prototype.init=function(){var e=this;N(this.params),this._ops=this.params.map(function(t){return A(t,null,e.options)})},t.prototype.reset=function(){this.done=!1,this.keep=!1;for(var e=0,t=this._ops.length;e<t;e++)this._ops[e].reset()},t.prototype.next=function(e,t,n){for(var r=!1,i=!1,a=0,o=this._ops.length;a<o;a++){var s=this._ops[a];if(s.next(e,t,n),s.keep){r=!0,i=s.keep;break}}this.keep=i,this.done=r},t}(x),pe=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!1,t}return t.prototype.next=function(t,n,r){e.prototype.next.call(this,t,n,r),this.keep=!this.keep},t}(P),F=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.init=function(){var e=this,t=Array.isArray(this.params)?this.params:[this.params];this._testers=t.map(function(t){if(k(t,e.options))throw Error(`cannot nest \$ under ${e.name.toLowerCase()}`);return T(t,e.options.compare)})},t.prototype.next=function(e,t,n){for(var r=!1,i=!1,a=0,o=this._testers.length;a<o;a++){var s=this._testers[a];if(s(e)){r=!0,i=!0;break}}this.keep=i,this.done=r},t}(x),me=function(e){m(t,e);function t(t,n,r,i){var a=e.call(this,t,n,r,i)||this;return a.propop=!0,a._in=new F(t,n,r,i),a}return t.prototype.next=function(e,t,n,r){this._in.next(e,t,n),_(n)&&!r?this._in.keep?(this.keep=!1,this.done=!0):t==n.length-1&&(this.keep=!0,this.done=!0):(this.keep=!this._in.keep,this.done=!0)},t.prototype.reset=function(){e.prototype.reset.call(this),this._in.reset()},t}(x),he=function(e){m(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.propop=!0,t}return t.prototype.next=function(e,t,n,r,i){i?n.hasOwnProperty(t)===this.params&&(this.done=!0,this.keep=!0):(this.done=!0,this.keep=!this.params)},t}(x),ge=function(e){m(t,e);function t(t,n,r,i){var a=e.call(this,t,n,r,t.map(function(e){return A(e,n,r)}),i)||this;return a.propop=!1,N(t),a}return t.prototype.next=function(e,t,n,r){this.childrenNext(e,t,n,r)},t}(C),_e=function(e){m(t,e);function t(t,n,r,i){var a=e.call(this,t,n,r,t.map(function(e){return A(e,n,r)}),i)||this;return a.propop=!0,a}return t.prototype.next=function(e,t,n,r){this.childrenNext(e,t,n,r)},t}(C),ve=function(e,t,n){return new E(e,t,n)},ye=function(e,t,n,r){return new ue(e,t,n,r)},be=function(e,t,n,r){return new P(e,t,n,r)},xe=function(e,t,n,r){return new pe(e,t,n,r)},Se=function(e,t,n,r){return new de(e,t,n,r)},Ce=function(e,t,n,r){return new me(e,t,n,r)},we=function(e,t,n,r){return new F(e,t,n,r)},Te=D(function(e){return function(t){return t!=null&&t<e}}),Ee=D(function(e){return function(t){return t===e||t<=e}}),De=D(function(e){return function(t){return t!=null&&t>e}}),Oe=D(function(e){return function(t){return t===e||t>=e}}),ke=function(e,t,n){var r=e[0],i=e[1];return new E(function(e){return g(e)%r===i},t,n)},Ae=function(e,t,n,r){return new he(e,t,n,r)},je=function(e,t,n){return new E(new RegExp(e,t.$options),t,n)},Me=function(e,t,n,r){return new fe(e,t,n,r)},I={number:function(e){return typeof e==`number`},string:function(e){return typeof e==`string`},bool:function(e){return typeof e==`boolean`},array:function(e){return Array.isArray(e)},null:function(e){return e===null},timestamp:function(e){return e instanceof Date}},Ne=Object.freeze({__proto__:null,$Size:M,$all:function(e,t,n,r){return new _e(e,t,n,r)},$and:function(e,t,n,r){return new ge(e,t,n,r)},$elemMatch:Se,$eq:ve,$exists:Ae,$gt:De,$gte:Oe,$in:we,$lt:Te,$lte:Ee,$mod:ke,$ne:ye,$nin:Ce,$nor:xe,$not:Me,$options:function(){return null},$or:be,$regex:je,$size:function(e,t,n){return new M(e,t,n,`$size`)},$type:function(e,t,n){return new E(function(t){if(typeof e==`string`){if(!I[e])throw Error(`Type alias does not exist`);return I[e](t)}return t==null?!1:t instanceof e||t.constructor===e},t,n)},$where:function(e,t,n){var r;if(v(e))r=e;else if(!{}.CSP_ENABLED)r=Function(`obj`,`return `+e);else throw Error(`In CSP mode, sift does not support strings in "$where" condition`);return new E(function(e){return r.bind(e)(e)},t,n)}}),Pe=function(e,t,n){var r=n===void 0?{}:n,i=r.compare,a=r.operations;return A(e,t,{compare:i,operations:Object.assign({},Ne,a||{})})},L=function(e,t){return t===void 0&&(t={}),le(Pe(e,null,t))},Fe=L.createEqualsOperation,Ie=e=>typeof e==`string`||typeof e==`number`||typeof e==`boolean`,Le=(e,t)=>String(e)===String(t),Re={$contains(e,t,n){return Fe(t=>Array.isArray(t)&&t.some(t=>Le(t,e)),t,n)}};function R(e,t){if(!e)return!0;try{return L(e,{operations:Re})(t)}catch{return!1}}function z(e,t){return typeof e==`boolean`?e:e?R(e,t):!1}function ze(e,t,n){if(Ie(t))return[`${e} = ${n(t)}`];let r=[];for(let[i,a]of Object.entries(t))if(a!==void 0)switch(i){case`$eq`:r.push(`${e} = ${n(a)}`);break;case`$ne`:r.push(`${e} ≠ ${n(a)}`);break;case`$gt`:r.push(`${e} > ${String(a)}`);break;case`$lt`:r.push(`${e} < ${String(a)}`);break;case`$gte`:r.push(`${e} ≥ ${String(a)}`);break;case`$lte`:r.push(`${e} ≤ ${String(a)}`);break;case`$in`:r.push(`${e} ∈ {${a.map(n).join(`, `)}}`);break;case`$nin`:r.push(`${e} ∉ {${a.map(n).join(`, `)}}`);break;case`$contains`:r.push(`${e} contains ${n(a)}`);break;default:break}return r}function B(e,t,n){if(!e)return[];let r=[];for(let[i,a]of Object.entries(e))if(a!==void 0){if(i===`$and`){for(let e of a)r.push(...B(e,t,n));continue}if(i===`$or`){let e=a.map(e=>B(e,t,n)).filter(e=>e.length>0).map(e=>e.length>1?`(${e.join(` and `)})`:e[0]);e.length&&r.push(e.join(` or `));continue}r.push(...ze(t(i),a,e=>n?n(i,e):String(e)))}return r}function V(e){let t=[];for(let n of e)if(o(n)){let e=n.type.derive;e&&t.push([n.key,e])}else s(n)&&!n.key&&t.push(...V(n.fields));return t}function H(e){let t=new Set;for(let n of e)if(o(n))t.add(n.key);else if(s(n)&&(n.key&&t.add(n.key),!n.key))for(let e of H(n.fields))t.add(e);return t}function U(e){let t=[];for(let n of e)if(o(n))t.push([n.key,n.type]);else if(s(n)){if(a(n))continue;let e=n.key?`${n.key}__`:``;for(let[r,i]of U(n.fields))t.push([e+r,i])}return t}function Be(e,t,n){if(!e.columns||n[t]!==void 0)return n[t];let r={},i=!1;for(let a of Object.keys(e.columns)){let e=n[`${t}__${a}`];e==null||e===``||(r[a]=e,i=!0)}return i?r:void 0}var W=new WeakMap;function G(e){let t=W.get(e);return t||(t=Object.fromEntries(U(e)),W.set(e,t)),t}function Ve(e){let t=U(e.fields).map(([e])=>e),n=t.find((e,n)=>t.indexOf(e)!==n);if(n)throw Error(`[shelf] ${e.library}/${e.shelf}: duplicate key '${n}'`);if(e.single&&!e.claude)throw Error(`[shelf] ${e.library}/${e.shelf}: single shelf requires \`claude\` — the agent cannot find it otherwise`);if(e.views?.list!==void 0&&!Array.isArray(e.views.list))throw Error(`[shelf] ${e.library}/${e.shelf}: views.list is a flat array of field keys — the { kind, fields } form is gone; use views.list: [...] plus views.listKind`);if(e.standalone!==!1&&!e.single&&!e.views?.list?.length&&console.warn(`[shelf] ${e.library}/${e.shelf}: standalone shelf without an explicit views.list`),e.views?.title&&!K(e.fields).some(([t])=>t===e.views.title))throw Error(`[shelf] ${e.library}/${e.shelf}: views.title '${e.views.title}' is not a field`);e.views?.list?.includes(q(e))&&console.warn(`[shelf] ${e.library}/${e.shelf}: views.list repeats the title '${q(e)}' — the title is declared separately`);let r=K(e.fields).filter(([,e])=>e.kind===`title`);r.length>1&&console.warn(`[shelf] ${e.library}/${e.shelf}: ${r.length} title fields (${r.map(([e])=>e).join(`, `)}) — '${r[0][0]}' wins`),e.standalone!==!1&&!e.single&&q(e)===`id`&&console.warn(`[shelf] ${e.library}/${e.shelf}: no title declared (field.title() or views.title) — the record renders no heading`);let i=H(e.fields);for(let[t,n]of V(e.fields))for(let r of n.deps)if(!i.has(r))throw Error(`[defineShelf] ${e.library}/${e.shelf}: derive on '${t}' depends on unknown key '${r}'`);return e}function K(e){let t=[];for(let n of e)o(n)?t.push([n.key,n.type]):s(n)&&!a(n)&&!c(n)&&t.push(...K(n.fields));return t}function q(e){if(e.views?.title)return e.views.title;let t=K(e.fields).find(([,e])=>e.kind===`title`);return t?t[0]:`id`}function J(e,t){return String(t[q(e)]??t.id??``)}function Y(e,t){let n=G(e.fields);return t.filter(e=>n[e]&&!n[e].virtual)}var He=new Set([`image`,`media`,`avatar`,`cover`]),X=e=>He.has(e);function Z(e){let t=e.views?.inline?.length?Y(e,e.views.inline):[];return t.length?t:[q(e)]}function Ue(e){let t=G(e.fields);return Z(e).find(e=>t[e]&&X(t[e].kind))}function We(e,t){let n=G(e.fields);return Z(e).reduce((e,r)=>{if(!n[r]||!X(n[r].kind)){let n=t[r];n!=null&&n!==``&&e.push(String(n))}return e},[]).join(` `).trim()||J(e,t)}function Ge(e){let t=q(e);return[t,...e.views?.list?.length?Y(e,e.views.list.filter(e=>e!==t)):[]]}function Ke(e){return e.views?.listKind??`table`}var qe=new Set([`select`,`checkbox`,`relation`]);function Q(e){return e.views?.groupBy?.length?Y(e,e.views.groupBy):U(e.fields).filter(([,e])=>!e.virtual&&qe.has(e.prim)).map(([e])=>e)}function Je(e){let t=e.views?.defaultGroupBy;if(t){let n=G(e.fields);if(n[t]&&!n[t].virtual)return t}return Q(e)[0]}function $(l,d){let f={};for(let p of l)if(o(p)){if(p.type.virtual)continue;if(p.type.derive){f[p.key]=t({error:()=>e(`derived`)}).optional();continue}f[p.key]=d?p.type.zod.optional():p.type.zod}else if(s(p))if(a(p)){let e=r(n($(p.fields,d)).passthrough());f[p.key]=d?e.optional():p.required?e:e.optional()}else if(c(p)){let e=n($(p.fields,d)).passthrough();p.kind===`url`&&(e=i(e=>typeof e==`string`?u(e)??{}:e,e)),f[p.key]=d?e.optional():p.required?e:e.optional()}else Object.assign(f,$(p.fields,d));return f}var Ye=e=>e==null||e===``||Array.isArray(e)&&e.length===0;function Xe(e,t,n){return e.superRefine((e,r)=>{for(let[i,a]of U(t.fields))a.virtual||i.includes(`__`)||n&&!(i in e)||a.required!==!0&&z(a.required,e)&&Ye(e[i])&&r.addIssue({code:`custom`,path:[i],message:JSON.stringify({code:`required`})})})}function Ze(e){return Xe(n($(e.fields,!1)),e,!1)}function Qe(e){return Xe(n($(e.fields,!0)),e,!0)}export{R as _,Ve as a,f as b,Q as c,X as d,Ke as f,B as g,Ge as h,Je as i,Ue as l,q as m,Qe as n,U as o,J as p,Be as r,G as s,Ze as t,We as u,z as v,u as x,d as y};
@@ -1 +1 @@
1
- import{n as e}from"./x-BFRg18Fi.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),n=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t as n,n as t};
1
+ import{r as e}from"./x-CzSVfh-E.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),n=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`trip`,library:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{list:[`destination`,`date_from`,`date_to`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.text({key:`description`,label:`travel.trip.fields.description`,rules:{max:2e3}}),e.string({key:`destination`,label:`travel.trip.fields.destination`,rules:{max:200}}),e.date({key:`date_from`,label:`travel.trip.fields.date_from`}),e.date({key:`date_to`,label:`travel.trip.fields.date_to`}),e.select({key:`status`,label:`travel.trip.fields.status`,options:[{value:`planned`,title:`travel.trip.options.status.planned`},{value:`active`,title:`travel.trip.options.status.active`},{value:`completed`,title:`travel.trip.options.status.completed`},{value:`cancelled`,title:`travel.trip.options.status.cancelled`}]}),e.relation({key:`participants`,label:`travel.trip.fields.participants`,options:{library:`people`,shelf:`person`},multiple:!0}),e.money({key:`budget`,label:`travel.trip.fields.budget`,rules:{defaultCurrency:`UAH`}}),e.image({key:`photos`,label:`travel.trip.fields.photos`,multiple:!0}),e.text({key:`notes`,label:`travel.trip.fields.notes`,rules:{max:3e3}}),e.check({key:`packing_items`,label:`travel.trip.fields.packing_items`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],fields:[e.relation({key:`item`,label:`travel.trip.packing.item`,options:{library:`things`,shelf:`item`}})],multiple:!0}),e.check({key:`packing_list`,label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),e.group({key:`legs`,label:`travel.trip.fields.legs`,icon:`lucide:route`,multiple:!0,fields:[e.date({key:`date`,label:`travel.trip.leg.date`}),e.select({key:`leg_type`,label:`travel.trip.leg.leg_type`,options:[{value:`flight`,title:`travel.trip.leg_opt.leg_type.flight`},{value:`train`,title:`travel.trip.leg_opt.leg_type.train`},{value:`bus`,title:`travel.trip.leg_opt.leg_type.bus`},{value:`car`,title:`travel.trip.leg_opt.leg_type.car`},{value:`ferry`,title:`travel.trip.leg_opt.leg_type.ferry`},{value:`other`,title:`travel.trip.leg_opt.leg_type.other`}]}),e.string({key:`operator`,label:`travel.trip.leg.operator`,rules:{max:100}}),e.string({key:`number`,label:`travel.trip.leg.number`,rules:{max:20}}),e.string({key:`seat`,label:`travel.trip.leg.seat`,rules:{max:10}}),e.select({key:`class`,label:`travel.trip.leg.class`,options:[{value:`economy`,title:`travel.trip.leg_opt.class.economy`},{value:`business`,title:`travel.trip.leg_opt.class.business`},{value:`first`,title:`travel.trip.leg_opt.class.first`}]}),e.string({key:`booking_ref`,label:`travel.trip.leg.booking_ref`,rules:{max:50}}),e.string({key:`terminal`,label:`travel.trip.leg.terminal`,rules:{max:20}}),e.string({key:`gate`,label:`travel.trip.leg.gate`,rules:{max:20}}),e.string({key:`origin_city`,label:`travel.trip.leg.origin_city`,rules:{max:100}}),e.string({key:`origin_code`,label:`travel.trip.leg.origin_code`,rules:{max:10}}),e.time({key:`departure_time`,label:`travel.trip.leg.departure_time`}),e.string({key:`destination_city`,label:`travel.trip.leg.destination_city`,rules:{max:100}}),e.string({key:`destination_code`,label:`travel.trip.leg.destination_code`,rules:{max:10}}),e.time({key:`arrival_time`,label:`travel.trip.leg.arrival_time`}),e.duration({key:`duration`,label:`travel.trip.leg.duration`}),e.boolean({key:`checked_in`,label:`travel.trip.leg.checked_in`}),e.document({key:`documents`,label:`travel.trip.leg.documents`,multiple:!0}),e.text({key:`notes`,label:`travel.trip.leg.notes`,rules:{max:2e3}})]}),e.group({key:`accommodations`,label:`travel.trip.fields.accommodations`,icon:`lucide:bed`,multiple:!0,fields:[e.select({key:`accom_type`,label:`travel.trip.accom.accom_type`,options:[{value:`hotel`,title:`travel.trip.accom_opt.accom_type.hotel`},{value:`apartment`,title:`travel.trip.accom_opt.accom_type.apartment`},{value:`hostel`,title:`travel.trip.accom_opt.accom_type.hostel`},{value:`other`,title:`travel.trip.accom_opt.accom_type.other`}]}),e.string({key:`location`,label:`travel.trip.accom.location`,rules:{max:300}}),e.string({key:`address`,label:`travel.trip.accom.address`,rules:{max:300}}),e.rating({key:`rating`,label:`travel.trip.accom.rating`,rules:{max:5}}),e.boolean({key:`breakfast`,label:`travel.trip.accom.breakfast`}),e.date({key:`check_in`,label:`travel.trip.accom.check_in`}),e.date({key:`check_out`,label:`travel.trip.accom.check_out`}),e.string({key:`booking_ref`,label:`travel.trip.accom.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.accom.cost`,rules:{defaultCurrency:`UAH`}}),e.document({key:`documents`,label:`travel.trip.accom.documents`,multiple:!0}),e.text({key:`notes`,label:`travel.trip.accom.notes`,rules:{max:2e3}})]}),e.group({key:`insurances`,label:`travel.trip.fields.insurances`,icon:`lucide:shield-check`,multiple:!0,fields:[e.string({key:`insurer`,label:`travel.trip.insur.insurer`,rules:{max:200}}),e.string({key:`policy_number`,label:`travel.trip.insur.policy_number`,rules:{max:100}}),e.text({key:`coverage`,label:`travel.trip.insur.coverage`,rules:{max:1e3}}),e.money({key:`cost`,label:`travel.trip.insur.cost`,rules:{defaultCurrency:`UAH`}}),e.date({key:`valid_from`,label:`travel.trip.insur.valid_from`}),e.date({key:`valid_until`,label:`travel.trip.insur.valid_until`}),e.string({key:`emergency_phone`,label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),e.document({key:`documents`,label:`travel.trip.insur.documents`,multiple:!0}),e.text({key:`notes`,label:`travel.trip.insur.notes`,rules:{max:2e3}})]}),e.group({key:`activities`,label:`travel.trip.fields.activities`,icon:`lucide:ticket`,multiple:!0,fields:[e.select({key:`activity_type`,label:`travel.trip.act.activity_type`,options:[{value:`sightseeing`,title:`travel.trip.act_opt.activity_type.sightseeing`},{value:`museum`,title:`travel.trip.act_opt.activity_type.museum`},{value:`beach`,title:`travel.trip.act_opt.activity_type.beach`},{value:`nature`,title:`travel.trip.act_opt.activity_type.nature`},{value:`restaurant`,title:`travel.trip.act_opt.activity_type.restaurant`},{value:`tour`,title:`travel.trip.act_opt.activity_type.tour`},{value:`shopping`,title:`travel.trip.act_opt.activity_type.shopping`},{value:`entertainment`,title:`travel.trip.act_opt.activity_type.entertainment`},{value:`other`,title:`travel.trip.act_opt.activity_type.other`}]}),e.date({key:`date`,label:`travel.trip.act.date`}),e.time({key:`time_start`,label:`travel.trip.act.time_start`}),e.time({key:`time_end`,label:`travel.trip.act.time_end`}),e.string({key:`location`,label:`travel.trip.act.location`,rules:{max:300}}),e.string({key:`booking_ref`,label:`travel.trip.act.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.act.cost`,rules:{defaultCurrency:`UAH`}}),e.document({key:`documents`,label:`travel.trip.act.documents`,multiple:!0}),e.text({key:`notes`,label:`travel.trip.act.notes`,rules:{max:2e3}})]}),e.tags({key:`tags`,label:`travel.trip.fields.tags`})]}),a=n({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],libraries:[{meta:r({id:`travel`,label:`travel.library.label`,icon:`lucide:plane`,agent:`Trips (trip) with legs, lodging, insurance, activities, and packing lists.`}),shelves:[i]}]});export{a as default};
@@ -0,0 +1 @@
1
+ import{B as e,C as t,E as n,I as r,L as i,N as a,P as o,V as s,_ as c,i as l,j as u,t as d,w as f,x as p,z as m}from"./fields-BvFhu2Zp.js";import{a as h}from"./shelf-D-ifpKTJ.js";import{t as g}from"./extend-CbEbk8Xz.js";import{n as _,r as v}from"./plugin-q1oOYqt7.js";import{t as y}from"./settings-Dfvzj6n2.js";import{i as b,r as x,s as S}from"./data-size-B44emc58.js";var C=(e,r)=>s().superRefine((i,a)=>{e.safeParse(t(i)).success||a.addIssue({code:u.custom,message:n(r)})}),w=()=>r().int().min(0).max(255),T=()=>r().int().min(0).max(65535),E=e([w(),w(),w(),w()]),D=e([T(),T(),T(),T(),T(),T(),T(),T()]),O=i({v:o(4),a:E}),k=i({v:o(6),a:D}),A=a(`v`,[O,k]);function j(e){let t=p(e),n=t.required??!1,r=C(A,`ip_structure`);return c(t,d({kind:`ip`,label:t.label??``,required:n,prim:`ip`,column:`text`,hints:{},zod:f(r,n)},t.multiple??!1))}var M=/^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;function N(e){let t=p(e),r=t.required??!1,i=m().regex(M,{message:n(`pattern`,{messageKey:`core.presets.mac`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{mask:`macAddress`},zod:f(i,r)},t.multiple??!1))}var P=/^[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?(\.[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)*$/;function F(e){let t=p(e),r=t.required??!1,i=m().regex(P,{message:n(`pattern`,{messageKey:`core.presets.hostname`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:f(i,r)},t.multiple??!1))}var I=/^\d{15}$/;function L(e){let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=e.charCodeAt(r)-48;n&&(i*=2,i>9&&(i-=9)),t+=i,n=!n}return t%10==0}function R(e){let t=p(e),r=t.required??!1,i=m().regex(I,{message:n(`pattern`,{messageKey:`core.presets.imei`})}).refine(L,{message:n(`pattern`,{messageKey:`core.presets.imei`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:f(i,r)},t.multiple??!1))}var z=a(`v`,[O.extend({p:r().int().min(0).max(32)}),k.extend({p:r().int().min(0).max(128)})]);function B(e){let t=p(e),n=t.required??!1,r=C(z,`cidr_structure`);return c(t,d({kind:`cidr`,label:t.label??``,required:n,prim:`cidr`,column:`text`,hints:{},zod:f(r,n)},t.multiple??!1))}var V=h({shelf:`network`,library:`devices`,label:`devices.network.label`,icon:`lucide:globe`,claude:`A network segment. subnet — CIDR. gateway — the gateway. domain — the segment's DNS suffix (e.g. lan → host FQDN = hostname.lan).`,views:{list:[`subnet`,`gateway`,`dnsPrimary`]},fields:[l.title({key:`name`,label:`core.fields.name`}),l.text({key:`description`,label:`devices.network.fields.description`,rules:{max:1e3}}),l.int({key:`vlan`,label:`devices.network.fields.vlan`,rules:{min:1,max:4094}}),F({key:`domain`,label:`devices.network.fields.domain`}),B({key:`subnet`,label:`devices.network.fields.subnet`}),j({key:`gateway`,label:`devices.network.fields.gateway`}),j({key:`dnsPrimary`,label:`devices.network.fields.dnsPrimary`}),j({key:`dnsFallback`,label:`devices.network.fields.dnsFallback`}),j({key:`poolStart`,label:`devices.network.fields.poolStart`}),j({key:`poolEnd`,label:`devices.network.fields.poolEnd`}),l.text({key:`notes`,label:`devices.network.fields.notes`,rules:{max:2e3}})]}),H=[`access`,`infra`,`monitoring`,`database`,`automation`,`network`,`media`,`lighting`,`files`,`backup`,`downloads`,`finance`,`calendars`,`communication`,`web`,`ai`,`devices`,`other`].map(e=>({value:e,title:`devices.service.cat.${e}`})),U=[{value:`http`,title:`devices.accessTypes.http`},{value:`https`,title:`devices.accessTypes.https`},{value:`ssh`,title:`devices.accessTypes.ssh`},{value:`mysql`,title:`devices.accessTypes.mysql`},{value:`mqtt`,title:`devices.accessTypes.mqtt`},{value:`ws`,title:`devices.accessTypes.ws`},{value:`dns`,title:`devices.accessTypes.dns`},{value:`other`,title:`devices.accessTypes.other`}],W=h({shelf:`service`,library:`devices`,label:`devices.service_catalog.label`,icon:`lucide:layers`,claude:`Catalog of network service types. name — human-readable name (custom, not translated). code — slug (auto-link key from the scanner). category — tag slugs (multi; SERVICE_CATEGORIES as hints). description_mode — description source: 'key' (i18n key in the description field) or 'own' (free text in the description_text field). SERVICE_META defaults → 'key' + devices.service.desc.<code>; user records are usually 'own'.`,views:{list:[`code`,`category`]},fields:[l.title({key:`name`,label:`core.fields.name`}),l.string({key:`code`,label:`devices.service.code`,rules:{max:60}}),l.select({key:`category`,label:`devices.service.category`,options:[...H],multiple:!0}),l.select({key:`description_mode`,label:`devices.service.description_mode`,options:[{value:`key`,title:`devices.service.description_mode_key`},{value:`own`,title:`devices.service.description_mode_own`}],default:`key`}),l.i18n({key:`description`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`key`}}}}),l.text({key:`description_text`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`own`}}}})]}),G=g({id:`device_info`,label:`devices.device_info.label`,icon:`lucide:monitor`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`device`},claude:`Network and technical specs of a device. hostname — FQDN on the LAN. addresses[] — network addresses (ip/mac, multi-NIC). group — human-friendly. services[] — inline services (type/title/links[]/secrets[]). disks_usage[] — disk usage (SSH).`,fields:[l.sheet({fields:[[l.string({key:`hostname`,label:`devices.device_info.fields.hostname`,rules:{max:120}}),l.select({key:`group`,label:`devices.device_info.fields.group`,options:`device-groups`})],[l.string({key:`vendor`,label:`devices.device_info.fields.vendor`,rules:{max:80}}),l.string({key:`model`,label:`devices.device_info.fields.model`,rules:{max:120}})],[l.string({key:`os`,label:`devices.device_info.fields.os`,rules:{max:100}}),l.string({key:`kernel`,label:`devices.device_info.fields.kernel`,rules:{max:100}}),l.string({key:`arch`,label:`devices.device_info.fields.arch`,rules:{max:30}})],[l.string({key:`cpu`,label:`devices.device_info.fields.cpu`,rules:{max:150}}),l.string({key:`gpu`,label:`devices.device_info.fields.gpu`,rules:{max:150}}),S({key:`ram`,label:`devices.device_info.fields.ram`})]]}),l.table({key:`addresses`,label:`devices.device_info.fields.addresses`,icon:`lucide:network`,fields:[j({key:`ip`,label:`devices.device_info.fields.ip`}),N({key:`mac`,label:`devices.device_info.fields.mac`})]}),l.group({key:`disks_usage`,label:`devices.device_info.fields.disks_usage`,icon:`lucide:hard-drive`,multiple:!0,fields:[l.string({key:`mount`,label:`devices.device_info.disk.mount`,rules:{max:80}}),x({key:`size`,label:`devices.device_info.disk.size`,system:`binary`,unit:`GiB`}),x({key:`used`,label:`devices.device_info.disk.used`,system:`binary`,unit:`GiB`}),x({key:`free`,label:`devices.device_info.disk.free`,system:`binary`,unit:`GiB`})]}),l.keyed({key:`services`,label:`devices.device_info.fields.services`,icon:`lucide:server`,by:l.relation({key:`service`,label:`devices.service.type`,options:{library:`devices`,shelf:`service`}}),fields:[l.smallText({key:`description`,label:`devices.service.description`,rules:{max:500}}),l.boolean({key:`hide`,label:`devices.service.hide`}),l.table({key:`links`,label:`devices.service.links`,icon:`lucide:link`,fields:[l.url({key:`url`,label:`devices.service.url`}),l.select({key:`access`,label:`devices.service.access`,options:`access-types`}),l.select({key:`visibility`,label:`devices.service.visibility`,options:`visibility-types`})]}),l.keyValue({key:`secrets`,label:`devices.service.secrets`,option:l.password({}),multiple:!0,view:{keyLabel:`devices.service.secretName`,valueLabel:`devices.service.secretValue`}})]})]}),K={ssh_config_path:`~/.ssh/config`,pihole_conf_path:``,syncthing_ini_path:`~/.config/syncthingtray.ini`,gtk_bookmarks_path:`~/.config/gtk-3.0/bookmarks`,kodi_sources_path:`~/.local/share/kodi/userdata/sources.xml`,krdc_bookmarks_path:`~/.local/share/krdc/bookmarks.xml`,rclone_config_path:`~/.config/rclone/rclone.conf`,remmina_dir:`~/.local/share/remmina`,remoteview_dir:`~/.local/share/remoteview`,delfin_config_path:`~/.config/delfin/config.toml`},q=`docker compose exec pihole pihole reloaddns`,J={ip:j,cidr:B,mac:N,hostname:F,imei:R,dataSize:x,ram:S,diskSize:b},Y=_({id:`devices`,version:`1.0.0`,dependsOn:[`things`],settings:y({label:`devices.settings.label`,icon:`lucide:radar`,fields:[l.info(`devices.settings.scan_info`),l.button({label:`devices.settings.scan_button`,value:`devices.runScan`,icon:`lucide:radar`}),l.info(`devices.settings.secrets_help`),l.info(`devices.settings.sync_targets_info`),l.localFile({key:`ssh_config_path`,label:`devices.settings.ssh_config_path`,default:K.ssh_config_path}),l.localFile({key:`pihole_conf_path`,label:`devices.settings.pihole_conf_path`,default:K.pihole_conf_path}),l.string({key:`pihole_reload_cmd`,label:`devices.settings.pihole_reload_cmd`,default:q}),l.localFile({key:`syncthing_ini_path`,label:`devices.settings.syncthing_ini_path`,default:K.syncthing_ini_path}),l.localFile({key:`gtk_bookmarks_path`,label:`devices.settings.gtk_bookmarks_path`,default:K.gtk_bookmarks_path}),l.localFile({key:`kodi_sources_path`,label:`devices.settings.kodi_sources_path`,default:K.kodi_sources_path}),l.localFile({key:`krdc_bookmarks_path`,label:`devices.settings.krdc_bookmarks_path`,default:K.krdc_bookmarks_path}),l.localFile({key:`rclone_config_path`,label:`devices.settings.rclone_config_path`,default:K.rclone_config_path}),l.localDir({key:`remmina_dir`,label:`devices.settings.remmina_dir`,default:K.remmina_dir}),l.localDir({key:`remoteview_dir`,label:`devices.settings.remoteview_dir`,default:K.remoteview_dir}),l.localFile({key:`delfin_config_path`,label:`devices.settings.delfin_config_path`,default:K.delfin_config_path})]}),libraries:[{meta:v({id:`devices`,label:`devices.library.label`,icon:`lucide:globe`,agent:`Network subnets and the service catalog (network, service).`}),shelves:[V,W]}],extends_:[G],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`device`,title:`devices.device_info.label`}]}],optionLists:[{name:`access-types`,options:[...U]},{name:`visibility-types`,options:[{value:`lan`,title:`devices.visibilityTypes.lan`},{value:`public`,title:`devices.visibilityTypes.public`}]},{name:`device-groups`,options:[{value:`pc`,title:`devices.deviceGroups.pc`},{value:`server`,title:`devices.deviceGroups.server`},{value:`mobile`,title:`devices.deviceGroups.mobile`},{value:`tv`,title:`devices.deviceGroups.tv`},{value:`iot`,title:`devices.deviceGroups.iot`},{value:`network`,title:`devices.deviceGroups.network`},{value:`other`,title:`devices.deviceGroups.other`}]}]});export{R as a,F as i,Y as n,j as o,B as r,N as s,J as t};
@@ -1 +1 @@
1
- import{i as e}from"./fields-fE_vzhqS.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`orchestrator`,version:`1.0.0`,dependsOn:[`claude-agent`],settings:n({label:`orchestrator.settings.label`,fields:[e.select({key:`agent_id`,label:`orchestrator.settings.agent_id`}),e.password({key:`access_password`,label:`orchestrator.settings.access_password`}),e.string({key:`trigger_prefix`,label:`orchestrator.settings.trigger_prefix`}),e.int({key:`reply_window`,label:`orchestrator.settings.reply_window`,default:1800})]})});export{r as default};
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`orchestrator`,version:`1.0.0`,dependsOn:[`claude-agent`],settings:n({label:`orchestrator.settings.label`,fields:[e.select({key:`agent_id`,label:`orchestrator.settings.agent_id`}),e.password({key:`access_password`,label:`orchestrator.settings.access_password`}),e.string({key:`trigger_prefix`,label:`orchestrator.settings.trigger_prefix`}),e.int({key:`reply_window`,label:`orchestrator.settings.reply_window`,default:1800})]})});export{r as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`item`,library:`things`,label:`things.item.label`,icon:`lucide:package`,claude:`A physical item. name — the title. type — an optional classifier (extends can add types, e.g. device).`,views:{list:[`type`,`brand`,`model`,`location`],groupBy:[`type`,`paymentStatus`,`condition`,`owner`,`location`,`store`,`madeIn`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`things.item.fields.logo`}),e.text({key:`description`,label:`things.item.fields.description`,rules:{max:1e3}}),e.string({key:`brand`,label:`things.item.fields.brand`,rules:{max:100}}),e.string({key:`model`,label:`things.item.fields.model`,rules:{max:100}}),e.int({key:`quantity`,label:`things.item.fields.quantity`,rules:{min:0}}),e.relation({key:`owner`,label:`things.item.fields.owner`,options:{library:`people`,shelf:`person`}}),e.relation({key:`location`,label:`things.item.fields.location`,options:{library:`things`,shelf:`storage_location`}}),e.string({key:`color`,label:`things.item.fields.color`,rules:{max:120}}),e.string({key:`material`,label:`things.item.fields.material`,rules:{max:80}}),e.country({key:`madeIn`,label:`things.item.fields.madeIn`}),e.weight({key:`weight`,label:`things.item.fields.weight`}),e.dimensions({key:`dimensions`,label:`things.item.fields.dimensions`}),e.string({key:`serialNumber`,label:`things.item.fields.serialNumber`,rules:{max:80}}),e.group({label:`things.item.groups.purchase`,icon:`lucide:shopping-cart`,fields:[e.date({key:`purchaseDate`,label:`things.item.fields.purchaseDate`}),e.money({key:`purchasePrice`,label:`things.item.fields.purchasePrice`,rules:{defaultCurrency:`UAH`}}),e.select({key:`paymentStatus`,label:`things.item.fields.paymentStatus`,options:[{value:`bought`,title:`things.item.options.paymentStatus.bought`},{value:`installment`,title:`things.item.options.paymentStatus.installment`},{value:`credit`,title:`things.item.options.paymentStatus.credit`}]}),e.string({key:`store`,label:`things.item.fields.store`,rules:{max:100}}),e.link({key:`link`,label:`things.item.fields.link`}),e.string({key:`orderNumber`,label:`things.item.fields.orderNumber`,rules:{max:100}}),e.image({key:`receipt`,label:`things.item.fields.receipt`})]}),e.select({key:`condition`,label:`things.item.fields.condition`,options:[{value:`new`,title:`things.item.options.condition.new`},{value:`good`,title:`things.item.options.condition.good`},{value:`fair`,title:`things.item.options.condition.fair`},{value:`poor`,title:`things.item.options.condition.poor`}]}),e.reminder({key:`warrantyExpires`,label:`things.item.fields.warrantyExpires`,rules:{lead:30}}),e.document({key:`manual`,label:`things.item.fields.manual`}),e.image({key:`photos`,label:`things.item.fields.photos`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,options:[{value:`clothing`,title:`things.item.options.type.clothing`},{value:`bag`,title:`things.item.options.type.bag`},{value:`cable`,title:`things.item.options.type.cable`},{value:`tool`,title:`things.item.options.type.tool`},{value:`furniture`,title:`things.item.options.type.furniture`},{value:`appliance`,title:`things.item.options.type.appliance`},{value:`household`,title:`things.item.options.type.household`},{value:`consumable`,title:`things.item.options.type.consumable`},{value:`personal_care`,title:`things.item.options.type.personal_care`},{value:`sports`,title:`things.item.options.type.sports`},{value:`hobby`,title:`things.item.options.type.hobby`},{value:`hardware`,title:`things.item.options.type.hardware`},{value:`decor`,title:`things.item.options.type.decor`},{value:`stationery`,title:`things.item.options.type.stationery`},{value:`document`,title:`things.item.options.type.document`},{value:`other`,title:`things.item.options.type.other`}]}),e.text({key:`notes`,label:`things.item.fields.notes`,rules:{max:2e3}}),e.tags({key:`tags`,label:`things.item.fields.tags`})]}),a=t({shelf:`storage_location`,library:`things`,label:`things.storage_location.label`,icon:`lucide:map-pin`,claude:`A storage location for items. name — what we call the place. path — hierarchy levels in order (room, furniture, shelf, container), free-form.`,views:{list:[`path`]},fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.string({key:`path`,label:`things.storage_location.fields.path`,multiple:!0,rules:{max:120}}),e.text({key:`notes`,label:`things.storage_location.fields.notes`,rules:{max:2e3}})]}),o=n({id:`things`,version:`1.0.0`,dependsOn:[`people`],libraries:[{meta:r({id:`things`,label:`things.library.label`,icon:`lucide:package`,agent:`Belongings and where they are stored (item, storage_location). Also hosts network hosts (device_info) and drone builds.`}),shelves:[i,a]}]});export{o as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`person`,library:`people`,label:`people.person.label`,icon:`lucide:user`,claude:`A person card. fullName — the full name (first + last), used as the title.`,views:{inline:[`logo`,`fullName`],list:[`birthDate`],select:{icon:`logo`,title:`fullName`,subtitle:`birthDate`}},fields:[e.image({key:`logo`,label:`people.person.fields.logo`}),e.title({key:`fullName`,label:`people.person.fields.fullName`,required:!0}),e.string({key:`description`,label:`people.person.fields.description`,rules:{max:500}}),e.date({key:`birthDate`,label:`people.person.fields.birthDate`,rules:{min:`1900-01-01`,max:`today`}}),e.select({key:`sex`,label:`people.person.fields.sex`,options:`sex`}),e.tel({key:`phone`,label:`people.person.fields.phone`}),e.email({key:`email`,label:`people.person.fields.email`}),e.text({key:`address`,label:`people.person.fields.address`,rules:{max:300}}),e.string({key:`occupation`,label:`people.person.fields.occupation`,rules:{max:200}}),e.image({key:`photos`,label:`people.person.fields.photos`,multiple:!0}),e.text({key:`notes`,label:`people.person.fields.notes`,rules:{max:1e3}}),e.tags({key:`tags`,label:`people.person.fields.tags`})]}),a=n({id:`people`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`people`,label:`people.library.label`,icon:`lucide:users`,agent:`People (person) — contacts, birthdays, jobs; referenced by health, travel, and others.`}),shelves:[i]}]});export{a as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r={vision:!0,documents:!0,tools:!0,reasoning:!0},i={vision:!0,documents:!0,tools:!0,reasoning:!1};function a(e){return{labelKey:`claude-agent.models.${e}.label`,titleKey:`claude-agent.models.${e}.title`,hintKey:`claude-agent.models.${e}.hint`}}var o=[{value:`haiku`,id:`claude-haiku-4-5`,effort:``,...a(`haiku`),capabilities:i},{value:`sonnet-low`,id:`claude-sonnet-5`,effort:`low`,...a(`sonnet-low`),capabilities:r},{value:`sonnet`,id:`claude-sonnet-5`,effort:`high`,...a(`sonnet`),capabilities:r},{value:`opus`,id:`claude-opus-4-8`,effort:`high`,...a(`opus`),capabilities:r},{value:`opus-5`,id:`claude-opus-5`,effort:`high`,...a(`opus-5`),capabilities:r},{value:`opus-5-max`,id:`claude-opus-5`,effort:`max`,...a(`opus-5-max`),capabilities:r}],s=t({id:`claude-agent`,version:`1.0.0`,dependsOn:[],fieldContribs:[{library:`_settings`,shelf:`orchestrator`,field:`agent_id`,options:[{value:`claude-agent`,title:`claude-agent.plugin.label`}]}],settings:n({label:`claude-agent.settings.label`,fields:[e.group({label:`claude-agent.settings.groups.runtime`,icon:`lucide:bot`,fields:[e.select({key:`auth_mode`,label:`claude-agent.settings.auth_mode`,default:`subscription`,options:[{value:`subscription`,title:`claude-agent.settings.auth_mode_subscription`},{value:`api_key`,title:`claude-agent.settings.auth_mode_api_key`}]}),e.password({key:`anthropic_api_key`,label:`claude-agent.settings.anthropic_api_key`,view:{hidden:{auth_mode:{$ne:`api_key`}}}}),e.select({key:`claude_model`,label:`claude-agent.settings.claude_model`,default:`haiku`,options:o.map(e=>({value:e.value,title:e.labelKey}))}),e.boolean({key:`thinking_enabled`,label:`claude-agent.settings.thinking_enabled`,default:!1}),e.boolean({key:`skip_permissions`,label:`claude-agent.settings.skip_permissions`,default:!0}),e.int({key:`response_timeout`,label:`claude-agent.settings.response_timeout`,default:600})]}),e.group({label:`claude-agent.settings.groups.rag`,icon:`lucide:search`,fields:[e.boolean({key:`rag_enabled`,label:`claude-agent.settings.rag_enabled`,default:!0}),e.password({key:`openai_api_key`,label:`claude-agent.settings.openai_api_key`})]}),e.group({label:`claude-agent.settings.groups.langfuse`,icon:`lucide:activity`,fields:[e.boolean({key:`tracing_enabled`,label:`claude-agent.settings.tracing_enabled`}),e.string({key:`langfuse_base_url`,label:`claude-agent.settings.langfuse_base_url`}),e.password({key:`langfuse_public_key`,label:`claude-agent.settings.langfuse_public_key`}),e.password({key:`langfuse_secret_key`,label:`claude-agent.settings.langfuse_secret_key`})]})]})});export{s as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{t as n}from"./extend-CbEbk8Xz.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";import{t as a}from"./settings-Dfvzj6n2.js";var o=t({shelf:`medicine`,library:`health`,label:`health.medicine.label`,icon:`lucide:pill`,views:{list:[`type`,`form`,`quantity`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`photo`,label:`health.medicine.fields.photo`}),e.image({key:`photos`,label:`health.medicine.fields.photos`,multiple:!0}),e.int({key:`quantity`,label:`health.medicine.fields.quantity`,rules:{min:0,max:1e5}}),e.date({key:`quantityCheckedAt`,label:`health.medicine.fields.quantityCheckedAt`}),e.text({key:`description`,label:`health.medicine.fields.description`,rules:{max:1e3}}),e.keyed({key:`dose`,label:`health.medicine.fields.dose`,icon:`lucide:pill`,by:e.relation({key:`person`,label:`health.medicine.fields.dose_person`,options:{library:`people`,shelf:`person`}}),fields:[e.perWeekday({key:`value`,label:`health.medicine.fields.dose_value`,rules:{min:0,max:20,step:.5}})]}),e.select({key:`intakeTimes`,label:`health.medicine.fields.intakeTimes`,options:`day-periods`,multiple:!0}),e.period({key:`intakePeriods`,label:`health.medicine.fields.intakePeriods`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,required:!0,options:[{value:`vitamin`,title:`health.medicine.options.type.vitamin`},{value:`supplement`,title:`health.medicine.options.type.supplement`},{value:`medication`,title:`health.medicine.options.type.medication`},{value:`antibiotic`,title:`health.medicine.options.type.antibiotic`},{value:`hormone`,title:`health.medicine.options.type.hormone`},{value:`painkiller`,title:`health.medicine.options.type.painkiller`},{value:`homeopathy`,title:`health.medicine.options.type.homeopathy`},{value:`herbal`,title:`health.medicine.options.type.herbal`}]}),e.select({key:`form`,label:`health.medicine.fields.form`,options:[{value:`tablet`,title:`health.medicine.options.form.tablet`},{value:`capsule`,title:`health.medicine.options.form.capsule`},{value:`syrup`,title:`health.medicine.options.form.syrup`},{value:`drops`,title:`health.medicine.options.form.drops`},{value:`ointment`,title:`health.medicine.options.form.ointment`},{value:`gel`,title:`health.medicine.options.form.gel`},{value:`spray`,title:`health.medicine.options.form.spray`},{value:`injection`,title:`health.medicine.options.form.injection`},{value:`powder`,title:`health.medicine.options.form.powder`},{value:`suppository`,title:`health.medicine.options.form.suppository`}]}),e.text({key:`notes`,label:`health.medicine.fields.notes`,rules:{max:2e3}})]}),s=t({shelf:`health_visit`,library:`health`,label:`health.health_visit.label`,icon:`lucide:stethoscope`,views:{list:[`date`,`person`,`specialty`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_visit.fields.date`}),e.string({key:`specialist`,label:`health.health_visit.fields.specialist`,rules:{max:200}}),e.string({key:`specialty`,label:`health.health_visit.fields.specialty`,rules:{max:100}}),e.string({key:`clinic`,label:`health.health_visit.fields.clinic`,rules:{max:200}}),e.relation({key:`person`,label:`health.health_visit.fields.person`,options:{library:`people`,shelf:`person`}}),e.text({key:`reason`,label:`health.health_visit.fields.reason`,rules:{max:1e3}}),e.text({key:`result`,label:`health.health_visit.fields.result`,rules:{max:2e3}}),e.text({key:`next_step`,label:`health.health_visit.fields.next_step`,rules:{max:1e3}}),e.money({key:`cost`,label:`health.health_visit.fields.cost`,rules:{defaultCurrency:`UAH`}}),e.image({key:`photos`,label:`health.health_visit.fields.photos`,multiple:!0}),e.file({key:`files`,label:`health.health_visit.fields.files`,multiple:!0}),e.relation({key:`medicines`,label:`health.health_visit.fields.medicines`,options:{library:`health`,shelf:`medicine`},multiple:!0}),e.reminder({key:`nextVisit`,label:`health.health_visit.fields.nextVisit`,rules:{lead:14}}),e.text({key:`notes`,label:`health.health_visit.fields.notes`,rules:{max:2e3}})]}),c=t({shelf:`health_test`,library:`health`,label:`health.health_test.label`,icon:`lucide:flask-conical`,views:{list:[`date`,`person`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_test.fields.date`}),e.string({key:`clinic`,label:`health.health_test.fields.clinic`,rules:{max:200}}),e.select({key:`status`,label:`health.health_test.fields.status`,options:[{value:`ordered`,title:`health.health_test.options.status.ordered`},{value:`completed`,title:`health.health_test.options.status.completed`},{value:`cancelled`,title:`health.health_test.options.status.cancelled`}]}),e.select({key:`test_type`,label:`health.health_test.fields.test_type`,options:[{value:`blood`,title:`health.health_test.options.test_type.blood`},{value:`urine`,title:`health.health_test.options.test_type.urine`},{value:`ultrasound`,title:`health.health_test.options.test_type.ultrasound`},{value:`xray`,title:`health.health_test.options.test_type.xray`},{value:`mri`,title:`health.health_test.options.test_type.mri`},{value:`other`,title:`health.health_test.options.test_type.other`}]}),e.relation({key:`person`,label:`health.health_test.fields.person`,options:{library:`people`,shelf:`person`}}),e.text({key:`result`,label:`health.health_test.fields.result`,rules:{max:5e3}}),e.image({key:`attachments`,label:`health.health_test.fields.attachments`,multiple:!0}),e.text({key:`notes`,label:`health.health_test.fields.notes`,rules:{max:2e3}})]}),l=n({id:`person_body`,label:`health.person_body.label`,icon:`lucide:ruler`,attachTo:[{library:`people`,shelf:`person`}],claude:`Person's body measurements. weightKg — weight in kg. heightCm — height in cm. bloodGroup — ABO/Rh blood type. allergies — list of allergens.`,fields:[e.real({key:`weightKg`,label:`health.person_body.fields.weightKg`,rules:{min:1,max:500}}),e.int({key:`heightCm`,label:`health.person_body.fields.heightCm`,rules:{min:50,max:250}}),e.select({key:`bloodGroup`,label:`health.person_body.fields.bloodGroup`,options:[`O-`,`O+`,`A-`,`A+`,`B-`,`B+`,`AB-`,`AB+`]}),e.string({key:`allergies`,label:`health.person_body.fields.allergies`,multiple:!0})]}),u=[{value:`any`,title:`health.dayPeriods.any`},{value:`before_breakfast`,title:`health.dayPeriods.before_breakfast`},{value:`with_breakfast`,title:`health.dayPeriods.with_breakfast`},{value:`after_breakfast`,title:`health.dayPeriods.after_breakfast`},{value:`with_food`,title:`health.dayPeriods.with_food`},{value:`after_lunch`,title:`health.dayPeriods.after_lunch`},{value:`evening`,title:`health.dayPeriods.evening`},{value:`before_bed`,title:`health.dayPeriods.before_bed`},{value:`as_needed`,title:`health.dayPeriods.as_needed`}],d=r({id:`health`,version:`1.0.0`,dependsOn:[`people`],optionLists:[{name:`day-periods`,options:[...u]}],libraries:[{meta:i({id:`health`,label:`health.library.label`,icon:`lucide:hospital`,agent:`Medical tests, doctor visits, and medicines — each linked to a person.`}),shelves:[o,s,c]}],extends_:[l],settings:a({label:`health.settings.label`,fields:[e.string({key:`caldav_calendar`,label:`health.settings.caldav_calendar`}),e.string({key:`caldav_url`,label:`health.settings.caldav_url`}),e.string({key:`caldav_username`,label:`health.settings.caldav_username`}),e.password({key:`caldav_password`,label:`health.settings.caldav_password`}),...u.filter(e=>e.value!==`as_needed`).map(t=>e.time({key:`time_${t.value}`,label:`health.settings.time_${t.value}`,rules:{granularity:`minute`}}))]})});export{d as default};
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"./src-CzSQMFWS.js";export{e as default,n as fin,t as iban};
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{t as n}from"./extend-CbEbk8Xz.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";var a=t({shelf:`personal_document`,library:`documents`,label:`documents.personal_document.label`,icon:`lucide:id-card`,views:{list:[`owner`,`type`,`surname`,`expires`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`documents.personal_document.fields.logo`}),e.text({key:`description`,label:`documents.personal_document.fields.description`,rules:{max:1e3}}),e.string({key:`surname`,label:`documents.personal_document.fields.surname`,rules:{max:100}}),e.string({key:`given_names`,label:`documents.personal_document.fields.given_names`,rules:{max:200}}),e.select({key:`sex`,label:`documents.personal_document.fields.sex`,options:[{value:`M`,title:`documents.personal_document.options.sex.M`},{value:`F`,title:`documents.personal_document.options.sex.F`}]}),e.date({key:`birth_date`,label:`documents.personal_document.fields.birth_date`}),e.select({key:`nationality`,label:`documents.personal_document.fields.nationality`,options:`countries`}),e.string({key:`number`,label:`documents.personal_document.fields.number`,rules:{max:50}}),e.string({key:`record_no`,label:`documents.personal_document.fields.record_no`,rules:{max:50}}),e.date({key:`issued`,label:`documents.personal_document.fields.issued`}),e.reminder({key:`expires`,label:`documents.personal_document.fields.expires`,rules:{lead:60}}),e.string({key:`authority`,label:`documents.personal_document.fields.authority`,rules:{max:200}}),e.relation({key:`storage`,label:`documents.personal_document.fields.storage`,options:{library:`things`,shelf:`storage_location`}}),e.string({key:`mrz`,label:`documents.personal_document.fields.mrz`,rules:{max:200}}),e.relation({key:`owner`,label:`documents.personal_document.fields.owner`,options:{library:`people`,shelf:`person`}}),e.image({key:`photos`,label:`documents.personal_document.fields.photos`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,required:!0,options:[{value:`P`,title:`documents.personal_document.options.type.P`},{value:`PA`,title:`documents.personal_document.options.type.PA`},{value:`TP`,title:`documents.personal_document.options.type.TP`},{value:`ID`,title:`documents.personal_document.options.type.ID`},{value:`DL`,title:`documents.personal_document.options.type.DL`},{value:`BR`,title:`documents.personal_document.options.type.BR`},{value:`MC`,title:`documents.personal_document.options.type.MC`},{value:`OT`,title:`documents.personal_document.options.type.OT`}]}),e.text({key:`notes`,label:`documents.personal_document.fields.notes`,rules:{max:1e3}}),e.tags({key:`tags`,label:`documents.personal_document.fields.tags`})]}),o=n({id:`person_identity`,label:`documents.person_identity.label`,icon:`lucide:globe`,attachTo:[{library:`people`,shelf:`person`}],claude:`Canonical person identity (not tied to a physical document).
2
+ nationality — ISO alpha-2. variants — given/family name per language (field.keyed by lang: name+surname).`,fields:[e.select({key:`nationality`,label:`documents.person_identity.fields.nationality`,options:`countries`}),e.keyed({key:`variants`,label:`documents.person_identity.fields.variants`,icon:`lucide:languages`,by:e.select({key:`lang`,label:`documents.person_identity.variants.lang`,options:`languages`}),fields:[e.string({key:`name`,label:`documents.person_identity.variants.name`}),e.string({key:`surname`,label:`documents.person_identity.variants.surname`})]})]}),s=r({id:`documents`,version:`1.0.0`,dependsOn:[`people`],libraries:[{meta:i({id:`documents`,label:`documents.library.label`,icon:`lucide:id-card`,agent:`Personal documents — IDs, passports, licences (personal_document); tracks expiry.`}),shelves:[a]}],extends_:[o]});export{s as default};
@@ -0,0 +1,7 @@
1
+ import{E as e,_ as t,i as n,t as r,w as i,z as a}from"./fields-BvFhu2Zp.js";import{a as o}from"./shelf-D-ifpKTJ.js";import{t as s}from"./extend-CbEbk8Xz.js";import{n as c,r as l}from"./plugin-q1oOYqt7.js";import{t as u}from"./settings-Dfvzj6n2.js";var d=/^[A-Za-z]{2}\d{2}[A-Za-z0-9]{11,30}$/;function f(e){let t=e.toUpperCase().replace(/\s+/g,``),n=t.slice(4)+t.slice(0,4),r=``;for(let e of n){let t=e.charCodeAt(0);t>=65&&t<=90?r+=(t-55).toString():r+=e}let i=0;for(let e of r)i=(i*10+(e.charCodeAt(0)-48))%97;return i===1}function p(n){let o=n.required??!1,s=a().regex(d,{message:e(`pattern`,{messageKey:`core.presets.iban`})}).refine(f,{message:e(`pattern`,{messageKey:`core.presets.iban`})});return t(n,r({kind:`text`,label:n.label??``,required:o,prim:`text`,column:`text`,hints:{mask:`iban`,maskStore:`unmasked`},zod:i(s,o)},n.multiple??!1))}var m=/^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$/;function h(n){let o=n.required??!1,s=a().regex(m,{message:e(`pattern`,{messageKey:`finance.presets.bic`})});return t(n,r({kind:`text`,label:n.label??``,required:o,prim:`text`,column:`text`,hints:{},zod:i(s,o)},n.multiple??!1))}var g=o({shelf:`account`,library:`finance`,label:`finance.account.label`,icon:`lucide:landmark`,claude:`Firefly III account (read-only mirror). kind — account type.
2
+ current_balance — current balance. firefly_id — external key (do not edit).`,views:{list:[`kind`,`currency`,`current_balance`]},fields:[n.title({key:`name`,label:`core.fields.name`}),n.sheet({fields:[[n.select({key:`kind`,label:`finance.account.fields.kind`,options:[{value:`asset`,title:`finance.account.options.asset`},{value:`expense`,title:`finance.account.options.expense`},{value:`revenue`,title:`finance.account.options.revenue`},{value:`liability`,title:`finance.account.options.liability`},{value:`cash`,title:`finance.account.options.cash`}]}),n.string({key:`currency`,label:`finance.account.fields.currency`,rules:{max:3}})],[n.money({key:`current_balance`,label:`finance.account.fields.current_balance`}),p({key:`iban`,label:`finance.account.fields.iban`})],[n.string({key:`bank`,label:`finance.account.fields.bank`,rules:{max:120}}),h({key:`bic`,label:`finance.account.fields.bic`})]]}),n.string({key:`firefly_id`,label:`finance.account.fields.firefly_id`,rules:{max:32}}),n.text({key:`notes`,label:`finance.account.fields.notes`,rules:{max:2e3}})]}),_=o({shelf:`transaction`,library:`finance`,label:`finance.transaction.label`,icon:`lucide:arrow-left-right`,claude:`Firefly III transaction (read-only). Each split = a separate record.
3
+ source/destination — accounts. firefly_id — split journal id (do not edit).`,views:{list:[`date`,`amount`,`kind`]},fields:[n.title({key:`description`,label:`finance.transaction.fields.description`}),n.sheet({fields:[[n.date({key:`date`,label:`finance.transaction.fields.date`}),n.money({key:`amount`,label:`finance.transaction.fields.amount`})],[n.select({key:`kind`,label:`finance.transaction.fields.kind`,options:[{value:`withdrawal`,title:`finance.transaction.options.withdrawal`},{value:`deposit`,title:`finance.transaction.options.deposit`},{value:`transfer`,title:`finance.transaction.options.transfer`}]}),n.string({key:`category`,label:`finance.transaction.fields.category`,rules:{max:100}})],[n.relation({key:`source`,label:`finance.transaction.fields.source`,options:{library:`finance`,shelf:`account`}}),n.relation({key:`destination`,label:`finance.transaction.fields.destination`,options:{library:`finance`,shelf:`account`}})]]}),n.string({key:`firefly_id`,label:`finance.transaction.fields.firefly_id`,rules:{max:32}}),n.text({key:`notes`,label:`finance.transaction.fields.notes`,rules:{max:2e3}})]}),v=o({shelf:`bill`,library:`finance`,label:`finance.bill.label`,icon:`lucide:receipt`,claude:`Recurring Firefly III payment (Bill = subscription, read-only).
4
+ repeat — recurrence. next_expected — next expected date. firefly_id — do not edit.`,views:{list:[`amount_min`,`repeat`,`next_expected`,`active`]},fields:[n.title({key:`name`,label:`core.fields.name`}),n.sheet({fields:[[n.money({key:`amount_min`,label:`finance.bill.fields.amount_min`}),n.money({key:`amount_max`,label:`finance.bill.fields.amount_max`})],[n.select({key:`repeat`,label:`finance.bill.fields.repeat`,options:[{value:`weekly`,title:`finance.bill.options.weekly`},{value:`monthly`,title:`finance.bill.options.monthly`},{value:`quarterly`,title:`finance.bill.options.quarterly`},{value:`yearly`,title:`finance.bill.options.yearly`}]}),n.date({key:`next_expected`,label:`finance.bill.fields.next_expected`})]]}),n.boolean({key:`active`,label:`finance.bill.fields.active`}),n.string({key:`firefly_id`,label:`finance.bill.fields.firefly_id`,rules:{max:32}}),n.text({key:`notes`,label:`finance.bill.fields.notes`,rules:{max:2e3}})]}),y=s({id:`item_financing`,label:`finance.item_financing.label`,icon:`lucide:credit-card`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{paymentStatus:{$in:[`installment`,`credit`]}},claude:`Installment/credit details for an item. creditor — who is owed (bank/store).
5
+ holder — which person the debt is registered to (relation people/person).
6
+ total — full debt amount. monthly — monthly payment. termMonths/paidMonths — schedule.
7
+ remaining — how much is left (manual). nextPayment — payment reminder. paidOff — settled.`,fields:[n.string({key:`creditor`,label:`finance.item_financing.fields.creditor`,rules:{max:120}}),n.relation({key:`holder`,label:`finance.item_financing.fields.holder`,options:{library:`people`,shelf:`person`}}),n.sheet({fields:[[n.money({key:`total`,label:`finance.item_financing.fields.total`,rules:{defaultCurrency:`UAH`}}),n.money({key:`downPayment`,label:`finance.item_financing.fields.downPayment`,rules:{defaultCurrency:`UAH`}})],[n.money({key:`monthly`,label:`finance.item_financing.fields.monthly`,rules:{defaultCurrency:`UAH`}}),n.money({key:`remaining`,label:`finance.item_financing.fields.remaining`,rules:{defaultCurrency:`UAH`}})],[n.int({key:`termMonths`,label:`finance.item_financing.fields.termMonths`,rules:{min:0}}),n.int({key:`paidMonths`,label:`finance.item_financing.fields.paidMonths`,rules:{min:0}}),n.real({key:`rate`,label:`finance.item_financing.fields.rate`,rules:{min:0}})]]}),n.date({key:`startDate`,label:`finance.item_financing.fields.startDate`}),n.reminder({key:`nextPayment`,label:`finance.item_financing.fields.nextPayment`,rules:{lead:3}}),n.boolean({key:`paidOff`,label:`finance.item_financing.fields.paidOff`}),n.text({key:`notes`,label:`finance.item_financing.fields.notes`,rules:{max:2e3}})]}),b={iban:p},x=c({id:`finance`,version:`1.0.0`,dependsOn:[`things`,`people`],libraries:[{meta:l({id:`finance`,label:`finance.library.label`,icon:`lucide:wallet`,agent:`Bank accounts, bills, and transactions — mirrored from Firefly.`}),shelves:[g,_,v]}],extends_:[y],settings:u({label:`finance.settings.label`,fields:[n.string({key:`firefly_url`,label:`finance.settings.firefly_url`,required:!0}),n.password({key:`token`,label:`finance.settings.token`,required:!0}),n.button({label:`finance.settings.test_button`,value:`finance.testConnection`,icon:`lucide:wifi`}),n.button({label:`finance.settings.sync_button`,value:`finance.sync`,icon:`lucide:refresh-cw`}),n.file({key:`wise_csv`,label:`finance.settings.wise_csv`}),n.relation({key:`wise_account`,label:`finance.settings.wise_account`,options:{library:`finance`,shelf:`account`}}),n.button({label:`finance.settings.wise_import_button`,value:`finance.importWise`,icon:`lucide:upload`})]})});export{x as n,p as r,b as t};
@@ -1 +1 @@
1
- import{t as e}from"./color-names-CKKZbleV.js";import{D as t,O as n,b as r,i,k as a,v as o,y as s}from"./fields-fE_vzhqS.js";import{t as c}from"./countries-BlKrWFMP.js";import{n as l}from"./plugin-q1oOYqt7.js";import{t as u}from"./settings-Dfvzj6n2.js";var d=l({id:`core`,version:`1.0.0`,dependsOn:[],settings:u({label:`core.settings.label`,fields:[i.string({key:`publicUrl`,label:`core.settings.publicUrl`,rules:{pattern:`^https?://[^/\\s]+/?$`,messageKey:`core.settings.publicUrlHint`}}),i.select({key:`language`,label:`core.settings.language`,default:`uk`,options:[{value:`uk`,title:`Українська`},{value:`ru`,title:`Русский`},{value:`en`,title:`English`}]})]}),optionLists:[{name:`countries`,options:c.map(e=>({value:e.code,title:`core.countries.${e.code}`,icon:{kind:`icon`,value:`flag:${e.code}`},subtitle:e.code.toUpperCase()}))},{name:`colors`,options:e.map(e=>({value:e.name,title:`core.colors.${e.name}`,icon:{kind:`swatch`,value:e.hex},subtitle:e.hex}))},{name:`sex`,options:[...s]},{name:`weekdays`,options:[...r]},{name:`languages`,options:o.map(e=>({value:e.code,title:e.name}))},{name:`currencies`,options:t.map(e=>({value:e,title:n(e),subtitle:a(e)}))}]});export{d as default};
1
+ import{t as e}from"./color-names-CKKZbleV.js";import{D as t,O as n,b as r,i,k as a,v as o,y as s}from"./fields-BvFhu2Zp.js";import{t as c}from"./countries-BlKrWFMP.js";import{n as l}from"./plugin-q1oOYqt7.js";import{t as u}from"./settings-Dfvzj6n2.js";var d=l({id:`core`,version:`1.0.0`,dependsOn:[],settings:u({label:`core.settings.label`,fields:[i.string({key:`publicUrl`,label:`core.settings.publicUrl`,rules:{pattern:`^https?://[^/\\s]+/?$`,messageKey:`core.settings.publicUrlHint`}}),i.select({key:`language`,label:`core.settings.language`,default:`uk`,options:[{value:`uk`,title:`Українська`},{value:`ru`,title:`Русский`},{value:`en`,title:`English`}]})]}),optionLists:[{name:`countries`,options:c.map(e=>({value:e.code,title:`core.countries.${e.code}`,icon:{kind:`icon`,value:`flag:${e.code}`},subtitle:e.code.toUpperCase()}))},{name:`colors`,options:e.map(e=>({value:e.name,title:`core.colors.${e.name}`,icon:{kind:`swatch`,value:e.hex},subtitle:e.hex}))},{name:`sex`,options:[...s]},{name:`weekdays`,options:[...r]},{name:`languages`,options:o.map(e=>({value:e.code,title:e.name}))},{name:`currencies`,options:t.map(e=>({value:e,title:n(e),subtitle:a(e)}))}]});export{d as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-fE_vzhqS.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`console`,version:`1.0.0`,dependsOn:[],settings:n({label:`console.settings.label`,icon:`lucide:terminal`,fields:[e.info(`console.settings.intro`),e.divider(),e.info(`console.settings.claude`),e.divider(),e.info(`console.settings.codex`),e.divider(),e.info(`console.settings.skills`)]})});export{r as default};
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`console`,version:`1.0.0`,dependsOn:[],settings:n({label:`console.settings.label`,icon:`lucide:terminal`,fields:[e.info(`console.settings.intro`),e.divider(),e.info(`console.settings.claude`),e.divider(),e.info(`console.settings.codex`),e.divider(),e.info(`console.settings.skills`)]})});export{r as default};
@@ -0,0 +1,4 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`plant`,library:`garden`,label:`garden.plant.label`,icon:`lucide:sprout`,claude:`A houseplant. title — name. variety — cultivar/subspecies. location — where it stands.
2
+ wateringDays — watering interval (days). lastWatered — date of last watering.
3
+ fertilizerDays — fertilizing interval. lastFertilized — last date.
4
+ planted — date planted/acquired.`,views:{list:[`variety`,`location`,`wateringDays`,`lastWatered`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`garden.plant.fields.logo`}),e.image({key:`photos`,label:`garden.plant.fields.photos`,multiple:!0}),e.string({key:`variety`,label:`garden.plant.fields.variety`,rules:{max:100}}),e.select({key:`location`,label:`garden.plant.fields.location`,options:[{value:`windowsill`,title:`garden.plant.options.location.windowsill`},{value:`balcony`,title:`garden.plant.options.location.balcony`},{value:`hanging`,title:`garden.plant.options.location.hanging`},{value:`floor`,title:`garden.plant.options.location.floor`},{value:`other`,title:`garden.plant.options.location.other`}]}),e.select({key:`sunlight`,label:`garden.plant.fields.sunlight`,options:[{value:`shade`,title:`garden.plant.options.sunlight.shade`},{value:`partial`,title:`garden.plant.options.sunlight.partial`},{value:`indirect`,title:`garden.plant.options.sunlight.indirect`},{value:`direct`,title:`garden.plant.options.sunlight.direct`}]}),e.string({key:`pot`,label:`garden.plant.fields.pot`,rules:{max:100}}),e.date({key:`planted`,label:`garden.plant.fields.planted`,rules:{min:`2000-01-01`,max:`today`}}),e.int({key:`wateringDays`,label:`garden.plant.fields.wateringDays`,rules:{min:1,max:365}}),e.date({key:`lastWatered`,label:`garden.plant.fields.lastWatered`,rules:{max:`today`}}),e.reminder({key:`nextWatering`,label:`garden.plant.fields.nextWatering`,rules:{lead:3}}),e.int({key:`fertilizerDays`,label:`garden.plant.fields.fertilizerDays`,rules:{min:1,max:365}}),e.date({key:`lastFertilized`,label:`garden.plant.fields.lastFertilized`,rules:{max:`today`}}),e.reminder({key:`nextFertilizing`,label:`garden.plant.fields.nextFertilizing`,rules:{lead:7}}),e.button({label:`garden.plant.actions.watered`,value:`garden.watered`,icon:`lucide:droplet`}),e.button({label:`garden.plant.actions.fertilized`,value:`garden.fertilized`,icon:`lucide:flask-conical`}),e.text({key:`notes`,label:`garden.plant.fields.notes`,rules:{max:500}}),e.tags({key:`tags`,label:`garden.plant.fields.tags`})]}),a=n({id:`garden`,version:`1.0.0`,dependsOn:[`things`],libraries:[{meta:r({id:`garden`,label:`garden.library.label`,icon:`lucide:sprout`,agent:`Garden plants (plant) — watering and fertilizing schedule.`}),shelves:[i]}],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`garden`,title:`garden.contrib.type.garden`}]}]});export{a as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-fE_vzhqS.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`http`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`http.settings.label`,fields:[e.int({key:`port`,label:`http.settings.port`}),e.password({key:`access_password`,label:`http.settings.access_password`})]})});export{r as default};
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`http`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`http.settings.label`,fields:[e.int({key:`port`,label:`http.settings.port`}),e.password({key:`access_password`,label:`http.settings.access_password`})]})});export{r as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-fE_vzhqS.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webchat`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`webchat.settings.label`,fields:[e.select({key:`reasoning_display`,label:`webchat.settings.reasoning_display`,default:`live`,options:[{value:`live`,title:`webchat.settings.reasoning_display_live`},{value:`off`,title:`webchat.settings.reasoning_display_off`}]})]})});export{r as default};
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webchat`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`webchat.settings.label`,fields:[e.select({key:`reasoning_display`,label:`webchat.settings.reasoning_display`,default:`live`,options:[{value:`live`,title:`webchat.settings.reasoning_display_live`},{value:`off`,title:`webchat.settings.reasoning_display_off`}]})]})});export{r as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{t as n}from"./extend-CbEbk8Xz.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";import{t as a}from"./settings-Dfvzj6n2.js";import{t as o}from"./src-BbGADHi4.js";import{t as s}from"./src-CzSQMFWS.js";var c=t({shelf:`field_demo`,library:`lab`,label:`lab.field_demo.label`,icon:`lucide:flask-conical`,views:{inline:[`name`,`select`],listKind:`map`,list:[`place`,`text_minmax`,`integer`,`boolean`,`select`,`rating_5`,`measured_currency`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`image`,label:`lab.field_demo.fields.image`,role:`cover`}),e.avatar({key:`avatar`,label:`lab.field_demo.fields.avatar`,role:`avatar`}),e.cover({key:`cover`,label:`lab.field_demo.fields.cover`}),e.embed({key:`embed_wide`,label:`lab.field_demo.fields.embed_wide`,multiple:!0}),e.embed({key:`embed_narrow`,label:`lab.field_demo.fields.embed_narrow`,multiple:!0}),e.info(`lab.field_demo.info.intro`),e.button({label:`lab.field_demo.fields.button_demo`,value:`lab.demoAction`,icon:`lucide:zap`,variant:`outline`}),e.group({label:`lab.field_demo.groups.demo`,icon:`lucide:puzzle`,fields:[e.string({key:`text_plain`,label:`lab.field_demo.fields.text_plain`,rules:{max:200}}),e.string({key:`text_minmax`,label:`lab.field_demo.fields.text_minmax`,rules:{min:3,max:20}}),e.string({key:`text_pattern`,label:`lab.field_demo.fields.text_pattern`,rules:{pattern:`^[A-Za-z]+$`,messageKey:`lab.field_demo.validation.letters_only`}})]}),e.string({key:`compact_note`,label:`lab.field_demo.fields.compact_note`,view:{noEditControl:!0}}),e.string({key:`nolabel_note`,view:{noEditControl:!0}}),e.email({key:`text_email`,label:`lab.field_demo.fields.text_email`}),e.email({key:`text_emails`,label:`lab.field_demo.fields.text_emails`,multiple:!0}),e.url({key:`text_url`,label:`lab.field_demo.fields.text_url`}),e.tel({key:`text_tel`,label:`lab.field_demo.fields.text_tel`}),e.password({key:`text_password`,label:`lab.field_demo.fields.text_password`}),o.imei({key:`imei`,label:`lab.field_demo.fields.imei`}),o.mac({key:`mac`,label:`lab.field_demo.fields.mac`,emphasis:`muted`}),s.iban({key:`iban`,label:`lab.field_demo.fields.iban`}),e.int({key:`number_int`,label:`lab.field_demo.fields.number_int`,rules:{min:0,max:100}}),e.real({key:`number_decimal`,label:`lab.field_demo.fields.number_decimal`,rules:{min:0,max:1e3}}),e.int({key:`integer`,label:`lab.field_demo.fields.integer`,rules:{min:1,max:12}}),e.money({key:`price`,label:`lab.field_demo.fields.price`,rules:{defaultCurrency:`UAH`}}),e.numberRange({key:`ageRange`,label:`lab.field_demo.fields.ageRange`,rules:{min:0,max:120}}),e.realRange({key:`tempRange`,label:`lab.field_demo.fields.tempRange`}),e.rating({key:`rating_5`,label:`lab.field_demo.fields.rating_5`}),e.rating({key:`rating_10`,label:`lab.field_demo.fields.rating_10`,rules:{max:10}}),e.date({key:`birthYear`,label:`lab.field_demo.fields.birthYear`,rules:{granularity:`year`}}),e.date({key:`date`,label:`lab.field_demo.fields.date`}),e.date({key:`date_future`,label:`lab.field_demo.fields.date_future`,rules:{min:`today`}}),e.time({key:`time_field`,label:`lab.field_demo.fields.time_field`}),e.datetime({key:`datetime`,label:`lab.field_demo.fields.datetime`}),e.datetime({key:`datetimes_multi`,label:`lab.field_demo.fields.datetimes_multi`,multiple:!0}),e.triState({key:`agree`,label:`lab.field_demo.fields.agree`}),e.boolean({key:`boolean`,label:`lab.field_demo.fields.boolean`}),e.select({key:`select`,label:`lab.field_demo.fields.select`,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`select_multi`,label:`lab.field_demo.fields.select_multi`,multiple:!0,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`day_period`,label:`lab.field_demo.fields.day_period`,options:`day-periods`}),e.select({key:`day_period_multi`,label:`lab.field_demo.fields.day_period_multi`,options:`day-periods`,multiple:!0}),e.select({key:`country`,label:`lab.field_demo.fields.country`,options:`countries`}),e.select({key:`country_multi`,label:`lab.field_demo.fields.country_multi`,options:`countries`,multiple:!0}),e.country({key:`origin`,label:`lab.field_demo.fields.origin`}),e.tags({key:`tags_field`,label:`lab.field_demo.fields.tags_field`,options:[`alpha`,`beta`,`gamma`,`delta`]}),e.check({key:`demo_check`,label:`lab.field_demo.fields.demo_check`}),e.check({key:`demo_check_multi`,label:`lab.field_demo.fields.demo_check_multi`,multiple:!0}),e.check({key:`demo_check_stages`,label:`lab.field_demo.fields.demo_check_stages`,slots:[`lab.field_demo.fields.stage_ordered`,`lab.field_demo.fields.stage_paid`,`lab.field_demo.fields.stage_shipped`],multiple:!0}),e.color({key:`color_hex`,label:`lab.field_demo.fields.color_hex`}),e.color({key:`color_multi`,label:`lab.field_demo.fields.color_multi`,multiple:!0}),e.select({key:`color_name`,label:`lab.field_demo.fields.color_name`,options:`colors`}),e.duration({key:`duration_short`,label:`lab.field_demo.fields.duration_short`,rules:{max:28800,step:300}}),e.measured({key:`measured_currency`,label:`lab.field_demo.fields.measured_currency`,options:`currency`}),e.measured({key:`measured_weight`,label:`lab.field_demo.fields.measured_weight`,options:`weight`}),e.measured({key:`measured_custom`,label:`lab.field_demo.fields.measured_custom`,options:[{value:`shot`,label:`lab.field_demo.units.shot`},{value:`scoop`,label:`lab.field_demo.units.scoop`}]}),e.reminder({key:`demo_reminder`,label:`lab.field_demo.fields.demo_reminder`,rules:{lead:14}}),e.weight({key:`demo_weight`,label:`lab.field_demo.fields.demo_weight`}),e.dimensions({key:`demo_dimensions`,label:`lab.field_demo.fields.demo_dimensions`}),o.dataSize({key:`demo_datasize`,label:`lab.field_demo.fields.demo_datasize`}),o.ram({key:`demo_ram`,label:`lab.field_demo.fields.demo_ram`}),o.diskSize({key:`demo_disk`,label:`lab.field_demo.fields.demo_disk`}),e.select({key:`demo_weekday`,label:`lab.field_demo.fields.demo_weekday`,options:`weekdays`}),e.select({key:`demo_weekdays`,label:`lab.field_demo.fields.demo_weekdays`,options:`weekdays`,multiple:!0}),o.ip({key:`ip_addr`,label:`lab.field_demo.fields.ip_addr`}),o.ip({key:`ip_addrs`,label:`lab.field_demo.fields.ip_addrs`,multiple:!0}),o.cidr({key:`cidr_subnet`,label:`lab.field_demo.fields.cidr_subnet`}),e.real({key:`numbers_multi`,label:`lab.field_demo.fields.numbers_multi`,multiple:!0}),e.date({key:`dates_multi`,label:`lab.field_demo.fields.dates_multi`,multiple:!0}),e.divider(),e.text({key:`text_multiline`,label:`lab.field_demo.fields.text_multiline`,rules:{max:500}}),e.text({key:`textarea`,label:`lab.field_demo.fields.textarea`,rules:{max:1e3},noLabel:!0}),e.smallText({key:`small_text`,label:`lab.field_demo.fields.small_text`,rules:{max:500}}),e.markdown({key:`markdown`,label:`lab.field_demo.fields.markdown`,rules:{max:5e3}}),e.snippet({key:`code`,label:`lab.field_demo.fields.code`,rules:{language:`yaml`,max:5e3}}),e.code({key:`snippet_struct`,label:`lab.field_demo.fields.snippet_struct`,rules:{defaultLang:`javascript`}}),e.json({key:`json`,label:`lab.field_demo.fields.json`}),e.period({key:`periods`,label:`lab.field_demo.fields.periods`,multiple:!0}),e.group({key:`row_single`,label:`lab.field_demo.fields.row_single`,icon:`lucide:rows-3`,fields:[e.select({key:`env`,label:`lab.field_demo.per_row.env`,options:[{value:`dev`,title:`lab.field_demo.options.env.dev`},{value:`prod`,title:`lab.field_demo.options.env.prod`}]}),e.url({key:`url`,label:`lab.field_demo.per_row.url`}),e.password({key:`token`,label:`lab.field_demo.per_row.token`})]}),e.keyed({key:`variants`,label:`lab.field_demo.fields.variants`,icon:`lucide:languages`,by:e.select({key:`lang`,label:`lab.field_demo.per_row.lang`,options:`languages`}),fields:[e.string({key:`name`,label:`lab.field_demo.per_row.name`}),e.string({key:`surname`,label:`lab.field_demo.per_row.surname`})]}),e.keyed({key:`perkey_fixed`,label:`lab.field_demo.fields.perkey_fixed`,icon:`lucide:key`,fixed:!0,by:e.select({key:`size`,label:`lab.field_demo.per_row.size`,options:[{value:`s`,title:`lab.field_demo.options.size.s`},{value:`m`,title:`lab.field_demo.options.size.m`},{value:`l`,title:`lab.field_demo.options.size.l`}]}),fields:[e.int({key:`qty`,label:`lab.field_demo.per_row.qty`,rules:{min:0}})]}),e.group({key:`row_ingredients`,label:`lab.field_demo.fields.row_ingredients`,icon:`lucide:carrot`,multiple:!0,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`lab.field_demo.per_row.product`,options:{library:`kitchen`,shelf:`food_item`}}),e.real({key:`amount`,label:`lab.field_demo.per_row.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`lab.field_demo.per_row.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.relation({key:`relation_single`,label:`lab.field_demo.fields.relation_single`,options:{library:`lab`,shelf:`field_demo_child`}}),e.relation({key:`relation_multi`,label:`lab.field_demo.fields.relation_multi`,options:{library:`lab`,shelf:`field_demo_child`},multiple:!0}),e.group({key:`coll_text`,label:`lab.field_demo.fields.coll_text`,icon:`lucide:type`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.string({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_integer`,label:`lab.field_demo.fields.coll_integer`,icon:`lucide:hash`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.int({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_select`,label:`lab.field_demo.fields.coll_select`,icon:`lucide:list-checks`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.select({key:`value`,label:`lab.field_demo.fields.pp_value`,options:[{value:`s`,title:`lab.field_demo.options.pp_select.s`},{value:`m`,title:`lab.field_demo.options.pp_select.m`},{value:`l`,title:`lab.field_demo.options.pp_select.l`}]})]}),e.perWeekday({key:`per_weekday`,label:`lab.field_demo.fields.per_weekday`,rules:{min:0,max:5,step:.5}}),e.group({key:`per_weekday_per_person`,label:`lab.field_demo.fields.per_weekday_per_person`,icon:`lucide:calendar-days`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.perWeekday({key:`value`,label:`lab.field_demo.fields.pp_value`,rules:{min:0,max:10,step:1}})]}),e.image({key:`image_gallery`,label:`lab.field_demo.fields.image_gallery`,multiple:!0}),e.avatar({key:`avatar_row`,label:`lab.field_demo.fields.avatar_row`,multiple:!0}),e.cover({key:`cover_carousel`,label:`lab.field_demo.fields.cover_carousel`,multiple:!0}),e.file({key:`attachment`,label:`lab.field_demo.fields.attachment`}),e.document({key:`doc`,label:`lab.field_demo.fields.doc`}),e.audio({key:`voice`,label:`lab.field_demo.fields.voice`}),e.video({key:`clip`,label:`lab.field_demo.fields.clip`}),e.media({key:`gallery`,label:`lab.field_demo.fields.gallery`,multiple:!0}),e.geo({key:`place`,label:`lab.field_demo.fields.place`}),e.keyValue({key:`key_value`,label:`lab.field_demo.fields.key_value`,multiple:!0}),e.keyValue({key:`key_value_secret`,label:`lab.field_demo.fields.key_value_secret`,option:e.password({label:``})}),e.group({key:`services_bylist`,label:`lab.field_demo.fields.services_bylist`,icon:`lucide:server`,multiple:!0,fields:[e.select({key:`type`,label:`devices.service.type`,options:`service-types`}),e.url({key:`url`,label:`devices.service.url`}),e.string({key:`login`,label:`devices.service.login`}),e.password({key:`password`,label:`devices.service.password`,emphasis:`muted`}),e.password({key:`token`,label:`devices.service.token`})]}),e.select({key:`type`,label:`lab.field_demo.fields.type`,options:[{value:`basic`,title:`lab.field_demo.options.type.basic`},{value:`advanced`,title:`lab.field_demo.options.type.advanced`}]})]}),l=t({shelf:`field_demo_child`,library:`lab`,label:`lab.field_demo_child.label`,icon:`lucide:link`,standalone:!1,fields:[e.title({key:`name`,label:`core.fields.name`}),e.relation({key:`demo_id`,label:`lab.field_demo_child.fields.demo_id`,options:{library:`lab`,shelf:`field_demo`}}),e.text({key:`notes`,label:`lab.field_demo_child.fields.notes`,rules:{max:500}})]}),u=n({id:`demo_extra`,label:`lab.demo_extra.label`,icon:`lucide:plus`,attachTo:[{library:`lab`,shelf:`field_demo`}],showWhen:{type:`advanced`},fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`extra_text`,label:`lab.demo_extra.fields.extra_text`,rules:{max:200}}),e.int({key:`extra_number`,label:`lab.demo_extra.fields.extra_number`,rules:{min:0}}),e.boolean({key:`extra_flag`,label:`lab.demo_extra.fields.extra_flag`})]}),d=r({id:`lab`,version:`1.0.0`,dependsOn:[`people`,`kitchen`,`devices`,`finance`,`geo`],settings:a({label:`lab.settings.label`,icon:`lucide:flask-conical`,fields:[e.info(`lab.settings.intro`),e.string({key:`greeting`,label:`lab.settings.fields.greeting`,rules:{max:80}}),e.boolean({key:`enabled`,label:`lab.settings.fields.enabled`}),e.select({key:`mode`,label:`lab.settings.fields.mode`,options:[{value:`fast`,title:`lab.settings.modes.fast`},{value:`safe`,title:`lab.settings.modes.safe`},{value:`debug`,title:`lab.settings.modes.debug`}]}),e.int({key:`retries`,label:`lab.settings.fields.retries`,rules:{min:0,max:10}}),e.divider(),e.info(`lab.settings.actions_info`),e.button({label:`lab.settings.run_button`,value:`lab.demoAction`,icon:`lucide:play`}),e.button({label:`lab.settings.fail_button`,value:`lab.demoFail`,icon:`lucide:bug`,variant:`destructive`}),e.button({label:`lab.settings.variants.default`,value:`lab.demoAction`,icon:`lucide:check`,variant:`default`}),e.button({label:`lab.settings.variants.secondary`,value:`lab.demoAction`,icon:`lucide:settings`,variant:`secondary`}),e.button({label:`lab.settings.variants.ghost`,value:`lab.demoAction`,icon:`lucide:ghost`,variant:`ghost`}),e.button({label:`lab.settings.variants.link`,value:`lab.demoAction`,icon:`lucide:link`,variant:`link`})]}),libraries:[{meta:i({id:`lab`,label:`lab.library.label`,icon:`lucide:flask-conical`,agent:`Developer demo of field types — not real household data; ignore unless explicitly asked.`}),shelves:[c,l]}],extends_:[u]});export{d as default};
@@ -0,0 +1 @@
1
+ import{i as e,r as t,s as n}from"./data-size-B44emc58.js";import{a as r,i,n as a,o,r as s,s as c,t as l}from"./src-BbGADHi4.js";export{s as cidr,t as dataSize,a as default,l as dev,e as diskSize,i as hostname,r as imei,o as ip,c as mac,n as ram};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=(e,t)=>(e??[]).reduce((e,n)=>e+(Number(n?.[t])||0),0),a=(e,t)=>(e??[]).map(e=>e?.[t]==null?``:String(e[t])).filter(e=>e!==``).sort()[0]??null,o=t({shelf:`food_item`,library:`kitchen`,label:`kitchen.food_item.label`,icon:`lucide:soup`,views:{list:[`subcategory`,`quantity`,`expires`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`kitchen.food_item.fields.logo`}),e.image({key:`photos`,label:`kitchen.food_item.fields.photos`,multiple:!0}),e.text({key:`description`,label:`kitchen.food_item.fields.description`,rules:{max:1e3}}),e.string({key:`subcategory`,label:`kitchen.food_item.fields.subcategory`,rules:{max:100}}),e.unit({key:`unit`,label:`kitchen.food_item.fields.unit`,options:`cooking`}),e.amount({key:`quantity`,label:`kitchen.food_item.fields.quantity`,unitFrom:`unit`,rules:{min:0},derive:{deps:[`variants`],fn:({record:e})=>i(e.variants,`quantity`)}}),e.amount({key:`minQuantity`,label:`kitchen.food_item.fields.minQuantity`,unitFrom:`unit`,rules:{min:0}}),e.reminder({key:`expires`,label:`kitchen.food_item.fields.expires`,rules:{lead:14},derive:{deps:[`variants`],fn:({record:e})=>a(e.variants,`expires`)}}),e.table({key:`variants`,label:`kitchen.food_item.fields.variants`,icon:`lucide:package`,fields:[e.string({key:`name`,label:`kitchen.food_item.variant.name`,rules:{max:200}}),e.amount({key:`quantity`,label:`kitchen.food_item.variant.quantity`,unitFrom:`parent:unit`,rules:{min:0}}),e.reminder({key:`expires`,label:`kitchen.food_item.variant.expires`,rules:{lead:14}}),e.relation({key:`location`,label:`kitchen.food_item.variant.location`,options:{library:`things`,shelf:`storage_location`}}),e.link({key:`shops`,label:`kitchen.food_item.variant.shops`,multiple:!0}),e.image({key:`photo`,label:`kitchen.food_item.variant.photo`})]}),e.text({key:`notes`,label:`kitchen.food_item.fields.notes`,rules:{max:2e3}}),e.tags({key:`tags`,label:`kitchen.food_item.fields.tags`})]}),s=t({shelf:`food_recipe`,library:`kitchen`,label:`kitchen.food_recipe.label`,icon:`lucide:clipboard-list`,views:{list:[`category`,`description`,`prep_time`,`cook_time`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`images`,label:`kitchen.food_recipe.fields.images`,multiple:!0}),e.text({key:`description`,label:`kitchen.food_recipe.fields.description`,rules:{max:500}}),e.int({key:`servings`,label:`kitchen.food_recipe.fields.servings`,rules:{min:1,max:100}}),e.select({key:`difficulty`,label:`kitchen.food_recipe.fields.difficulty`,options:[{value:`easy`,title:`kitchen.food_recipe.options.difficulty.easy`},{value:`medium`,title:`kitchen.food_recipe.options.difficulty.medium`},{value:`hard`,title:`kitchen.food_recipe.options.difficulty.hard`}]}),e.select({key:`category`,label:`kitchen.food_recipe.fields.category`,multiple:!0,options:[{value:`first`,title:`kitchen.food_recipe.options.category.first`},{value:`main`,title:`kitchen.food_recipe.options.category.main`},{value:`salad`,title:`kitchen.food_recipe.options.category.salad`},{value:`appetizer`,title:`kitchen.food_recipe.options.category.appetizer`},{value:`side`,title:`kitchen.food_recipe.options.category.side`},{value:`dessert`,title:`kitchen.food_recipe.options.category.dessert`},{value:`drink`,title:`kitchen.food_recipe.options.category.drink`},{value:`sauce`,title:`kitchen.food_recipe.options.category.sauce`}]}),e.tags({key:`tags`,label:`kitchen.food_recipe.fields.tags`}),e.duration({key:`prep_time`,label:`kitchen.food_recipe.fields.prep_time`}),e.duration({key:`cook_time`,label:`kitchen.food_recipe.fields.cook_time`}),e.table({key:`ingredients`,label:`kitchen.food_recipe.fields.ingredients`,icon:`lucide:carrot`,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`kitchen.food_recipe.ingredient.product`,options:{library:`kitchen`,shelf:`food_item`}}),e.amount({key:`amount`,label:`kitchen.food_recipe.ingredient.amount`,unitFrom:`relation:product.unit`,rules:{min:0}}),e.boolean({key:`optional`,label:`kitchen.food_recipe.ingredient.optional`}),e.lookup({key:`stock`,label:`kitchen.food_recipe.ingredient.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.markdown({key:`steps`,label:`kitchen.food_recipe.fields.steps`,rules:{max:5e3}}),e.text({key:`notes`,label:`kitchen.food_recipe.fields.notes`,rules:{max:1e3}})]}),c=t({shelf:`preferences`,library:`kitchen`,label:`kitchen.preferences.label`,icon:`lucide:notebook-pen`,single:!0,claude:`One record. The household food habits, diets and allergies; where groceries are bought, what is bought there and in what volumes; which kitchen appliances exist and which do not. Read it before suggesting recipes, building a shopping list, or planning a menu. An appliance listed as absent is a fact, not a gap — do not propose recipes that need it.`,fields:[e.markdown({key:`preferences`,label:`kitchen.preferences.fields.preferences`,rules:{max:1e4}}),e.markdown({key:`shops`,label:`kitchen.preferences.fields.shops`,rules:{max:1e4}}),e.markdown({key:`equipment`,label:`kitchen.preferences.fields.equipment`,rules:{max:1e4}}),e.text({key:`notes`,label:`kitchen.preferences.fields.notes`,rules:{max:1e4}})]}),l=n({id:`kitchen`,version:`1.0.0`,dependsOn:[`things`],libraries:[{meta:r({id:`kitchen`,label:`kitchen.library.label`,icon:`lucide:cooking-pot`,agent:`Food inventory and recipes — what is in stock, what is expiring, what can be cooked.`}),shelves:[o,s,c]}],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`kitchenware`,title:`kitchen.contrib.type.kitchenware`}]}]});export{l as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-fE_vzhqS.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webexport`,version:`1.0.0`,dependsOn:[],libraries:[],settings:n({label:`webexport.settings.label`,icon:`lucide:folder-output`,fields:[e.localDir({key:`output_dir`,label:`webexport.settings.output_dir`,required:!0})]})});export{r as default};
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webexport`,version:`1.0.0`,dependsOn:[],libraries:[],settings:n({label:`webexport.settings.label`,icon:`lucide:folder-output`,fields:[e.localDir({key:`output_dir`,label:`webexport.settings.output_dir`,required:!0})]})});export{r as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";import{t as i}from"./settings-Dfvzj6n2.js";var a=t({shelf:`bus_route`,library:`transit`,label:`transit.bus_route.label`,icon:`lucide:bus`,views:{list:[`route_number`,`from`,`to`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.int({key:`route_number`,label:`transit.bus_route.fields.route_number`}),e.string({key:`from`,label:`transit.bus_route.fields.from`,rules:{max:100}}),e.string({key:`to`,label:`transit.bus_route.fields.to`,rules:{max:100}}),e.string({key:`stop`,label:`transit.bus_route.fields.stop`,rules:{max:200}}),e.time({key:`weekday_times`,label:`transit.bus_route.fields.weekday_times`,multiple:!0}),e.time({key:`saturday_times`,label:`transit.bus_route.fields.saturday_times`,multiple:!0}),e.time({key:`sunday_times`,label:`transit.bus_route.fields.sunday_times`,multiple:!0}),e.text({key:`notes`,label:`transit.bus_route.fields.notes`,rules:{max:500}}),e.tags({key:`tags`,label:`transit.bus_route.fields.tags`})]}),o=n({id:`transit`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`transit`,label:`transit.library.label`,icon:`lucide:bus`,agent:`Local bus routes and their departure schedules (bus_route).`}),shelves:[a]}],settings:i({label:`transit.settings.label`,fields:[e.string({key:`caldav_calendar`,label:`transit.settings.caldav_calendar`}),e.string({key:`caldav_url`,label:`transit.settings.caldav_url`}),e.string({key:`caldav_username`,label:`transit.settings.caldav_username`}),e.password({key:`caldav_password`,label:`transit.settings.caldav_password`})]})});export{o as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-fE_vzhqS.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`telegram`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`telegram.settings.label`,fields:[e.int({key:`api_id`,label:`telegram.settings.api_id`}),e.password({key:`api_hash`,label:`telegram.settings.api_hash`}),e.password({key:`bot_token`,label:`telegram.settings.bot_token`}),e.tel({key:`phone`,label:`telegram.settings.phone`}),e.select({key:`reasoning_display`,label:`telegram.settings.reasoning_display`,default:`collapsible`,options:[{value:`off`,title:`telegram.settings.reasoning_display_off`},{value:`collapsible`,title:`telegram.settings.reasoning_display_collapsible`},{value:`separate`,title:`telegram.settings.reasoning_display_separate`}]})]})});export{r as default};
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`telegram`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`telegram.settings.label`,fields:[e.int({key:`api_id`,label:`telegram.settings.api_id`}),e.password({key:`api_hash`,label:`telegram.settings.api_hash`}),e.password({key:`bot_token`,label:`telegram.settings.bot_token`}),e.tel({key:`phone`,label:`telegram.settings.phone`}),e.select({key:`reasoning_display`,label:`telegram.settings.reasoning_display`,default:`collapsible`,options:[{value:`off`,title:`telegram.settings.reasoning_display_off`},{value:`collapsible`,title:`telegram.settings.reasoning_display_collapsible`},{value:`separate`,title:`telegram.settings.reasoning_display_separate`}]})]})});export{r as default};
@@ -1 +1 @@
1
- import{c as e,d as t,f as n,h as r,l as i,p as a,s as o,u as s}from"./fields-fE_vzhqS.js";var c={};function l(e){if(!e.kinds.length)throw Error(`[render] renderer without kinds`);let t={kinds:e.kinds,layout:e.layout,box:e.box,Page:e.Page,Inline:e.Inline,keys:e.keys};for(let n of e.kinds){if(c[n])throw Error(`[render] kind '${n}' already registered`);c[n]=t}}function u(e){return c[e.kind]}function d(c){if(t(c)||r(c))return c.type.kind;if(n(c))return c.kind??(e(c)?`collection`:s(c)?`embedded`:`group`);if(o(c))return`button`;if(i(c))return`divider`;if(a(c))return`info`;throw Error(`[render] unknown layout element`)}function f(e){let t=u(e)?.layout;return typeof t==`function`?t(e):t??`scalar`}var p=e=>e.hints.multi===!0||e.hints.multiple===!0?`block`:`scalar`,m={};function h(e,t){if(m[e])throw Error(`[template] '${e}' already registered`);m[e]=t}function g(e){return m[e]}export{h as a,l as i,f as n,u as o,p as r,g as s,d as t};
1
+ import{c as e,d as t,f as n,h as r,l as i,p as a,s as o,u as s}from"./fields-BvFhu2Zp.js";var c={};function l(e){if(!e.kinds.length)throw Error(`[render] renderer without kinds`);let t={kinds:e.kinds,layout:e.layout,box:e.box,Page:e.Page,Inline:e.Inline,keys:e.keys};for(let n of e.kinds){if(c[n])throw Error(`[render] kind '${n}' already registered`);c[n]=t}}function u(e){return c[e.kind]}function d(c){if(t(c)||r(c))return c.type.kind;if(n(c))return c.kind??(e(c)?`collection`:s(c)?`embedded`:`group`);if(o(c))return`button`;if(i(c))return`divider`;if(a(c))return`info`;throw Error(`[render] unknown layout element`)}function f(e){let t=u(e)?.layout;return typeof t==`function`?t(e):t??`scalar`}var p=e=>e.hints.multi===!0||e.hints.multiple===!0?`block`:`scalar`,m={};function h(e,t){if(m[e])throw Error(`[template] '${e}' already registered`);m[e]=t}function g(e){return m[e]}export{h as a,l as i,f as n,u as o,p as r,g as s,d as t};
@@ -0,0 +1,4 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`meter_reading`,library:`home`,label:`home.meter_reading.label`,icon:`lucide:gauge`,claude:`Utility meter readings for a date. name — reading period, e.g. "2026-05".
2
+ date — reading date. cold_water/hot_water — water meter readings (m³).
3
+ electricity — electricity meter reading (kWh). gas — gas meter reading (m³).
4
+ Stores RAW cumulative readings, not consumption (the difference is a derived calculation).`,views:{title:`date`,inline:[`date`],list:[`cold_water`,`hot_water`,`electricity`,`gas`]},fields:[e.date({key:`date`,label:`home.meter_reading.fields.date`,required:!0,rules:{min:`2000-01-01`,max:`today`}}),e.real({key:`cold_water`,label:`home.meter_reading.fields.cold_water`,rules:{min:0}}),e.real({key:`hot_water`,label:`home.meter_reading.fields.hot_water`,rules:{min:0}}),e.real({key:`electricity`,label:`home.meter_reading.fields.electricity`,rules:{min:0}}),e.real({key:`gas`,label:`home.meter_reading.fields.gas`,rules:{min:0}}),e.text({key:`notes`,label:`home.meter_reading.fields.notes`,rules:{max:500}})]}),a=t({shelf:`room`,library:`home`,label:`home.room.label`,icon:`lucide:door-open`,claude:`A room/space in the apartment. name — name (Bedroom, Kitchen). area — area (m²). This is a reference list of places: a target for relations from material (where a material was used). Does not store the materials themselves.`,views:{inline:[`name`],list:[`area`]},fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.measured({key:`area`,label:`home.room.fields.area`,options:`area`,rules:{min:0}}),e.text({key:`notes`,label:`home.room.fields.notes`,rules:{max:500}})]}),o=t({shelf:`material`,library:`home`,label:`home.material.label`,icon:`lucide:paint-roller`,claude:`A material/paint used in renovation. One record = a specific product (e.g. "Dulux Easycare, RAL 9010"). name — name, type — category, brand — manufacturer, color/color_code — color and tint code. rooms — relation to home/room (where used, can be several). price/quantity/store/bought_date/link — purchase data. photo/rating/notes — photos and impressions. Does NOT store a work log/timeline — only a catalog of "what was bought and where it is used".`,views:{inline:[`name`,`color`],list:[`type`,`color`,`brand`,`rooms`]},fields:[e.group({label:`home.material.group.identity`,icon:`lucide:tag`,fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.select({key:`type`,label:`core.fields.type`,options:[{value:`paint`,title:`home.material.options.type.paint`},{value:`primer`,title:`home.material.options.type.primer`},{value:`lacquer`,title:`home.material.options.type.lacquer`},{value:`enamel`,title:`home.material.options.type.enamel`},{value:`plaster`,title:`home.material.options.type.plaster`},{value:`tile`,title:`home.material.options.type.tile`},{value:`laminate`,title:`home.material.options.type.laminate`},{value:`wallpaper`,title:`home.material.options.type.wallpaper`},{value:`skirting`,title:`home.material.options.type.skirting`},{value:`panel`,title:`home.material.options.type.panel`},{value:`putty`,title:`home.material.options.type.putty`},{value:`glue`,title:`home.material.options.type.glue`},{value:`cement`,title:`home.material.options.type.cement`},{value:`drywall`,title:`home.material.options.type.drywall`},{value:`insulation`,title:`home.material.options.type.insulation`},{value:`fixture`,title:`home.material.options.type.fixture`},{value:`plumbing`,title:`home.material.options.type.plumbing`},{value:`other`,title:`home.material.options.type.other`}]}),e.string({key:`brand`,label:`home.material.fields.brand`,rules:{max:120}}),e.color({key:`color`,label:`home.material.fields.color`}),e.string({key:`color_code`,label:`home.material.fields.color_code`,rules:{max:60}}),e.relation({key:`rooms`,label:`home.material.fields.rooms`,options:{library:`home`,shelf:`room`},multiple:!0})]}),e.group({label:`home.material.group.purchase`,icon:`lucide:shopping-cart`,fields:[e.measured({key:`price`,label:`home.material.fields.price`,options:`currency`,rules:{min:0}}),e.measured({key:`quantity`,label:`home.material.fields.quantity`,options:[{value:`l`,label:`core.units.l`},{value:`kg`,label:`core.units.kg`},{value:`m2`,label:`core.units.m2`},{value:`pcs`,label:`core.units.pcs`}],rules:{min:0}}),e.string({key:`store`,label:`home.material.fields.store`,rules:{max:120}}),e.date({key:`bought_date`,label:`home.material.fields.bought_date`,rules:{max:`today`}}),e.link({key:`link`,label:`home.material.fields.link`})]}),e.group({label:`home.material.group.media`,icon:`lucide:image`,fields:[e.image({key:`photo`,label:`home.material.fields.photo`,multiple:!0}),e.rating({key:`rating`,label:`home.material.fields.rating`,rules:{max:5}})]}),e.text({key:`notes`,label:`home.material.fields.notes`,rules:{max:2e3}})]}),s=n({id:`home`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`home`,label:`home.library.label`,icon:`lucide:house`,agent:`The home itself — renovation materials, utility meter readings, rooms.`}),shelves:[i,a,o]}]});export{s as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{a as t}from"./shelf-D-ifpKTJ.js";import{n,r}from"./plugin-q1oOYqt7.js";import{t as i}from"./settings-Dfvzj6n2.js";var a=t({shelf:`title`,library:`media`,label:`media.title.label`,icon:`lucide:clapperboard`,claude:`A movie or series in the watchlist. name — the title. kind — movie/series. status — viewing intent (want=added to the list, not in Jellyfin yet / unwatched=in Jellyfin, not watched / watching / watched / dropped). in_library, jellyfin_id and source are mirrored from Jellyfin — do not edit manually when source=jellyfin (sync will overwrite).`,views:{list:[`kind`,`status`,`year`,`imdb_rating`],groupBy:[`kind`,`status`,`genres`,`year`,`source`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.poster({key:`poster`,label:`media.title.fields.poster`}),e.text({key:`overview`,label:`media.title.fields.overview`,rules:{max:2e3}}),e.select({key:`kind`,label:`media.title.fields.kind`,options:[{value:`movie`,title:`media.title.options.kind.movie`},{value:`series`,title:`media.title.options.kind.series`}]}),e.int({key:`year`,label:`media.title.fields.year`}),e.tags({key:`genres`,label:`media.title.fields.genres`}),e.duration({key:`runtime`,label:`media.title.fields.runtime`}),e.string({key:`tmdb_id`,label:`media.title.fields.tmdb_id`,rules:{max:32}}),e.string({key:`imdb_id`,label:`media.title.fields.imdb_id`,rules:{max:32}}),e.real({key:`tmdb_rating`,label:`media.title.fields.tmdb_rating`}),e.real({key:`imdb_rating`,label:`media.title.fields.imdb_rating`}),e.select({key:`status`,label:`media.title.fields.status`,options:[{value:`want`,title:`media.title.options.status.want`},{value:`unwatched`,title:`media.title.options.status.unwatched`},{value:`watching`,title:`media.title.options.status.watching`},{value:`watched`,title:`media.title.options.status.watched`},{value:`dropped`,title:`media.title.options.status.dropped`}]}),e.date({key:`watched_date`,label:`media.title.fields.watched_date`}),e.int({key:`seasons`,label:`media.title.fields.seasons`,rules:{min:0}}),e.int({key:`episodes`,label:`media.title.fields.episodes`,rules:{min:0}}),e.boolean({key:`in_library`,label:`media.title.fields.in_library`}),e.link({key:`jellyfin_id`,label:`media.title.fields.jellyfin_id`,rules:{max:300}}),e.select({key:`source`,label:`media.title.fields.source`,default:`manual`,options:[{value:`manual`,title:`media.title.options.source.manual`},{value:`jellyfin`,title:`media.title.options.source.jellyfin`},{value:`agent`,title:`media.title.options.source.agent`}]}),e.link({key:`link`,label:`media.title.fields.link`})]}),o=n({id:`media`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`media`,label:`media.library.label`,icon:`lucide:clapperboard`,agent:`Movies and series watchlist (title) — tracked against a Jellyfin library.`}),shelves:[a]}],settings:i({label:`media.settings.label`,fields:[e.password({key:`tmdb_key`,label:`media.settings.tmdb_key`,required:!0}),e.password({key:`omdb_key`,label:`media.settings.omdb_key`}),e.string({key:`jellyfin_url`,label:`media.settings.jellyfin_url`}),e.password({key:`jellyfin_token`,label:`media.settings.jellyfin_token`}),e.string({key:`jellyfin_user_id`,label:`media.settings.jellyfin_user_id`}),e.button({label:`media.settings.test_button`,value:`media.testJellyfin`,icon:`lucide:wifi`}),e.button({label:`media.settings.sync_button`,value:`media.syncJellyfin`,icon:`lucide:refresh-cw`})]})});export{o as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-BvFhu2Zp.js";import{t}from"./extend-CbEbk8Xz.js";import{n}from"./plugin-q1oOYqt7.js";var r=n({id:`drone`,version:`1.0.0`,dependsOn:[`things`],extends_:[t({id:`drone`,label:`drone.drone.label`,icon:`tb:drone`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone`},claude:`FPV drone technical characteristics. frame_size — frame size (e.g. 3.5"). motors — motors. firmware — firmware (Betaflight/INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`frame_size`,label:`drone.drone.fields.frame_size`,rules:{max:40}}),e.string({key:`purpose`,label:`drone.drone.fields.purpose`,rules:{max:200}}),e.string({key:`motors`,label:`drone.drone.fields.motors`,rules:{max:150}}),e.string({key:`props`,label:`drone.drone.fields.props`,rules:{max:80}}),e.string({key:`camera`,label:`drone.drone.fields.camera`,rules:{max:100}}),e.string({key:`flight_controller`,label:`drone.drone.fields.flight_controller`,rules:{max:100}}),e.string({key:`vtx`,label:`drone.drone.fields.vtx`,rules:{max:100}}),e.string({key:`gps_module`,label:`drone.drone.fields.gps_module`,rules:{max:100}}),e.string({key:`radio_link`,label:`drone.drone.fields.radio_link`,rules:{max:80}}),e.string({key:`receiver`,label:`drone.drone.fields.receiver`,rules:{max:80}}),e.string({key:`video_system`,label:`drone.drone.fields.video_system`,rules:{max:80}}),e.string({key:`power_module`,label:`drone.drone.fields.power_module`,rules:{max:60}}),e.string({key:`flight_time`,label:`drone.drone.fields.flight_time`,rules:{max:60}}),e.string({key:`firmware`,label:`drone.drone.fields.firmware`,rules:{max:100}}),e.string({key:`firmware_target`,label:`drone.drone.fields.firmware_target`,rules:{max:80}}),e.image({key:`photos`,label:`drone.drone.fields.photos`,multiple:!0}),e.text({key:`notes`,label:`drone.drone.fields.notes`,rules:{max:2e3}})]}),t({id:`drone_battery`,label:`drone.drone_battery.label`,icon:`lucide:battery-full`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_battery`},claude:`FPV drone battery characteristics. cells — number of cells (1S/3S/4S). capacity — capacity in mAh. c_rate — discharge current. auw — all-up weight of the assembly in flight.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`brand`,label:`drone.drone_battery.fields.brand`,rules:{max:80}}),e.string({key:`charger`,label:`drone.drone_battery.fields.charger`,rules:{max:100}}),e.string({key:`cells`,label:`drone.drone_battery.fields.cells`,rules:{max:10}}),e.measured({key:`capacity`,label:`drone.drone_battery.fields.capacity`,options:`energy`}),e.string({key:`c_rate`,label:`drone.drone_battery.fields.c_rate`,rules:{max:20}}),e.string({key:`auw`,label:`drone.drone_battery.fields.auw`,rules:{max:40}}),e.text({key:`notes`,label:`drone.drone_battery.fields.notes`,rules:{max:2e3}})]}),t({id:`drone_vtx`,label:`drone.drone_vtx.label`,icon:`lucide:radio-tower`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_vtx`},claude:`FPV video transmitter characteristics. input_voltage — input voltage. output_power — power levels. protocol — control protocol (IRC Tramp, SmartAudio). channel_count — number of channels.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`input_voltage`,label:`drone.drone_vtx.fields.input_voltage`,rules:{max:40}}),e.string({key:`output_power`,label:`drone.drone_vtx.fields.output_power`,rules:{max:100}}),e.string({key:`protocol`,label:`drone.drone_vtx.fields.protocol`,rules:{max:60}}),e.string({key:`antenna_interface`,label:`drone.drone_vtx.fields.antenna_interface`,rules:{max:40}}),e.int({key:`channel_count`,label:`drone.drone_vtx.fields.channel_count`,rules:{min:0}}),e.string({key:`mounting`,label:`drone.drone_vtx.fields.mounting`,rules:{max:80}}),e.boolean({key:`built_in_microphone`,label:`drone.drone_vtx.fields.built_in_microphone`}),e.json({key:`frequency_groups`,label:`drone.drone_vtx.fields.frequency_groups`}),e.json({key:`output_power_levels`,label:`drone.drone_vtx.fields.output_power_levels`}),e.text({key:`notes`,label:`drone.drone_vtx.fields.notes`,rules:{max:2e3}})]}),t({id:`drone_gps`,label:`drone.drone_gps.label`,icon:`lucide:satellite`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_gps_module`},claude:`FPV drone GPS module characteristics. gnss_chip — chipset. compass_chip — magnetometer. satellite_systems — supported satellite systems.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`gnss_chip`,label:`drone.drone_gps.fields.gnss_chip`,rules:{max:80}}),e.string({key:`compass_chip`,label:`drone.drone_gps.fields.compass_chip`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_gps.fields.barometer`}),e.string({key:`interface`,label:`drone.drone_gps.fields.interface`,rules:{max:40}}),e.string({key:`input_voltage`,label:`drone.drone_gps.fields.input_voltage`,rules:{max:40}}),e.int({key:`update_rate_hz`,label:`drone.drone_gps.fields.update_rate_hz`,rules:{min:0}}),e.int({key:`receiving_channels`,label:`drone.drone_gps.fields.receiving_channels`,rules:{min:0}}),e.json({key:`supported_protocols`,label:`drone.drone_gps.fields.supported_protocols`}),e.json({key:`baud_rates`,label:`drone.drone_gps.fields.baud_rates`}),e.json({key:`satellite_systems`,label:`drone.drone_gps.fields.satellite_systems`}),e.text({key:`notes`,label:`drone.drone_gps.fields.notes`,rules:{max:2e3}})]}),t({id:`drone_flight_controller`,label:`drone.drone_flight_controller.label`,icon:`lucide:sliders-horizontal`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_flight_controller`},claude:`FPV drone flight controller characteristics. mcu — processor (STM32F411/F405). gyro — gyroscope. supported_firmware — compatible firmware (Betaflight, INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`mcu`,label:`drone.drone_flight_controller.fields.mcu`,rules:{max:60}}),e.string({key:`gyro`,label:`drone.drone_flight_controller.fields.gyro`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_flight_controller.fields.barometer`}),e.string({key:`osd_chip`,label:`drone.drone_flight_controller.fields.osd_chip`,rules:{max:40}}),e.string({key:`blackbox`,label:`drone.drone_flight_controller.fields.blackbox`,rules:{max:40}}),e.boolean({key:`bluetooth`,label:`drone.drone_flight_controller.fields.bluetooth`}),e.boolean({key:`wifi`,label:`drone.drone_flight_controller.fields.wifi`}),e.boolean({key:`current_sensor_input`,label:`drone.drone_flight_controller.fields.current_sensor_input`}),e.string({key:`power_input`,label:`drone.drone_flight_controller.fields.power_input`,rules:{max:40}}),e.string({key:`constant_current`,label:`drone.drone_flight_controller.fields.constant_current`,rules:{max:20}}),e.string({key:`peak_current`,label:`drone.drone_flight_controller.fields.peak_current`,rules:{max:20}}),e.string({key:`bec_5v`,label:`drone.drone_flight_controller.fields.bec_5v`,rules:{max:20}}),e.string({key:`bec_9v`,label:`drone.drone_flight_controller.fields.bec_9v`,rules:{max:20}}),e.string({key:`mounting`,label:`drone.drone_flight_controller.fields.mounting`,rules:{max:60}}),e.int({key:`uart_count`,label:`drone.drone_flight_controller.fields.uart_count`,rules:{min:0}}),e.json({key:`supported_firmware`,label:`drone.drone_flight_controller.fields.supported_firmware`}),e.string({key:`firmware_target`,label:`drone.drone_flight_controller.fields.firmware_target`,rules:{max:80}}),e.string({key:`build_role`,label:`drone.drone_flight_controller.fields.build_role`,rules:{max:200}}),e.text({key:`notes`,label:`drone.drone_flight_controller.fields.notes`,rules:{max:2e3}})]}),t({id:`drone_goggles`,label:`drone.drone_goggles.label`,icon:`lucide:glasses`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_goggles`},claude:`FPV goggles characteristics. display_size — display diagonal. frequency_bands — supported radio bands. battery_life — runtime on battery.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`display_size`,label:`drone.drone_goggles.fields.display_size`,rules:{max:20}}),e.string({key:`display_resolution`,label:`drone.drone_goggles.fields.display_resolution`,rules:{max:40}}),e.string({key:`display_brightness`,label:`drone.drone_goggles.fields.display_brightness`,rules:{max:30}}),e.string({key:`view_angle`,label:`drone.drone_goggles.fields.view_angle`,rules:{max:20}}),e.string({key:`antenna`,label:`drone.drone_goggles.fields.antenna`,rules:{max:80}}),e.json({key:`frequency_bands`,label:`drone.drone_goggles.fields.frequency_bands`}),e.string({key:`battery`,label:`drone.drone_goggles.fields.battery`,rules:{max:60}}),e.string({key:`battery_life`,label:`drone.drone_goggles.fields.battery_life`,rules:{max:40}}),e.string({key:`charging`,label:`drone.drone_goggles.fields.charging`,rules:{max:60}}),e.json({key:`band_channels`,label:`drone.drone_goggles.fields.band_channels`}),e.text({key:`notes`,label:`drone.drone_goggles.fields.notes`,rules:{max:2e3}})]})],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`drone`,title:`drone.drone.label`},{value:`drone_battery`,title:`drone.drone_battery.label`},{value:`drone_vtx`,title:`drone.drone_vtx.label`},{value:`drone_gps_module`,title:`drone.drone_gps.label`},{value:`drone_flight_controller`,title:`drone.drone_flight_controller.label`},{value:`drone_goggles`,title:`drone.drone_goggles.label`},{value:`fpv-controller`,title:`drone.contrib.type.fpv_controller`},{value:`fpv-camera`,title:`drone.contrib.type.fpv_camera`}]}]});export{r as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatWidget-CnETJEZj.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-BskHO5hY.js","assets/x-CzSVfh-E.js","assets/clsx-CjueKrWZ.js","assets/icons-DBHj1PyA.js","assets/chevron-down-DgMjlPLK.js","assets/use-media-query-D1fYNz6w.js","assets/upload-C8XxQG6m.js","assets/square-DuQOQJGU.js","assets/src-R3C69mft.js","assets/fields-BvFhu2Zp.js","assets/plugin-ui-CKd6q8ec.js","assets/api-DsJ6cAbe.js","assets/dialog-BKC2UrX0.js","assets/ui-vendor-EU9CHLyR.js","assets/development-olQNibq5.js","assets/micromark-extension-gfm-BUw6_ZLT.js","assets/space-separated-tokens-IJiqTQpk.js","assets/lib-Du7RHLba.js","assets/lib-sYoE14fC.js","assets/lib-B13BbhLB.js"])))=>i.map(i=>d[i]);
2
+ import{f as e}from"./react-vendor-BskHO5hY.js";import"./src-R3C69mft.js";import{n as t}from"./plugin-ui-CKd6q8ec.js";var n=t({slots:[{slot:`overlay`,id:`webchat`,load:()=>e(()=>import(`./ChatWidget-CnETJEZj.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]))}]});export{n as default};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GeoMap-DOMXVIzU.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-BskHO5hY.js","assets/GeoMap-vh-t_kPv.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{f as r,l as i,r as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./x-BFRg18Fi.js";import{c as l}from"./input-group-DnBGkT_z.js";import{a as u,u as d}from"./Icon-wZ-Cwtc3.js";import{t as f}from"./button-DsalTwxl.js";import"./shared-C2_-YViH.js";import{a as p,o as m}from"./chrome-_m2AYIjS.js";import{r as h,s as g}from"./shelf-BU6Jrxdn.js";import"./src-BlTOHYZL.js";import{n as _}from"./plugin-ui-CKd6q8ec.js";import{t as v}from"./dispatch-Bpnn2XRC.js";var y=s(`locate-fixed`,[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),b=e(t(),1);function x(e,t){return Math.floor((e+180)/360*2**t)}function S(e,t){let n=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(n)+1/Math.cos(n))/Math.PI)/2*2**t)}function C(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${x(t,n)}/${S(e,n)}.png`}var w=o(),T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`,E=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`),__vite__mapDeps([0,1,2,3,4])));function D(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var O=e=>Number(e.toFixed(6)),k=e=>e.lat==null&&e.lng==null&&!e.label?``:e;function A({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex h-24 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border text-sm text-muted hover:border-accent`,children:[(0,w.jsxDEV)(d,{size:16},void 0,!1,{fileName:T,lineNumber:35,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:T,lineNumber:30,columnNumber:7},this):(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,title:e.label??`${e.lat}, ${e.lng}`,className:`relative block h-24 w-full overflow-hidden rounded-lg border border-border hover:border-accent`,children:[(0,w.jsxDEV)(`img`,{src:C(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:T,lineNumber:46,columnNumber:7},this),(0,w.jsxDEV)(d,{size:22,fill:`currentColor`,className:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-full text-danger drop-shadow`},void 0,!1,{fileName:T,lineNumber:47,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:40,columnNumber:5},this)}function j({value:e,onChange:t,editable:r,onClose:i}){let{t:a}=n(),[o,s]=(0,b.useState)(()=>D(e)),[d,p]=(0,b.useState)(``),[m,h]=(0,b.useState)(!1),g=e=>s(e),_=e=>e===``?void 0:Number(e),v=(0,b.useRef)(o);v.current=o;let x=(0,b.useCallback)(()=>i(),[i]),S=(0,b.useCallback)(()=>{t?.(k(v.current)),i()},[t,i]);(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&x()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[x]);function C(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>g({...o,lat:O(e.coords.latitude),lng:O(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function A(){if(d.trim()){h(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(d)}`)).json();Array.isArray(e)&&e[0]&&g({lat:O(+e[0].lat),lng:O(+e[0].lon),label:o.label||e[0].display_name})}catch{}h(!1)}}return(0,w.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center bg-black/85 p-4 backdrop-blur-sm`,onClick:x,children:(0,w.jsxDEV)(`div`,{className:`flex max-h-[92dvh] w-full max-w-3xl flex-col gap-2 rounded-xl bg-bg p-3`,onClick:e=>e.stopPropagation(),children:[(0,w.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,w.jsxDEV)(w.Fragment,{children:[(0,w.jsxDEV)(l,{placeholder:a(`geo.searchPlaceholder`),value:d,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),A())},className:`flex-1`},void 0,!1,{fileName:T,lineNumber:133,columnNumber:15},this),(0,w.jsxDEV)(f,{type:`button`,variant:`secondary`,size:`icon`,disabled:m,onClick:A,title:a(`geo.search`),children:(0,w.jsxDEV)(u,{size:16},void 0,!1,{fileName:T,lineNumber:153,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:145,columnNumber:15},this),(0,w.jsxDEV)(f,{type:`button`,variant:`secondary`,size:`icon`,onClick:C,title:a(`geo.myLocation`),children:(0,w.jsxDEV)(y,{size:16},void 0,!1,{fileName:T,lineNumber:156,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:132,columnNumber:13},this),(0,w.jsxDEV)(f,{type:`button`,variant:`ghost`,size:`icon`,onClick:x,className:`ml-auto`,children:(0,w.jsxDEV)(c,{size:18},void 0,!1,{fileName:T,lineNumber:161,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:160,columnNumber:11},this)]},void 0,!0,{fileName:T,lineNumber:130,columnNumber:9},this),(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-surface/40`},void 0,!1,{fileName:T,lineNumber:164,columnNumber:29},this),children:(0,w.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,w.jsxDEV)(E,{lat:o.lat,lng:o.lng,interactive:r,onPick:r?(e,t)=>g({...o,lat:e,lng:t}):void 0},void 0,!1,{fileName:T,lineNumber:166,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:T,lineNumber:164,columnNumber:9},this),r?(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,w.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lat`,value:o.lat??``,onChange:e=>g({...o,lat:_(e.target.value)})},void 0,!1,{fileName:T,lineNumber:178,columnNumber:15},this),(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lng`,value:o.lng??``,onChange:e=>g({...o,lng:_(e.target.value)})},void 0,!1,{fileName:T,lineNumber:185,columnNumber:15},this),(0,w.jsxDEV)(l,{placeholder:a(`geo.label`),value:o.label??``,onChange:e=>g({...o,label:e.target.value||void 0})},void 0,!1,{fileName:T,lineNumber:192,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:177,columnNumber:13},this),(0,w.jsxDEV)(f,{type:`button`,onClick:S,className:`sm:self-auto`,children:a(`actions.save`)},void 0,!1,{fileName:T,lineNumber:198,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:175,columnNumber:11},this):o.lat!=null&&o.lng!=null&&(0,w.jsxDEV)(`a`,{className:`text-sm text-accent hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${o.lat}&mlon=${o.lng}#map=15/${o.lat}/${o.lng}`,children:o.label??`${o.lat.toFixed(5)}, ${o.lng?.toFixed(5)}`},void 0,!1,{fileName:T,lineNumber:205,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:126,columnNumber:7},this)},void 0,!1,{fileName:T,lineNumber:122,columnNumber:5},this)}function M({value:e,onChange:t,editable:n}){let r=(0,b.useMemo)(()=>D(e),[e]),[i,a]=(0,b.useState)(!1);return(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxDEV)(A,{g:r,onOpen:()=>a(!0)},void 0,!1,{fileName:T,lineNumber:225,columnNumber:7},this),r.label&&(0,w.jsxDEV)(`span`,{className:`truncate text-xs text-muted`,children:r.label},void 0,!1,{fileName:T,lineNumber:226,columnNumber:19},this),i&&(0,w.jsxDEV)(j,{value:e,onChange:t,editable:n,onClose:()=>a(!1)},void 0,!1,{fileName:T,lineNumber:227,columnNumber:16},this)]},void 0,!0,{fileName:T,lineNumber:224,columnNumber:5},this)}function N(e){let t=!!e.onChange&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),n=(0,w.jsxDEV)(M,{value:e.value,onChange:t=>e.onChange?.(t),editable:t},void 0,!1,{fileName:T,lineNumber:234,columnNumber:16},this);return e.bare?n:(0,w.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,w.jsxDEV)(m,{label:e.label,required:e.required},void 0,!1,{fileName:T,lineNumber:238,columnNumber:33},this),n,(0,w.jsxDEV)(p,{error:e.error},void 0,!1,{fileName:T,lineNumber:240,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:237,columnNumber:5},this)}function P({value:e}){let t=D(e);return(0,w.jsxDEV)(`span`,{className:`truncate`,children:t.label??(t.lat==null?`—`:`${t.lat.toFixed(3)}, ${t.lng?.toFixed(3)}`)},void 0,!1,{fileName:T,lineNumber:248,columnNumber:5},this)}var F={kinds:[`geo`],Page:N,Inline:P};function I(e,t){let n=g(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function L(e,t){let n=I(e,t);return n.length===1?n[0]:null}function R(e,t){let n=g(e.fields),r=t[0];if(!r||!n[r])return`views.list.fields: shelf has no text field for its title (titleKey fell back to "id")`;let i=I(e,t);return i.length===0?`views.list.fields does not contain a kind:"geo" field`:i.length>1?`views.list.fields contains multiple geo fields: ${i.join(`, `)}`:null}var z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,B=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function V({rows:e,shelf:t,keys:r,hrefBase:o}){let{t:s}=n(),c=i(),[l,u]=(0,b.useState)(!1),d=g(t.fields),f=L(t,r),p=r[0],{points:m,without:_}=(0,b.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=f?h(d[f],f,r):void 0;e&&typeof e.lat==`number`&&typeof e.lng==`number`?t.push({id:String(r.id),lat:e.lat,lng:e.lng,title:String(h(d[p],p,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,f,p,d]);return(0,w.jsxDEV)(`div`,{className:`p-4`,children:[(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:z,lineNumber:48,columnNumber:27},this),children:(0,w.jsxDEV)(B,{points:m,onPick:e=>c(`${o}/${e}`)},void 0,!1,{fileName:z,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:z,lineNumber:48,columnNumber:7},this),_.length>0&&(0,w.jsxDEV)(`div`,{className:`mt-3`,children:[(0,w.jsxDEV)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`text-sm text-muted hover:text-text transition-colors`,children:s(`geo.withoutCoords`,{count:_.length})},void 0,!1,{fileName:z,lineNumber:53,columnNumber:11},this),l&&(0,w.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:_.map(e=>(0,w.jsxDEV)(`li`,{children:(0,w.jsxDEV)(a,{to:`${o}/${e.id}`,className:`text-sm text-text hover:text-accent`,children:(0,w.jsxDEV)(v,{field:d[p],value:h(d[p],p,e)},void 0,!1,{fileName:z,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:z,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:z,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:z,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:z,lineNumber:47,columnNumber:5},this)}var H=_({renderers:[F],listViews:[{kind:`map`,View:V,check:R}],translations:{uk:{geo:{searchPlaceholder:`Пошук адреси…`,search:`Знайти`,myLocation:`Моє місцеположення`,label:`Підпис`,pick:`Обрати місце`,withoutCoords:`Без координат: {{count}}`}},ru:{geo:{searchPlaceholder:`Поиск адреса…`,search:`Найти`,myLocation:`Моё местоположение`,label:`Подпись`,pick:`Выбрать место`,withoutCoords:`Без координат: {{count}}`}},en:{geo:{searchPlaceholder:`Search address…`,search:`Search`,myLocation:`My location`,label:`Label`,pick:`Pick location`,withoutCoords:`Without coordinates: {{count}}`}}}});export{H as default};
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{f as r,l as i,r as a,t as o}from"./react-vendor-BskHO5hY.js";import{r as s,t as c}from"./x-CzSVfh-E.js";import{s as l}from"./input-group-Cp9n2MAA.js";import{a as u,u as d}from"./Icon-Dydn049Z.js";import"./shared-vjdjsgQc.js";import{a as f,o as p}from"./chrome-BfURuVBW.js";import{r as m,s as h}from"./shelf-D-ifpKTJ.js";import"./src-R3C69mft.js";import{n as g}from"./plugin-ui-CKd6q8ec.js";import{t as _}from"./button-DaYjtbcx.js";import{t as v}from"./dispatch-B7QFSWwA.js";var y=s(`locate-fixed`,[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),b=e(t(),1);function x(e,t){return Math.floor((e+180)/360*2**t)}function S(e,t){let n=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(n)+1/Math.cos(n))/Math.PI)/2*2**t)}function C(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${x(t,n)}/${S(e,n)}.png`}var w=o(),T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`,E=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`),__vite__mapDeps([0,1,2,3,4])));function D(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var O=e=>Number(e.toFixed(6)),k=e=>e.lat==null&&e.lng==null&&!e.label?``:e;function A({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex h-24 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border text-sm text-muted hover:border-accent`,children:[(0,w.jsxDEV)(d,{size:16},void 0,!1,{fileName:T,lineNumber:35,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:T,lineNumber:30,columnNumber:7},this):(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,title:e.label??`${e.lat}, ${e.lng}`,className:`relative block h-24 w-full overflow-hidden rounded-lg border border-border hover:border-accent`,children:[(0,w.jsxDEV)(`img`,{src:C(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:T,lineNumber:46,columnNumber:7},this),(0,w.jsxDEV)(d,{size:22,fill:`currentColor`,className:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-full text-danger drop-shadow`},void 0,!1,{fileName:T,lineNumber:47,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:40,columnNumber:5},this)}function j({value:e,onChange:t,editable:r,onClose:i}){let{t:a}=n(),[o,s]=(0,b.useState)(()=>D(e)),[d,f]=(0,b.useState)(``),[p,m]=(0,b.useState)(!1),h=e=>s(e),g=e=>e===``?void 0:Number(e),v=(0,b.useRef)(o);v.current=o;let x=(0,b.useCallback)(()=>i(),[i]),S=(0,b.useCallback)(()=>{t?.(k(v.current)),i()},[t,i]);(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&x()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[x]);function C(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>h({...o,lat:O(e.coords.latitude),lng:O(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function A(){if(d.trim()){m(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(d)}`)).json();Array.isArray(e)&&e[0]&&h({lat:O(+e[0].lat),lng:O(+e[0].lon),label:o.label||e[0].display_name})}catch{}m(!1)}}return(0,w.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center bg-black/85 p-4 backdrop-blur-sm`,onClick:x,children:(0,w.jsxDEV)(`div`,{className:`flex max-h-[92dvh] w-full max-w-3xl flex-col gap-2 rounded-xl bg-bg p-3`,onClick:e=>e.stopPropagation(),children:[(0,w.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,w.jsxDEV)(w.Fragment,{children:[(0,w.jsxDEV)(l,{placeholder:a(`geo.searchPlaceholder`),value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),A())},className:`flex-1`},void 0,!1,{fileName:T,lineNumber:133,columnNumber:15},this),(0,w.jsxDEV)(_,{type:`button`,variant:`secondary`,size:`icon`,disabled:p,onClick:A,title:a(`geo.search`),children:(0,w.jsxDEV)(u,{size:16},void 0,!1,{fileName:T,lineNumber:153,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:145,columnNumber:15},this),(0,w.jsxDEV)(_,{type:`button`,variant:`secondary`,size:`icon`,onClick:C,title:a(`geo.myLocation`),children:(0,w.jsxDEV)(y,{size:16},void 0,!1,{fileName:T,lineNumber:156,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:132,columnNumber:13},this),(0,w.jsxDEV)(_,{type:`button`,variant:`ghost`,size:`icon`,onClick:x,className:`ml-auto`,children:(0,w.jsxDEV)(c,{size:18},void 0,!1,{fileName:T,lineNumber:161,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:160,columnNumber:11},this)]},void 0,!0,{fileName:T,lineNumber:130,columnNumber:9},this),(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-surface/40`},void 0,!1,{fileName:T,lineNumber:164,columnNumber:29},this),children:(0,w.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,w.jsxDEV)(E,{lat:o.lat,lng:o.lng,interactive:r,onPick:r?(e,t)=>h({...o,lat:e,lng:t}):void 0},void 0,!1,{fileName:T,lineNumber:166,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:T,lineNumber:164,columnNumber:9},this),r?(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,w.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lat`,value:o.lat??``,onChange:e=>h({...o,lat:g(e.target.value)})},void 0,!1,{fileName:T,lineNumber:178,columnNumber:15},this),(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lng`,value:o.lng??``,onChange:e=>h({...o,lng:g(e.target.value)})},void 0,!1,{fileName:T,lineNumber:185,columnNumber:15},this),(0,w.jsxDEV)(l,{placeholder:a(`geo.label`),value:o.label??``,onChange:e=>h({...o,label:e.target.value||void 0})},void 0,!1,{fileName:T,lineNumber:192,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:177,columnNumber:13},this),(0,w.jsxDEV)(_,{type:`button`,onClick:S,className:`sm:self-auto`,children:a(`actions.save`)},void 0,!1,{fileName:T,lineNumber:198,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:175,columnNumber:11},this):o.lat!=null&&o.lng!=null&&(0,w.jsxDEV)(`a`,{className:`text-sm text-accent hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${o.lat}&mlon=${o.lng}#map=15/${o.lat}/${o.lng}`,children:o.label??`${o.lat.toFixed(5)}, ${o.lng?.toFixed(5)}`},void 0,!1,{fileName:T,lineNumber:205,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:126,columnNumber:7},this)},void 0,!1,{fileName:T,lineNumber:122,columnNumber:5},this)}function M({value:e,onChange:t,editable:n}){let r=(0,b.useMemo)(()=>D(e),[e]),[i,a]=(0,b.useState)(!1);return(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxDEV)(A,{g:r,onOpen:()=>a(!0)},void 0,!1,{fileName:T,lineNumber:233,columnNumber:7},this),r.label&&(0,w.jsxDEV)(`span`,{className:`truncate text-xs text-muted`,children:r.label},void 0,!1,{fileName:T,lineNumber:234,columnNumber:19},this),i&&(0,w.jsxDEV)(j,{value:e,onChange:t,editable:n,onClose:()=>a(!1)},void 0,!1,{fileName:T,lineNumber:235,columnNumber:16},this)]},void 0,!0,{fileName:T,lineNumber:232,columnNumber:5},this)}function N(e){let t=!!e.onChange&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),n=(0,w.jsxDEV)(M,{value:e.value,onChange:t=>e.onChange?.(t),editable:t},void 0,!1,{fileName:T,lineNumber:242,columnNumber:16},this);return e.bare?n:(0,w.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,w.jsxDEV)(p,{label:e.label,required:e.required},void 0,!1,{fileName:T,lineNumber:246,columnNumber:33},this),n,(0,w.jsxDEV)(f,{error:e.error},void 0,!1,{fileName:T,lineNumber:248,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:245,columnNumber:5},this)}function P({value:e}){let t=D(e);return(0,w.jsxDEV)(`span`,{className:`truncate`,children:t.label??(t.lat==null?`—`:`${t.lat.toFixed(3)}, ${t.lng?.toFixed(3)}`)},void 0,!1,{fileName:T,lineNumber:256,columnNumber:5},this)}var F={kinds:[`geo`],Page:N,Inline:P};function I(e,t){let n=h(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function L(e,t){let n=I(e,t);return n.length===1?n[0]:null}function R(e,t){let n=h(e.fields),r=t[0];if(!r||!n[r])return`views.list: shelf has no text field for its title (titleKey fell back to "id")`;let i=I(e,t);return i.length===0?`views.list does not contain a kind:"geo" field`:i.length>1?`views.list contains multiple geo fields: ${i.join(`, `)}`:null}var z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,B=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function V({rows:e,shelf:t,keys:r,hrefBase:o}){let{t:s}=n(),c=i(),[l,u]=(0,b.useState)(!1),d=h(t.fields),f=L(t,r),p=r[0],{points:g,without:_}=(0,b.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=f?m(d[f],f,r):void 0;e&&typeof e.lat==`number`&&typeof e.lng==`number`?t.push({id:String(r.id),lat:e.lat,lng:e.lng,title:String(m(d[p],p,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,f,p,d]);return(0,w.jsxDEV)(`div`,{className:`p-4`,children:[(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:z,lineNumber:48,columnNumber:27},this),children:(0,w.jsxDEV)(B,{points:g,onPick:e=>c(`${o}/${e}`)},void 0,!1,{fileName:z,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:z,lineNumber:48,columnNumber:7},this),_.length>0&&(0,w.jsxDEV)(`div`,{className:`mt-3`,children:[(0,w.jsxDEV)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`text-sm text-muted hover:text-text transition-colors`,children:s(`geo.withoutCoords`,{count:_.length})},void 0,!1,{fileName:z,lineNumber:53,columnNumber:11},this),l&&(0,w.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:_.map(e=>(0,w.jsxDEV)(`li`,{children:(0,w.jsxDEV)(a,{to:`${o}/${e.id}`,className:`text-sm text-text hover:text-accent`,children:(0,w.jsxDEV)(v,{field:d[p],value:m(d[p],p,e)},void 0,!1,{fileName:z,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:z,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:z,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:z,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:z,lineNumber:47,columnNumber:5},this)}var H=g({renderers:[F],listViews:[{kind:`map`,View:V,check:R}],translations:{uk:{geo:{searchPlaceholder:`Пошук адреси…`,search:`Знайти`,myLocation:`Моє місцеположення`,label:`Підпис`,pick:`Обрати місце`,withoutCoords:`Без координат: {{count}}`}},ru:{geo:{searchPlaceholder:`Поиск адреса…`,search:`Найти`,myLocation:`Моё местоположение`,label:`Подпись`,pick:`Выбрать место`,withoutCoords:`Без координат: {{count}}`}},en:{geo:{searchPlaceholder:`Search address…`,search:`Search`,myLocation:`My location`,label:`Label`,pick:`Pick location`,withoutCoords:`Without coordinates: {{count}}`}}}});export{H as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NoMac-BarbbnIj.js","assets/react-vendor-BskHO5hY.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/ScanSummary-CtIkC51I.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t}from"./i18n-vendor-T6EnJ_TL.js";import{f as n,t as r}from"./react-vendor-BskHO5hY.js";import{c as i}from"./input-group-DnBGkT_z.js";import{C as a,D as o,E as s,T as c,b as l,r as u,w as d,x as f}from"./shared-C2_-YViH.js";import"./src-BlTOHYZL.js";import{n as p}from"./plugin-ui-CKd6q8ec.js";import{t as m}from"./json-CkyL3W27.js";import{t as h}from"./field-frame-cFE-u56I.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-BFf4oF5n.js";var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:a}){let o=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[s,c]=(0,x.useState)(o?r(o):e??``);(0,x.useEffect)(()=>{c(o?r(o):e||``)},[e,o]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(i,{value:s,placeholder:a,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(f,{items:m(e,[]),content:e=>{let n=typeof e==`string`?m(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=_(e),l=t===``?``:Number(t),[u,f]=(0,x.useState)(()=>l!==``&&Number(l)>0?v(Number(l),r)[0]:e.hints.unit??`GB`),p=g(r,u),m=l===``?``:Number((Number(l)/p).toFixed(4)),h=e=>Math.round(e*p);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(i,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(h(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(a,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(s,{className:`w-24`,children:(0,E.jsxDEV)(o,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(d,{children:b[r].map(([e])=>(0,E.jsxDEV)(c,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=y(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=_(e.field);return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:_(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=p({shelf:{library:`devices`,shelf:`network`},renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-BarbbnIj.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-CtIkC51I.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NoMac-DLu311Th.js","assets/react-vendor-BskHO5hY.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/ScanSummary-CtIkC51I.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t}from"./i18n-vendor-T6EnJ_TL.js";import{f as n,t as r}from"./react-vendor-BskHO5hY.js";import{s as i}from"./input-group-Cp9n2MAA.js";import{C as a,D as o,E as s,T as c,b as l,r as u,w as d,x as f}from"./shared-vjdjsgQc.js";import"./src-R3C69mft.js";import{n as p}from"./plugin-ui-CKd6q8ec.js";import{t as m}from"./json-CkyL3W27.js";import{t as h}from"./field-frame-lE36ax7A.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-B44emc58.js";var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:a}){let o=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[s,c]=(0,x.useState)(o?r(o):e??``);(0,x.useEffect)(()=>{c(o?r(o):e||``)},[e,o]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(i,{value:s,placeholder:a,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(f,{items:m(e,[]),content:e=>{let n=typeof e==`string`?m(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=_(e),l=t===``?``:Number(t),[u,f]=(0,x.useState)(()=>l!==``&&Number(l)>0?v(Number(l),r)[0]:e.hints.unit??`GB`),p=g(r,u),m=l===``?``:Number((Number(l)/p).toFixed(4)),h=e=>Math.round(e*p);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(i,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(h(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(a,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(s,{className:`w-24`,children:(0,E.jsxDEV)(o,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(d,{children:b[r].map(([e])=>(0,E.jsxDEV)(c,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=y(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=_(e.field);return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:_(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=p({shelf:{library:`devices`,shelf:`network`},renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-DLu311Th.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-CtIkC51I.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
@@ -1 +1 @@
1
- import{n as e}from"./x-BFRg18Fi.js";var t=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),n=e(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),r=e(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]);export{n,t as r,r as t};
1
+ import{r as e}from"./x-CzSVfh-E.js";var t=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),n=e(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),r=e(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]);export{n,t as r,r as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t}from"./i18n-vendor-T6EnJ_TL.js";import{r as n}from"./x-CzSVfh-E.js";var r=n(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),i=[],a=[];function o(e){i=[...e]}function s(){return[...i]}function c(e){a=[...e]}function l(){return[...a]}var u=e(t(),1);function d(e,t=!0){return(0,u.useSyncExternalStore)((0,u.useCallback)(t=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>{};let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},[e]),(0,u.useCallback)(()=>typeof window>`u`||typeof window.matchMedia!=`function`?t:window.matchMedia(e).matches,[e,t]),()=>t)}function f(e,t){if(typeof window>`u`||typeof getComputedStyle!=`function`)return t;let n=getComputedStyle(document.documentElement).getPropertyValue(`--breakpoint-${e}`),r=Number.parseInt(n.trim(),10);return Number.isFinite(r)&&r>0?r:t}function p(e,t){return d(`(min-width: ${f(e,t)}px)`,!0)}export{c as a,o as i,s as n,r as o,l as r,p as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{a as e}from"./i18n-vendor-T6EnJ_TL.js";import{t}from"./react-vendor-BskHO5hY.js";import{r as n}from"./x-BFRg18Fi.js";import{r}from"./button-DsalTwxl.js";e();var i=t(),a=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/badge.tsx`,o=r(`inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-semibold transition-colors`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground`,secondary:`border-transparent bg-secondary text-secondary-foreground`,destructive:`border-transparent bg-destructive text-destructive-foreground`,outline:`border-border text-text`,accent:`border-accent/30 bg-accent/15 text-accent`}},defaultVariants:{variant:`default`}});function s({className:e,variant:t,...r}){return(0,i.jsxDEV)(`div`,{className:n(o({variant:t}),e),...r},void 0,!1,{fileName:a,lineNumber:24,columnNumber:10},this)}var c=/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;function l(e){let t=c.exec(e.trim());if(!t)return null;let n=t[4]?.split(`.`)??[];return n.some(e=>/^\d+$/.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),prerelease:n}}function u(e,t){let n=/^\d+$/.test(e),r=/^\d+$/.test(t);return n&&r?e.length===t.length?e===t?0:e>t?1:-1:e.length>t.length?1:-1:n===r?e===t?0:e>t?1:-1:n?-1:1}function d(e,t){let n=l(e),r=l(t);if(!n||!r)return!1;for(let e of[`major`,`minor`,`patch`])if(n[e]!==r[e])return n[e]>r[e];if(n.prerelease.length===0||r.prerelease.length===0)return n.prerelease.length===0&&r.prerelease.length>0;let i=Math.max(n.prerelease.length,r.prerelease.length);for(let e=0;e<i;e++){let t=n.prerelease[e],i=r.prerelease[e];if(t===void 0)return!1;if(i===void 0)return!0;let a=u(t,i);if(a!==0)return a>0}return!1}export{s as n,d as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{a as e}from"./i18n-vendor-T6EnJ_TL.js";import{t}from"./react-vendor-BskHO5hY.js";import{i as n}from"./x-CzSVfh-E.js";import{r}from"./button-DaYjtbcx.js";e();var i=t(),a=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/badge.tsx`,o=r(`inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-semibold transition-colors`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground`,secondary:`border-transparent bg-secondary text-secondary-foreground`,destructive:`border-transparent bg-destructive text-destructive-foreground`,outline:`border-border text-text`,accent:`border-accent/30 bg-accent/15 text-accent`}},defaultVariants:{variant:`default`}});function s({className:e,variant:t,...r}){return(0,i.jsxDEV)(`div`,{className:n(o({variant:t}),e),...r},void 0,!1,{fileName:a,lineNumber:24,columnNumber:10},this)}var c=/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;function l(e){let t=c.exec(e.trim());if(!t)return null;let n=t[4]?.split(`.`)??[];return n.some(e=>/^\d+$/.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),prerelease:n}}function u(e,t){let n=/^\d+$/.test(e),r=/^\d+$/.test(t);return n&&r?e.length===t.length?e===t?0:e>t?1:-1:e.length>t.length?1:-1:n===r?e===t?0:e>t?1:-1:n?-1:1}function d(e,t){let n=l(e),r=l(t);if(!n||!r)return!1;for(let e of[`major`,`minor`,`patch`])if(n[e]!==r[e])return n[e]>r[e];if(n.prerelease.length===0||r.prerelease.length===0)return n.prerelease.length===0&&r.prerelease.length>0;let i=Math.max(n.prerelease.length,r.prerelease.length);for(let e=0;e<i;e++){let t=n.prerelease[e],i=r.prerelease[e];if(t===void 0)return!1;if(i===void 0)return!0;let a=u(t,i);if(a!==0)return a>0}return!1}export{s as n,d as t};