@coffer-org/web 7.2.1 → 7.3.1

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 (126) hide show
  1. package/dist/assets/ChatWidget-vl_ApeDr.js +5 -0
  2. package/dist/assets/DiagnosticsPage-DVAqVVLa.js +1 -0
  3. package/dist/assets/{MarkdownEditor-0mNSwLu_.js → MarkdownEditor-CANj53YF.js} +3 -3
  4. package/dist/assets/NewRecordView-Y6PoWPB9.js +1 -0
  5. package/dist/assets/PluginSettingsPage-d0LhYfXE.js +1 -0
  6. package/dist/assets/ScanSummary-xxY2oZVM.js +1 -0
  7. package/dist/assets/SettingsForm-ChaqrcJM.js +1 -0
  8. package/dist/assets/SettingsPage-4_Gqty1-.js +3 -0
  9. package/dist/assets/ThemeSwitcher-eMEFNoJq.js +1 -0
  10. package/dist/assets/{api-COuWgOWV.js → api-QNHQU9to.js} +1 -1
  11. package/dist/assets/{auth-context-L2NSpevo.js → auth-context-CoCE5oPD.js} +1 -1
  12. package/dist/assets/condition-B5taAXkb.js +1 -0
  13. package/dist/assets/countries-CoGvAZ5u.js +1 -0
  14. package/dist/assets/{data-size-qpzofknI.js → data-size-BMG0D59K.js} +1 -1
  15. package/dist/assets/{development-olQNibq5.js → development-ChLInqDF.js} +1 -1
  16. package/dist/assets/{esm-BsLSfif3.js → esm-CX8ST5Fv.js} +1 -1
  17. package/dist/assets/esm-oGoWacTd.js +24 -0
  18. package/dist/assets/extend-yQ8zoqGc.js +1 -0
  19. package/dist/assets/fields-CV3RQg0Y.js +64 -0
  20. package/dist/assets/file-text-BdYRF4MO.js +1 -0
  21. package/dist/assets/{icons-BTbA1N7a.js → icons-0CjpO0K1.js} +1 -1
  22. package/dist/assets/ilamy-view-Bb5692yT.js +7 -0
  23. package/dist/assets/index-Brc5FUYA.css +2 -0
  24. package/dist/assets/index-C98p9ash.js +22 -0
  25. package/dist/assets/{input-tJjsdU1x.js → input-BFMNMo6y.js} +1 -1
  26. package/dist/assets/list-cache-DOhsI_p2.js +1 -0
  27. package/dist/assets/{markdown-vendor-CtaBI5gJ.js → markdown-vendor-WSL3P01P.js} +15 -15
  28. package/dist/assets/phone-input-3xV95mM6.js +1 -0
  29. package/dist/assets/phone-input-8QtHMHO_.js +21 -0
  30. package/dist/assets/plugin-Cjr7lgQH.js +1 -0
  31. package/dist/assets/{version-CtfLXkhy.js → plugin-label-CfdhA4_L.js} +1 -1
  32. package/dist/assets/popover-UkAmHo3Y.js +1 -0
  33. package/dist/assets/registration-BBxYynR4.js +1 -0
  34. package/dist/assets/settings-Bo5IOwVg.js +1 -0
  35. package/dist/assets/shelf-Cj_pNvd-.js +1 -0
  36. package/dist/assets/showcase-BeBnutzT.js +1 -0
  37. package/dist/assets/src-0TBpEeKK.js +1 -0
  38. package/dist/assets/src-4bmZI2h_.js +1 -0
  39. package/dist/assets/src-B0pL3dGf.js +7 -0
  40. package/dist/assets/src-B2aXBzDf.js +4 -0
  41. package/dist/assets/src-BHz-TcxU.js +1 -0
  42. package/dist/assets/src-BZK1QVol.js +1 -0
  43. package/dist/assets/src-Bhz_DXRd.js +1 -0
  44. package/dist/assets/src-Bl8rYgUt2.js +1 -0
  45. package/dist/assets/src-BmyfVP9z.js +1 -0
  46. package/dist/assets/src-BrHtOaqX.js +1 -0
  47. package/dist/assets/src-Bzgh6Ge5.js +1 -0
  48. package/dist/assets/src-C46sbhiF.js +2 -0
  49. package/dist/assets/src-CD1zBxk2.js +1 -0
  50. package/dist/assets/src-CE1TPDES.js +6 -0
  51. package/dist/assets/src-CQOQ3BNT.js +1 -0
  52. package/dist/assets/{src-IYiBUs1S.js → src-Cz38tTr3.js} +1 -1
  53. package/dist/assets/src-D14fQdLH.js +1 -0
  54. package/dist/assets/src-DgQcfYnz.js +1 -0
  55. package/dist/assets/src-DnN2GqEI.js +1 -0
  56. package/dist/assets/src-Dr_dOgc9.js +6 -0
  57. package/dist/assets/src-Ds6m7Evp2.js +1 -0
  58. package/dist/assets/src-Mln-mCD3.js +1 -0
  59. package/dist/assets/src-Q4BhkNtH.js +1 -0
  60. package/dist/assets/src-qJ0szNVM.js +1 -0
  61. package/dist/assets/src-rMuD7zD4.js +1 -0
  62. package/dist/assets/{src-DEcZTAam.js → src-tKMBP4Dv.js} +3 -3
  63. package/dist/assets/src-xh_qAK43.js +1 -0
  64. package/dist/assets/ui-3phlsSm1.js +2 -0
  65. package/dist/assets/ui-B21VM1St.js +2 -0
  66. package/dist/assets/ui-BfN7X5UB.js +2 -0
  67. package/dist/assets/ui-DxLuYjTk.js +2 -0
  68. package/dist/assets/ui-vendor-ByG3otld.js +44 -0
  69. package/dist/index.html +22 -22
  70. package/dist-vendor/web-ui.js +47431 -42112
  71. package/package.json +1 -1
  72. package/dist/assets/ChatWidget-ByBb2eNs.js +0 -31
  73. package/dist/assets/DiagnosticsPage-lKgGju82.js +0 -1
  74. package/dist/assets/NewRecordView-DJrRPNxT.js +0 -1
  75. package/dist/assets/PluginSettingsPage-BFsSZgTa.js +0 -1
  76. package/dist/assets/ScanSummary-CaG-s5qh.js +0 -1
  77. package/dist/assets/SettingsForm-C_K9RpFr.js +0 -1
  78. package/dist/assets/SettingsPage-CaPzeX50.js +0 -3
  79. package/dist/assets/ThemeSwitcher-BPuCvU1U.js +0 -1
  80. package/dist/assets/arrow-left-DDsxjRCq.js +0 -1
  81. package/dist/assets/esm-DJsKiDbH.js +0 -24
  82. package/dist/assets/extend-BMkkNVfm.js +0 -1
  83. package/dist/assets/fields-GPyF03tK.js +0 -64
  84. package/dist/assets/file-text-DI3tERhf.js +0 -1
  85. package/dist/assets/index-C5rNjIku.css +0 -2
  86. package/dist/assets/index-CdXz_Li2.js +0 -24
  87. package/dist/assets/lib-DU7Qh2A4.js +0 -1
  88. package/dist/assets/list-cache-B4i_A9fj.js +0 -1
  89. package/dist/assets/phone-input-BeYLRpyW.js +0 -1
  90. package/dist/assets/phone-input-CZF7hU3E.js +0 -21
  91. package/dist/assets/plugin-CFEkHH3f.js +0 -1
  92. package/dist/assets/plugin-ui-CKd6q8ec.js +0 -1
  93. package/dist/assets/popover-C2xHG6L3.js +0 -1
  94. package/dist/assets/settings-rQsBFoL2.js +0 -1
  95. package/dist/assets/shelf-CpE68_8d.js +0 -1
  96. package/dist/assets/showcase-CUDyXMb7.js +0 -1
  97. package/dist/assets/src-2QhdFJyH.js +0 -1
  98. package/dist/assets/src-BRA1s942.js +0 -1
  99. package/dist/assets/src-Bmc_xgWr.js +0 -1
  100. package/dist/assets/src-BnvKHmLu.js +0 -1
  101. package/dist/assets/src-Bv7IbF5F.js +0 -1
  102. package/dist/assets/src-C3X1cmlu.js +0 -1
  103. package/dist/assets/src-C3hdIsRT.js +0 -1
  104. package/dist/assets/src-CIrBx5O0.js +0 -1
  105. package/dist/assets/src-CTlBmB5n.js +0 -1
  106. package/dist/assets/src-Cp4yFztL.js +0 -4
  107. package/dist/assets/src-CvUhNHtO.js +0 -1
  108. package/dist/assets/src-D5pqHmdF.js +0 -1
  109. package/dist/assets/src-D9ZNj5Fi2.js +0 -1
  110. package/dist/assets/src-DAUYP87f2.js +0 -1
  111. package/dist/assets/src-DEqFDnFO.js +0 -1
  112. package/dist/assets/src-DXSkgVrX.js +0 -4
  113. package/dist/assets/src-DaHZILQZ.js +0 -1
  114. package/dist/assets/src-Dvbi--2I.js +0 -6
  115. package/dist/assets/src-Uu0k-CHA.js +0 -1
  116. package/dist/assets/src-WB1-7_Wh.js +0 -1
  117. package/dist/assets/src-dXlj2maQ.js +0 -1
  118. package/dist/assets/src-d_-Z83D-.js +0 -2
  119. package/dist/assets/src-eAsO2o4h2.js +0 -1
  120. package/dist/assets/src-uWOnIJWD.js +0 -6
  121. package/dist/assets/src-yL3q5Nfe.js +0 -1
  122. package/dist/assets/ui-A8aS2-NQ.js +0 -2
  123. package/dist/assets/ui-BK1F_c4b.js +0 -2
  124. package/dist/assets/ui-C9-epiVm.js +0 -2
  125. package/dist/assets/ui-kICtw37s.js +0 -1
  126. package/dist/assets/ui-vendor-BuwRGdK1.js +0 -44
@@ -0,0 +1 @@
1
+ function e(e){return e}var t=`lucide:folder`;function n(e){return{id:e,label:e,icon:t}}function r(e){let t=new Map;for(let n of e)for(let e of n.libraries??[])t.has(e.meta.id)||t.set(e.meta.id,{...e.meta});let r=[];for(let t of e){for(let e of t.libraries??[])r.push(...e.shelves);r.push(...t.libraryShelves??[])}return{libraries:[...new Set([...t.keys(),...r.map(e=>e.library)])].map(e=>({meta:t.get(e)??n(e),shelves:r.filter(t=>t.library===e)})),shelves:r,extends_:e.flatMap(e=>e.extends_??[])}}function i(e){if(!e.id)throw Error(`[plugin] missing id`);if(!e.label)throw Error(`[plugin] ${e.id}: missing label`);if(!e.description)throw Error(`[plugin] ${e.id}: missing description`);return e.version||console.warn(`[plugin] ${e.id}: missing version`),e}function a(e){let t=new Map(e.map(e=>[e.id,e]));for(let n of e)for(let e of n.dependsOn)if(!t.has(e))throw Error(`[plugin] ${n.id}: dependency '${e}' is not registered`);let n=[],r=new Map,i=(e,a)=>{let o=r.get(e.id);if(o!==`done`){if(o===`visiting`)throw Error(`[plugin] dependency cycle: ${[...a,e.id].join(` → `)}`);r.set(e.id,`visiting`);for(let n of e.dependsOn)i(t.get(n),[...a,e.id]);r.set(e.id,`done`),n.push(e)}};for(let t of e)i(t,[]);return n}function o(e){let t=a(e),{libraries:n,shelves:i,extends_:o}=r(t);return{order:t,libraries:n,shelves:i,extends_:o}}export{e as i,i as n,t as r,o as t};
@@ -1 +1 @@
1
- var e=/^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 t(t){let n=e.exec(t.trim());if(!n)return null;let r=n[4]?.split(`.`)??[];return r.some(e=>/^\d+$/.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:Number(n[1]),minor:Number(n[2]),patch:Number(n[3]),prerelease:r}}function n(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 r(e,r){let i=t(e),a=t(r);if(!i||!a)return!1;for(let e of[`major`,`minor`,`patch`])if(i[e]!==a[e])return i[e]>a[e];if(i.prerelease.length===0||a.prerelease.length===0)return i.prerelease.length===0&&a.prerelease.length>0;let o=Math.max(i.prerelease.length,a.prerelease.length);for(let e=0;e<o;e++){let t=i.prerelease[e],r=a.prerelease[e];if(t===void 0)return!1;if(r===void 0)return!0;let o=n(t,r);if(o!==0)return o>0}return!1}export{r as t};
1
+ var e=/^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 t(t){let n=e.exec(t.trim());if(!n)return null;let r=n[4]?.split(`.`)??[];return r.some(e=>/^\d+$/.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:Number(n[1]),minor:Number(n[2]),patch:Number(n[3]),prerelease:r}}function n(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 r(e,r){let i=t(e),a=t(r);if(!i||!a)return!1;for(let e of[`major`,`minor`,`patch`])if(i[e]!==a[e])return i[e]>a[e];if(i.prerelease.length===0||a.prerelease.length===0)return i.prerelease.length===0&&a.prerelease.length>0;let o=Math.max(i.prerelease.length,a.prerelease.length);for(let e=0;e<o;e++){let t=i.prerelease[e],r=a.prerelease[e];if(t===void 0)return!1;if(r===void 0)return!0;let o=n(t,r);if(o!==0)return o>0}return!1}function i(e,t){return t.label?e(t.label,{defaultValue:t.id}):t.id}export{r as n,i 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{t as n}from"./react-vendor-CzSUaSLk.js";import{i as r,r as i}from"./input-BFMNMo6y.js";import{At as a,Dt as o,Mt as s,Nt as c,Ot as l,jt as u,kt as d,zt as f}from"./ui-vendor-ByG3otld.js";var p=i(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),m=i(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),h=i(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),g=i(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),_=i(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),v=i(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]),y=e(t(),1),b=n(),x=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web-ui/src/components/ui/popover.tsx`,S=y.createContext(null);function C({...e}){let[t,n]=y.useState(null),r=y.useMemo(()=>({anchor:t,setAnchor:n}),[t]);return(0,b.jsxDEV)(S.Provider,{value:r,children:(0,b.jsxDEV)(c,{"data-slot":`popover`,...e},void 0,!1,{fileName:x,lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:x,lineNumber:29,columnNumber:5},this)}function w({...e}){return(0,b.jsxDEV)(s,{"data-slot":`popover-trigger`,...e},void 0,!1,{fileName:x,lineNumber:36,columnNumber:10},this)}function T({className:e,render:t,...n}){return o({defaultTagName:`span`,ref:y.useContext(S)?.setAnchor,props:f({className:e},n),render:t,state:{slot:`popover-anchor`}})}function E({className:e,align:t=`center`,alignOffset:n=0,side:i=`bottom`,sideOffset:o=4,anchor:s,...c}){let l=y.useContext(S);return(0,b.jsxDEV)(u,{children:(0,b.jsxDEV)(a,{align:t,alignOffset:n,side:i,sideOffset:o,anchor:s??l?.anchor??void 0,className:`isolate z-50`,children:(0,b.jsxDEV)(d,{"data-slot":`popover-content`,className:r(`relative z-50 w-72 origin-(--transform-origin) rounded-xl border border-border bg-card p-4 text-foreground shadow-xl outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...c},void 0,!1,{fileName:x,lineNumber:73,columnNumber:9},this)},void 0,!1,{fileName:x,lineNumber:65,columnNumber:7},this)},void 0,!1,{fileName:x,lineNumber:64,columnNumber:5},this)}function D({className:e,...t}){return(0,b.jsxDEV)(l,{"data-slot":`popover-arrow`,className:r(`relative z-50 block h-1.5 w-3 overflow-clip`,`data-[side=bottom]:-top-[6px]`,`data-[side=top]:-bottom-[6px] data-[side=top]:rotate-180`,`data-[side=left]:-right-[9px] data-[side=left]:rotate-90`,`data-[side=inline-start]:-right-[9px] data-[side=inline-start]:rotate-90`,`data-[side=right]:-left-[9px] data-[side=right]:-rotate-90`,`data-[side=inline-end]:-left-[9px] data-[side=inline-end]:-rotate-90`,`before:absolute before:bottom-0 before:left-1/2 before:size-[calc(6px*sqrt(2))] before:content-['']`,`before:border-t before:border-l before:border-border before:bg-card`,`before:[transform:translate(-50%,50%)_rotate(45deg)]`,e),...t},void 0,!1,{fileName:x,lineNumber:109,columnNumber:5},this)}export{w as a,g as c,p as d,E as i,h as l,T as n,v as o,D as r,_ as s,C as t,m as u};
@@ -0,0 +1 @@
1
+ import{s as e,t}from"./shelf-Cj_pNvd-.js";import{n,t as r}from"./ical-FRtCagm-.js";var i=new Set([`period`,`date`,`datetime`]);function a(t,n){let r=e(t.fields);return n.filter(e=>i.has(String(r[e]?.kind)))}function o(e,t){let n=a(e,t);return n.length===1?n[0]:null}function s(t){let n=Object.entries(e(t.fields)).filter(([,e])=>e.kind===`recurrence`).map(([e])=>e);return n.length===1?n[0]:null}function c(t,n){let r=e(t.fields),i=n[0];if(!i||!r[i])return`views.list: shelf has no text field for its title (titleKey fell back to "id")`;let o=a(t,n);if(o.length===0)return`views.list contains no date, datetime or period field`;if(o.length>1)return`views.list contains multiple time fields: ${o.join(`, `)}`;let c=s(t);if(c){let e=r[c].hints;if(e.exdates&&!r[e.exdates])return`${c} declares exdates '${e.exdates}', which does not exist`;if(e.allDay&&!r[e.allDay])return`${c} declares allDay '${e.allDay}', which does not exist`;if(e.overrides){for(let[t,n]of Object.entries(e.overrides))if(!r[n])return`${c} declares overrides.${t} '${n}', which does not exist`}}return null}function l(i,a,c,l,u,d){let f=e(a.fields),p=o(a,c);if(!p)return[];let m=c[0],h=s(a),g=h?f[h].hints:{},_=(e,n)=>n&&f[n]?t(f[n],n,e):void 0,v=e=>{let t=_(e,p),n=typeof t==`string`?t:t?.from,r=typeof t==`string`?void 0:t?.until;if(!n)return null;let i=g.allDay?!!_(e,g.allDay):!n.includes(`T`),a=e=>e&&i?e.slice(0,10):e;return{kind:`event`,uid:String(e.id),start:a(n),end:a(r),allDay:i,recurrenceId:g.overrides?a(_(e,g.overrides.at)||void 0):void 0,rrule:h&&_(e,h)||void 0,exdates:((g.exdates?_(e,g.exdates):void 0)??[]).map(e=>a(e)),categories:[],raw:``,summary:String(_(e,m)??e.id)}},y=e=>!!(g.overrides&&_(e,g.overrides.master)),b=i.filter(e=>!y(e)),x=[];for(let e of b){let t=v(e);if(!t)continue;let a=(g.overrides?i.filter(t=>String(_(t,g.overrides.master))===String(e.id)):[]).map(e=>({row:e,comp:v(e)})).filter(e=>e.comp!==null);for(let i of r(t,a.map(e=>e.comp),u,d)){let t=i.recurrenceId?a.find(e=>e.comp.recurrenceId&&n(e.comp.recurrenceId)===n(i.recurrenceId))?.row??e:e;x.push({id:String(t.id),title:String(_(t,m)??t.id),start:i.start,end:i.end,allDay:i.allDay,href:`${l}/${t.id}`})}}return x.sort((e,t)=>e.start.localeCompare(t.start))}function u(e,n,r){return e.filter(e=>{let i=t(n[r],r,e);return!(typeof i==`string`?i:i?.from)})}var d=e=>String(e).padStart(2,`0`),f=(e,t,n)=>`${e}-${d(t+1)}-${d(n)}`;function p(e){return{y:Number(e.slice(0,4)),m:Number(e.slice(5,7))-1,d:Number(e.slice(8,10))}}function m(){let e=new Date;return f(e.getFullYear(),e.getMonth(),e.getDate())}function h(e){if(!e||!/^\d{4}-\d{2}-\d{2}$/.test(e))return m();let{y:t,m:n,d:r}=p(e),i=new Date(t,n,r);return i.getFullYear()===t&&i.getMonth()===n&&i.getDate()===r?e:m()}function g(e,t){let{y:n,m:r,d:i}=p(e),a=new Date(n,r,i+t);return f(a.getFullYear(),a.getMonth(),a.getDate())}function _(e,t){let{y:n,m:r,d:i}=p(e),a=new Date(n,r+t+1,0).getDate(),o=new Date(n,r+t,Math.min(i,a));return f(o.getFullYear(),o.getMonth(),o.getDate())}function v(e,t){let{y:n,m:r,d:i}=p(e),a=new Date(n+t,r+1,0).getDate();return f(n+t,r,Math.min(i,a))}function y(e){let{y:t,m:n,d:r}=p(e);return g(e,-((new Date(t,n,r).getDay()+6)%7))}function b(e){let t=y(e);return Array.from({length:7},(e,n)=>g(t,n))}function x(e){let t=y(e);return{from:t,to:g(t,7)}}function S(e,t){let n=t===11?{y:e+1,m:0}:{y:e,m:t+1};return{from:f(e,t,1),to:f(n.y,n.m,1)}}function C(e){let{y:t,m:n}=p(e);return S(t,n)}function w(e){let{y:t}=p(e);return{from:f(t,0,1),to:f(t+1,0,1)}}function T(e,t){let n=(new Date(e,t,1).getDay()+6)%7,r=new Date(e,t+1,0).getDate(),i=[];for(let a=0;a<42;a++){let o=a-n+1;i.push({date:o>=1&&o<=r?f(e,t,o):null})}return i}function E(e,t,n){let{y:r,m:i,d:a}=p(e);return new Date(r,i,a).toLocaleDateString(t,n)}var D=`mt-4 mb-1 text-sm font-semibold`;function O(e){return e&&e[0].toLocaleUpperCase()+e.slice(1)}var k={kind:`calendar-ilamy`,check:c};export{l as _,E as a,o as b,C as c,_ as d,v as f,w as g,x as h,p as i,h as l,b as m,D as n,f as o,m as p,O as r,T as s,k as t,g as u,u as v,c as y};
@@ -0,0 +1 @@
1
+ import{x as e}from"./fields-CV3RQg0Y.js";function t(t){return e(t)}export{t};
@@ -0,0 +1 @@
1
+ import{C as e,a as t,b as n,c as r,d as i,i as a,l as o,x as s}from"./fields-CV3RQg0Y.js";function c(t){let s=[];for(let l of t){let t=e(l)?n(l):l;if(i(t))s.push([t.key,t.type]);else if(a(t)){if(r(t))continue;let e=o(t)?`${t.key}__`:``;for(let[n,r]of c(t.fields))s.push([e+n,r])}}return s}function l(e,t){return t.columns?Object.entries(t.columns).map(([t,n])=>[`${e}__${t}`,n]):[[e,t.column]]}function u(e,t,n,r){let i={},a=!1;for(let o of e.parts??[]){let e=`${t}__${o.key}`;if(o.meta.parts){let t=u(o.meta,e,n,r);t!==void 0&&(i[o.key]=t,a=!0);continue}if(!(e in n))continue;let s=n[e];r?.(e),i[o.key]=s,s!=null&&s!==``&&(a=!0)}return a?i:void 0}function d(e,t,n){return!e.columns||n[t]!==void 0?n[t]:u(e,t,n)}function f(e){if(e.columns)return Object.keys(e.columns)[0]}function p(e,t){let n=e;for(let e of t.split(`__`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function m(e,t,n){let r=e=>e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{},i=t.split(`__`),a=r(e),o=a;for(let e of i.slice(0,-1))o[e]=r(o[e]),o=o[e];return o[i[i.length-1]]=n,a}function h(t){let i=[];for(let o of t){let t=e(o)?n(o):o;a(t)&&(r(t)?i.push({key:t.key,group:t}):i.push(...h(t.fields)))}return i}var g=new WeakMap;function _(e){let t=g.get(e);return t||(t=Object.fromEntries(c(e)),g.set(e,t)),t}function v(e,t){for(let n of e){if(`value`in n&&typeof n.value==`function`)throw Error(`${t}: computed element needs a key — the server computes it and needs a name to return it under`);a(n)&&v(n.fields,t)}}function y(e,t){v(e,t)}function b(e){let t=s(e),n=c(t.fields).map(([e])=>e),r=n.find((e,t)=>n.indexOf(e)!==t);if(r)throw Error(`[shelf] ${t.library}/${t.shelf}: duplicate key '${r}'`);if(t.single&&!t.agent)throw Error(`[shelf] ${t.library}/${t.shelf}: single shelf requires \`agent\` — the agent cannot find it otherwise`);if(t.views?.list!==void 0&&!Array.isArray(t.views.list))throw Error(`[shelf] ${t.library}/${t.shelf}: views.list is a flat array of field keys — the { kind, fields } form is gone; use views.list: [...] plus views.listKind`);if(t.standalone!==!1&&!t.single&&!t.views?.list?.length&&console.warn(`[shelf] ${t.library}/${t.shelf}: standalone shelf without an explicit views.list`),t.views?.title&&!x(t.fields).some(([e])=>e===t.views.title))throw Error(`[shelf] ${t.library}/${t.shelf}: views.title '${t.views.title}' is not a field`);t.views?.list?.includes(S(t))&&console.warn(`[shelf] ${t.library}/${t.shelf}: views.list repeats the title '${S(t)}' — the title is declared separately`);let i=x(t.fields).filter(([,e])=>e.kind===`title`);return i.length>1&&console.warn(`[shelf] ${t.library}/${t.shelf}: ${i.length} title fields (${i.map(([e])=>e).join(`, `)}) — '${i[0][0]}' wins`),t.standalone!==!1&&!t.single&&S(t)===`id`&&console.warn(`[shelf] ${t.library}/${t.shelf}: no title declared (field.title() or views.title) — the record renders no heading`),y(t.fields,`[shelf] ${t.library}/${t.shelf}`),t}function x(e){let t=[];for(let n of e)i(n)?t.push([n.key,n.type]):a(n)&&!r(n)&&!o(n)&&t.push(...x(n.fields));return t}function S(e){if(e.views?.title)return e.views.title;let t=x(e.fields).find(([,e])=>e.kind===`title`);return t?t[0]:`id`}function C(e,t){let n=S(e);if(n===`id`)return String(t.id??``);let r=t[n];return r==null?``:String(r)}function w(e,t){let n=_(e.fields);return t.filter(e=>n[e])}var T=new Set([`image`,`media`,`avatar`,`cover`]),E=e=>T.has(e);function D(e){let t=e.views?.inline?.length?w(e,e.views.inline):[];return t.length?t:[S(e)]}function O(e){let t=_(e.fields);return D(e).find(e=>t[e]&&E(t[e].kind))}function k(e,t){let n=_(e.fields);return D(e).reduce((e,r)=>{if(!n[r]||!E(n[r].kind)){let n=t[r];n!=null&&n!==``&&e.push(String(n))}return e},[]).join(` `).trim()||C(e,t)}function A(e){let t=S(e);return[t,...e.views?.list?.length?w(e,e.views.list.filter(e=>e!==t)):[]]}function j(e){return e.views?.listKind??`table`}var M=new Set([`checkbox`,`relation`]),N=new Set([`tag`]);function P(e){return e.views?.groupBy?.length?w(e,e.views.groupBy):c(e.fields).filter(([,e])=>M.has(e.prim)||N.has(e.kind)||t(e)).map(([e])=>e)}function F(e){let t=e.views?.defaultGroupBy;return t&&_(e.fields)[t]?t:P(e)[0]}function I(e){return c(e.fields).find(([,e])=>e.kind===`cover`)?.[0]}function L(e){let t=_(e.fields),n=[],r=e=>{!e||e===`id`||n.includes(e)||t[e]&&n.push(e)};r(S(e)),A(e).forEach(r),P(e).forEach(r),D(e).forEach(r),r(O(e)),r(I(e));let i=e.views?.select;return i&&(r(i.icon),(Array.isArray(i.title)?i.title:[i.title]).forEach(r),r(i.subtitle)),[`id`,...n]}export{p as _,b as a,m as b,P as c,E as d,L as f,l as g,C as h,F as i,O as l,f as m,y as n,c as o,j as p,h as r,_ as s,d as t,k as u,S as v,A as y};
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"./condition-B5taAXkb.js";var r=new Set([...t,...n,...e]);function i(e,t){for(let[n,a]of Object.entries(e))if(a!==void 0){if(n===`$and`||n===`$or`){for(let e of a)i(e,t);continue}if(typeof a==`object`&&a){for(let e of Object.keys(a))if(!r.has(e))throw Error(`[showcase] ${t}: operator '${e}' on '${n}' does not compile to SQL`)}}}function a(e){if(!e.id)throw Error(`[showcase] missing id`);if(!e.library)throw Error(`[showcase] ${e.id}: missing library`);if(!e.source?.library||!e.source?.shelf)throw Error(`[showcase] ${e.id}: missing source library/shelf`);if(!e.columns?.length)throw Error(`[showcase] ${e.id}: columns must not be empty`);if(!e.filter||Object.keys(e.filter).length===0)throw Error(`[showcase] ${e.id}: filter must not be empty — an unfiltered showcase is the shelf itself`);return i(e.filter,e.id),e}export{a as t};
@@ -0,0 +1 @@
1
+ import{n as e,r as t}from"./fields-CV3RQg0Y.js";import{a as n}from"./shelf-Cj_pNvd-.js";import{i as r,n as i}from"./plugin-Cjr7lgQH.js";var a=[`accommodations`,`activities`,`insurances`],o=e=>{let t=typeof e==`string`&&e!==``?Number(e):e;return typeof t==`number`&&Number.isFinite(t)?t:null},s=({record:e})=>{let t=Date.parse(String(e.date_from??``)),n=Date.parse(String(e.date_to??``));return Number.isNaN(t)||Number.isNaN(n)||n<t?null:Math.round((n-t)/864e5)+1},c=({record:e})=>{let t=0,n=!1;for(let r of a){let i=e[r];if(Array.isArray(i))for(let e of i){let r=o(e?.cost);r!=null&&(t+=r,n=!0)}}return n?Math.round(t*100)/100:null},l=n({shelf:`trip`,library:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{list:[`destination`,`date_from`,`date_to`,`status`]},fields:{name:e.title({label:`core.fields.name`}),trip:e.stats({fields:{destination:e.string({label:`travel.trip.fields.destination`,rules:{max:200}}),countdown:e.countdown({source:{date_from:e.date({label:`travel.trip.fields.date_from`,mutate:[`days`]})},caption:`units.days`}),date_to:e.date({label:`travel.trip.fields.date_to`,mutate:[`days`]}),status:e.status({source:{status:e.string({label:`travel.trip.fields.status`,strict:!0,noSearch:!0,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`,tone:`danger`}]})}})}}),ledger:e.stats({fields:{people:e.people({source:{participants:e.relation({label:`travel.trip.fields.participants`,options:t({library:`people`,shelf:`person`}),multiple:!0})}}),days:e.int({label:`travel.trip.fields.days`,value:s}),budget_meter:e.meter({source:{spent:e.money({label:`travel.trip.fields.spent`,value:c,currencyFrom:`currency`,mutate:[`budget_state`]})},of:{budget:e.money({label:`travel.trip.fields.budget`,currencyFrom:`currency`,mutate:[`budget_state`]})},direction:`ceiling`}),budget_state:e.string({label:`travel.trip.fields.budget_state`,value:e=>{let t=o(e.record.budget),n=o(c(e));return t==null||t<=0||n==null?null:n>t?`over`:`within`},strict:!0,noSearch:!0,options:[{value:`within`,title:`travel.trip.options.budget_state.within`,icon:{kind:`icon`,value:`lucide:check`},tone:`success`},{value:`over`,title:`travel.trip.options.budget_state.over`,icon:{kind:`icon`,value:`lucide:x`},tone:`danger`}]})}}),hairline:e.divider({}),description:e.text({label:`travel.trip.fields.description`,rules:{max:2e3}}),currency:e.currency({label:`core.fields.currency`,default:`UAH`}),photos:e.image({label:`travel.trip.fields.photos`,multiple:!0}),packing_items:e.check({label:`travel.trip.fields.packing_items`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],fields:{item:e.relation({label:`travel.trip.packing.item`,options:t({library:`things`,shelf:`item`})})},multiple:!0}),packing_list:e.check({label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),legs:e.group({scope:`nest`,label:`travel.trip.fields.legs`,icon:`lucide:route`,ui:{title:[`date`,`leg_type`]},multiple:!0,fields:{route:e.route({from:{origin_code:e.string({label:`travel.trip.leg.origin_code`,rules:{max:10}})},to:{destination_code:e.string({label:`travel.trip.leg.destination_code`,rules:{max:10}})},depart:{departure_time:e.time({label:`travel.trip.leg.departure_time`})},arrive:{arrival_time:e.time({label:`travel.trip.leg.arrival_time`})},duration:{duration:e.duration({label:`travel.trip.leg.duration`})}}),date:e.date({label:`travel.trip.leg.date`}),leg_type:e.string({label:`travel.trip.leg.leg_type`,strict:!0,noSearch:!0,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`}]}),operator:e.string({label:`travel.trip.leg.operator`,rules:{max:100}}),number:e.string({label:`travel.trip.leg.number`,rules:{max:20}}),seat:e.string({label:`travel.trip.leg.seat`,rules:{max:10}}),class:e.string({label:`travel.trip.leg.class`,strict:!0,noSearch:!0,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`}]}),booking_ref:e.string({label:`travel.trip.leg.booking_ref`,rules:{max:50}}),terminal:e.string({label:`travel.trip.leg.terminal`,rules:{max:20}}),gate:e.string({label:`travel.trip.leg.gate`,rules:{max:20}}),origin_city:e.string({label:`travel.trip.leg.origin_city`,rules:{max:100}}),destination_city:e.string({label:`travel.trip.leg.destination_city`,rules:{max:100}}),checked_in:e.boolean({label:`travel.trip.leg.checked_in`}),documents:e.document({label:`travel.trip.leg.documents`,multiple:!0}),notes:e.text({label:`travel.trip.leg.notes`,rules:{max:2e3}})}}),accommodations:e.group({scope:`nest`,label:`travel.trip.fields.accommodations`,icon:`lucide:bed`,ui:{title:[`check_in`,`accom_type`]},multiple:!0,fields:{accom_type:e.string({label:`travel.trip.accom.accom_type`,strict:!0,noSearch:!0,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`}]}),location:e.string({label:`travel.trip.accom.location`,rules:{max:300}}),address:e.string({label:`travel.trip.accom.address`,rules:{max:300}}),rating:e.rating({label:`travel.trip.accom.rating`,rules:{max:5}}),breakfast:e.boolean({label:`travel.trip.accom.breakfast`}),check_in:e.date({label:`travel.trip.accom.check_in`}),check_out:e.date({label:`travel.trip.accom.check_out`}),booking_ref:e.string({label:`travel.trip.accom.booking_ref`,rules:{max:100}}),cost:e.money({label:`travel.trip.accom.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),documents:e.document({label:`travel.trip.accom.documents`,multiple:!0}),notes:e.text({label:`travel.trip.accom.notes`,rules:{max:2e3}})}}),insurances:e.group({scope:`nest`,label:`travel.trip.fields.insurances`,icon:`lucide:shield-check`,ui:{title:[`insurer`]},multiple:!0,fields:{insurer:e.string({label:`travel.trip.insur.insurer`,rules:{max:200}}),policy_number:e.string({label:`travel.trip.insur.policy_number`,rules:{max:100}}),coverage:e.text({label:`travel.trip.insur.coverage`,rules:{max:1e3}}),cost:e.money({label:`travel.trip.insur.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),valid_from:e.date({label:`travel.trip.insur.valid_from`}),valid_until:e.reminder({label:`travel.trip.insur.valid_until`,rules:{lead:14}}),emergency_phone:e.string({label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),documents:e.document({label:`travel.trip.insur.documents`,multiple:!0}),notes:e.text({label:`travel.trip.insur.notes`,rules:{max:2e3}})}}),activities:e.group({scope:`nest`,label:`travel.trip.fields.activities`,icon:`lucide:ticket`,ui:{title:[`date`,`activity_type`]},multiple:!0,fields:{activity_type:e.string({label:`travel.trip.act.activity_type`,strict:!0,noSearch:!0,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`}]}),date:e.date({label:`travel.trip.act.date`}),time_start:e.time({label:`travel.trip.act.time_start`}),time_end:e.time({label:`travel.trip.act.time_end`}),location:e.string({label:`travel.trip.act.location`,rules:{max:300}}),booking_ref:e.string({label:`travel.trip.act.booking_ref`,rules:{max:100}}),cost:e.money({label:`travel.trip.act.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),documents:e.document({label:`travel.trip.act.documents`,multiple:!0}),notes:e.text({label:`travel.trip.act.notes`,rules:{max:2e3}})}}),tags:e.tags({label:`travel.trip.fields.tags`}),notes:e.text({label:`travel.trip.fields.notes`,rules:{max:3e3}})}}),u=i({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],label:`travel.plugin.label`,description:`travel.plugin.description`,libraries:[{meta:r({id:`travel`,label:`travel.library.label`,icon:`lucide:plane`,agent:{description:`Trips (trip) with legs, lodging, insurance, activities, and packing lists.`,instructions:`trip: status + date range (date_from/date_to). Nested collections: legs (transport), accommodations (lodging), insurances, activities, packing_items (linked things), packing_list (free text). When a trip/booking status changes — update trip.status and the relevant fields via update_record.`}}),shelves:[l]}]});export{u as default};
@@ -0,0 +1 @@
1
+ import{n as e}from"./fields-CV3RQg0Y.js";import{n as t}from"./plugin-Cjr7lgQH.js";import{t as n}from"./settings-Bo5IOwVg.js";var r=t({id:`console`,version:`1.0.0`,dependsOn:[],label:`console.plugin.label`,description:`console.plugin.description`,settings:n({label:`console.settings.label`,icon:`lucide:terminal`,fields:{info:e.info(`console.settings.intro`),divider:e.divider(),info2:e.info(`console.settings.claude`),divider2:e.divider(),info3:e.info(`console.settings.codex`),divider3:e.divider(),info4:e.info(`console.settings.skills`)}})});export{r as default};