@coffer-org/web 7.4.0 → 7.4.2

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 (62) hide show
  1. package/dist/assets/{ChatWidget-BpM6H_NG.js → ChatWidget-CZFJNVBt.js} +2 -2
  2. package/dist/assets/{DiagnosticsPage-Dzhks26m.js → DiagnosticsPage-BRGLbMCb.js} +1 -1
  3. package/dist/assets/{MarkdownEditor-CANj53YF.js → MarkdownEditor-DsKPqeIt.js} +1 -1
  4. package/dist/assets/{NewRecordView-Y6PoWPB9.js → NewRecordView-B1jdKkrr.js} +1 -1
  5. package/dist/assets/{PluginSettingsPage-BIUa4IUX.js → PluginSettingsPage-Dasrpx47.js} +1 -1
  6. package/dist/assets/{SettingsForm-D7Go7QNO.js → SettingsForm-C-xB5cdD.js} +1 -1
  7. package/dist/assets/SettingsPage-DjRQ1bY5.js +3 -0
  8. package/dist/assets/{ThemeSwitcher-DuYQMxYo.js → ThemeSwitcher-BJRcZMR7.js} +1 -1
  9. package/dist/assets/{data-size-BMG0D59K.js → data-size-CO-LGHbN.js} +1 -1
  10. package/dist/assets/{extend-yQ8zoqGc.js → extend-CHOe1AVl.js} +1 -1
  11. package/dist/assets/{fields-CV3RQg0Y.js → fields-Ce51pRua.js} +1 -1
  12. package/dist/assets/{ilamy-view-Dddf8Q2O.js → ilamy-view-D7DQZ577.js} +2 -2
  13. package/dist/assets/index-CpRTFlxk.js +22 -0
  14. package/dist/assets/index-Le8YFirR.css +2 -0
  15. package/dist/assets/{list-cache-DOhsI_p2.js → list-cache-wPeWyKg1.js} +1 -1
  16. package/dist/assets/{registration-BBxYynR4.js → registration-43gjHJ3X.js} +1 -1
  17. package/dist/assets/settings-BEzSaRjz.js +1 -0
  18. package/dist/assets/{shelf-Cj_pNvd-.js → shelf-DjiUBfgQ.js} +1 -1
  19. package/dist/assets/{src-Q4BhkNtH.js → src-B-FFwJ-G.js} +1 -1
  20. package/dist/assets/{src-C46sbhiF.js → src-B1LWYTOR.js} +1 -1
  21. package/dist/assets/{src-B2aXBzDf.js → src-B7dY0wwO.js} +2 -2
  22. package/dist/assets/{src-Bhz_DXRd.js → src-BDP8FIN_.js} +1 -1
  23. package/dist/assets/{src-DnN2GqEI.js → src-BPuTgDYD.js} +1 -1
  24. package/dist/assets/{src-Bl8rYgUt2.js → src-BRP-DLVM2.js} +1 -1
  25. package/dist/assets/src-BU56fYCH2.js +1 -0
  26. package/dist/assets/{src-qJ0szNVM.js → src-BmgYgIDb.js} +1 -1
  27. package/dist/assets/{src-BrHtOaqX.js → src-C06O0ceD.js} +1 -1
  28. package/dist/assets/src-CCeQIMl_.js +1 -0
  29. package/dist/assets/{src-CQOQ3BNT.js → src-CgXkpslu.js} +1 -1
  30. package/dist/assets/src-CheiTWox.js +7 -0
  31. package/dist/assets/src-CjPxrk6V.js +1 -0
  32. package/dist/assets/{src-BHz-TcxU.js → src-Co7xh07B.js} +1 -1
  33. package/dist/assets/{src-tKMBP4Dv.js → src-CtQWxdaS.js} +1 -1
  34. package/dist/assets/src-CwyJPFKQ.js +1 -0
  35. package/dist/assets/src-DDtMlZ03.js +1 -0
  36. package/dist/assets/{src-rMuD7zD4.js → src-DNx0vmvI.js} +1 -1
  37. package/dist/assets/{src-4bmZI2h_.js → src-DjrjxzQu.js} +1 -1
  38. package/dist/assets/{src-CE1TPDES.js → src-Dsh4Yd_x.js} +1 -1
  39. package/dist/assets/{src-xh_qAK43.js → src-Du26RLvk.js} +1 -1
  40. package/dist/assets/src-G94LYhEo.js +1 -0
  41. package/dist/assets/{src-BmyfVP9z.js → src-aPsTM6Fr.js} +1 -1
  42. package/dist/assets/{src-0TBpEeKK.js → src-iJXhTwKd.js} +1 -1
  43. package/dist/assets/{src-Dr_dOgc9.js → src-rXsbV4Ce.js} +1 -1
  44. package/dist/assets/{ui-D0o4fruq.js → ui-BLiPhfyz.js} +1 -1
  45. package/dist/assets/{ui-CZNm-1na.js → ui-DL6R5B56.js} +2 -2
  46. package/dist/assets/{ui-BpQAH_5F.js → ui-jz6tZ6GD.js} +1 -1
  47. package/dist/assets/ui-mefYc6et.js +2 -0
  48. package/dist/index.html +9 -9
  49. package/dist-vendor/web-ui.js +8626 -8597
  50. package/package.json +1 -1
  51. package/dist/assets/SettingsPage-BmyDzHcF.js +0 -3
  52. package/dist/assets/index-Brc5FUYA.css +0 -2
  53. package/dist/assets/index-VReUcCHo.js +0 -22
  54. package/dist/assets/settings-Bo5IOwVg.js +0 -1
  55. package/dist/assets/src-BZK1QVol.js +0 -1
  56. package/dist/assets/src-CD1zBxk2.js +0 -1
  57. package/dist/assets/src-D14fQdLH.js +0 -1
  58. package/dist/assets/src-DgQcfYnz.js +0 -1
  59. package/dist/assets/src-Ds6m7Evp2.js +0 -1
  60. package/dist/assets/src-Mln-mCD3.js +0 -1
  61. package/dist/assets/src-r8PGv9_a.js +0 -7
  62. package/dist/assets/ui-CPQ5ERi6.js +0 -2
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GeoMap-B1DFGu6_.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-CzSUaSLk.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{p as r,r as i,t as a,u as o}from"./react-vendor-CzSUaSLk.js";import{Br as s,Jt as c,M as l,Pr as u,W as d,Yt as f,an as p,gt as m,ni as h,wt as g}from"./src-r8PGv9_a.js";import{y as _}from"./fields-CV3RQg0Y.js";import{r as v,t as y}from"./input-BFMNMo6y.js";import{l as b}from"./phone-input-8QtHMHO_.js";import{s as x,t as S}from"./shelf-Cj_pNvd-.js";var C=v(`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`}]]),w=e(t(),1);function T(e,t){return Math.floor((e+180)/360*2**t)}function E(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 D(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${T(t,n)}/${E(e,n)}.png`}function O(e){let t=_(e.parts??[]);return{latKey:t.lat??`lat`,lngKey:t.lng??`lng`,labelKey:t.label??`label`}}function k(e,t){let{latKey:n,lngKey:r,labelKey:i}=O(t),a=e&&typeof e==`object`?e:(()=>{try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:null}catch{return null}})();return a?{lat:a[n],lng:a[r],label:a[i]}:{}}var A=e=>Number(e.toFixed(6)),j=(e,t)=>{if(e.lat==null&&e.lng==null&&!e.label)return``;let{latKey:n,lngKey:r,labelKey:i}=O(t);return{[n]:e.lat,[r]:e.lng,[i]:e.label}},M=a(),N=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`;function P(e){return e.lat!=null||e.lng!=null||e.label!=null}var F=(0,w.lazy)(()=>r(()=>import(`./GeoMap-B1DFGu6_.js`),__vite__mapDeps([0,1,2,3,4])));function I({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,M.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-foreground hover:border-ring`,children:[(0,M.jsxDEV)(s,{size:16},void 0,!1,{fileName:N,lineNumber:37,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:N,lineNumber:32,columnNumber:7},this):(0,M.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-ring`,children:[(0,M.jsxDEV)(`img`,{src:D(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:N,lineNumber:48,columnNumber:7},this),(0,M.jsxDEV)(s,{size:22,fill:`currentColor`,className:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-full text-destructive drop-shadow`},void 0,!1,{fileName:N,lineNumber:49,columnNumber:7},this)]},void 0,!0,{fileName:N,lineNumber:42,columnNumber:5},this)}function L({field:e,value:t,commit:r,editable:i,label:a,onClose:o}){let{t:s}=n(),[l,f]=(0,w.useState)(``),[p,m]=(0,w.useState)(!1),h=e=>e===``?void 0:Number(e),_=e.parts?.find(e=>e.role===`lat`),v=e.parts?.find(e=>e.role===`lng`),x=_!=null&&_.mode!==`stored`||v!=null&&v.mode!==`stored`,S=e.parts?.find(e=>e.role===`label`),T=S!=null&&S.mode!==`stored`,E=i&&!x,{draft:D,setDraft:O,save:I,clear:L,clearable:R,error:z,busy:B}=d({field:e,seed:t,commit:r??(async()=>void 0),remove:i&&P(k(t,e))?()=>``:void 0,onDone:o}),V=(0,w.useMemo)(()=>k(D,e),[D,e]),H=t=>O(j(t,e));function U(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>H({...V,lat:A(e.coords.latitude),lng:A(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function W(){if(l.trim()){m(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(l)}`)).json();Array.isArray(e)&&e[0]&&H({lat:A(+e[0].lat),lng:A(+e[0].lon),label:V.label||e[0].display_name})}catch{}m(!1)}}return(0,M.jsxDEV)(g,{open:!0,onOpenChange:e=>!e&&o(),title:a,children:(0,M.jsxDEV)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[E&&(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(y,{placeholder:s(`geo.searchPlaceholder`),value:l,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),W())},className:`flex-1`},void 0,!1,{fileName:N,lineNumber:137,columnNumber:13},this),(0,M.jsxDEV)(b,{type:`button`,variant:`secondary`,size:`icon`,disabled:p,onClick:W,title:s(`geo.search`),children:(0,M.jsxDEV)(u,{size:16},void 0,!1,{fileName:N,lineNumber:157,columnNumber:15},this)},void 0,!1,{fileName:N,lineNumber:149,columnNumber:13},this),(0,M.jsxDEV)(b,{type:`button`,variant:`secondary`,size:`icon`,onClick:U,title:s(`geo.myLocation`),children:(0,M.jsxDEV)(C,{size:16},void 0,!1,{fileName:N,lineNumber:160,columnNumber:15},this)},void 0,!1,{fileName:N,lineNumber:159,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:136,columnNumber:11},this),(0,M.jsxDEV)(w.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-card/40`},void 0,!1,{fileName:N,lineNumber:164,columnNumber:29},this),children:(0,M.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,M.jsxDEV)(F,{lat:V.lat,lng:V.lng,interactive:E,onPick:E?(e,t)=>H({...V,lat:e,lng:t}):void 0},void 0,!1,{fileName:N,lineNumber:166,columnNumber:13},this)},void 0,!1,{fileName:N,lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:N,lineNumber:164,columnNumber:9},this),(0,M.jsxDEV)(c,{error:z},void 0,!1,{fileName:N,lineNumber:174,columnNumber:9},this),i?(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,M.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[x?(0,M.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted-foreground`,children:V.lat??`—`},void 0,!1,{fileName:N,lineNumber:180,columnNumber:17},this):(0,M.jsxDEV)(y,{type:`number`,step:`any`,placeholder:`lat`,value:V.lat??``,onChange:e=>H({...V,lat:h(e.target.value)})},void 0,!1,{fileName:N,lineNumber:184,columnNumber:17},this),x?(0,M.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted-foreground`,children:V.lng??`—`},void 0,!1,{fileName:N,lineNumber:193,columnNumber:17},this):(0,M.jsxDEV)(y,{type:`number`,step:`any`,placeholder:`lng`,value:V.lng??``,onChange:e=>H({...V,lng:h(e.target.value)})},void 0,!1,{fileName:N,lineNumber:197,columnNumber:17},this),T?(0,M.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted-foreground`,children:V.label??`—`},void 0,!1,{fileName:N,lineNumber:206,columnNumber:17},this):(0,M.jsxDEV)(y,{placeholder:s(`geo.label`),value:V.label??``,onChange:e=>H({...V,label:e.target.value||void 0})},void 0,!1,{fileName:N,lineNumber:210,columnNumber:17},this)]},void 0,!0,{fileName:N,lineNumber:178,columnNumber:13},this),R&&(0,M.jsxDEV)(b,{type:`button`,variant:`destructiveOutline`,disabled:B,onClick:()=>void L(),className:`sm:self-auto`,children:s(`actions.clear`)},void 0,!1,{fileName:N,lineNumber:218,columnNumber:15},this),(0,M.jsxDEV)(b,{type:`button`,disabled:B,onClick:()=>void I(),className:`sm:self-auto`,children:s(`actions.save`)},void 0,!1,{fileName:N,lineNumber:228,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:176,columnNumber:11},this):V.lat!=null&&V.lng!=null&&(0,M.jsxDEV)(`a`,{className:`text-sm text-primary hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${V.lat}&mlon=${V.lng}#map=15/${V.lat}/${V.lng}`,children:V.label??`${V.lat.toFixed(5)}, ${V.lng?.toFixed(5)}`},void 0,!1,{fileName:N,lineNumber:235,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:134,columnNumber:7},this)},void 0,!1,{fileName:N,lineNumber:133,columnNumber:5},this)}function R({field:e,value:t,commit:n,editable:r,label:i}){let a=(0,w.useMemo)(()=>k(t,e),[t,e]),[o,s]=(0,w.useState)(!1);return(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsxDEV)(I,{g:a,onOpen:()=>s(!0)},void 0,!1,{fileName:N,lineNumber:267,columnNumber:7},this),a.label&&(0,M.jsxDEV)(`span`,{className:`text-sm break-words`,children:a.label},void 0,!1,{fileName:N,lineNumber:273,columnNumber:19},this),a.lat!=null&&a.lng!=null&&(0,M.jsxDEV)(`span`,{className:`text-[11px] text-muted-foreground ${p(e)}`.trim(),"data-testid":`geo-point`,children:[a.lat.toFixed(5),`, `,a.lng.toFixed(5)]},void 0,!0,{fileName:N,lineNumber:275,columnNumber:9},this),o&&(0,M.jsxDEV)(L,{field:e,value:t,commit:n,editable:r,label:i,onClose:()=>s(!1)},void 0,!1,{fileName:N,lineNumber:280,columnNumber:9},this)]},void 0,!0,{fileName:N,lineNumber:266,columnNumber:5},this)}function z(e){let t=m(),n=t?.writable?t.write:void 0,r=!!n&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),i=(0,M.jsxDEV)(R,{field:e.field,value:e.value,commit:n,editable:r,label:e.label},void 0,!1,{fileName:N,lineNumber:297,columnNumber:16},this);return e.bare?i:(0,M.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,M.jsxDEV)(f,{label:e.label},void 0,!1,{fileName:N,lineNumber:301,columnNumber:33},this),i,(0,M.jsxDEV)(c,{error:e.error},void 0,!1,{fileName:N,lineNumber:303,columnNumber:7},this)]},void 0,!0,{fileName:N,lineNumber:300,columnNumber:5},this)}function B({value:e,field:t}){let n=k(e,t);return(0,M.jsxDEV)(`span`,{className:`truncate`,children:n.label??(n.lat==null?`—`:`${n.lat.toFixed(3)}, ${n.lng?.toFixed(3)}`)},void 0,!1,{fileName:N,lineNumber:311,columnNumber:5},this)}var V={kinds:[`geo`],editor:`own`,Page:z,Inline:B};function H(e,t){let n=x(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function U(e,t){let n=H(e,t);return n.length===1?n[0]:null}function W(e,t){let n=x(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=H(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 G=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,K=(0,w.lazy)(()=>r(()=>import(`./GeoMap-B1DFGu6_.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function q({rows:e,shelf:t,keys:r,hrefBase:a}){let{t:s}=n(),c=o(),[u,d]=(0,w.useState)(!1),f=x(t.fields),p=U(t,r),m=r[0],{points:h,without:g}=(0,w.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=p?S(f[p],p,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(S(f[m],m,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,p,m,f]);return(0,M.jsxDEV)(`div`,{className:`p-4`,children:[(0,M.jsxDEV)(w.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:G,lineNumber:48,columnNumber:27},this),children:(0,M.jsxDEV)(K,{points:h,onPick:e=>c(`${a}/${e}`)},void 0,!1,{fileName:G,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:48,columnNumber:7},this),g.length>0&&(0,M.jsxDEV)(`div`,{className:`mt-3`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`text-sm text-muted-foreground hover:text-foreground transition-colors`,children:s(`geo.withoutCoords`,{count:g.length})},void 0,!1,{fileName:G,lineNumber:53,columnNumber:11},this),u&&(0,M.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:g.map(e=>(0,M.jsxDEV)(`li`,{children:(0,M.jsxDEV)(i,{to:`${a}/${e.id}`,className:`text-sm text-foreground hover:text-primary`,children:(0,M.jsxDEV)(l,{field:f[m],value:S(f[m],m,e)},void 0,!1,{fileName:G,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:G,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:G,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:G,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:G,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:G,lineNumber:47,columnNumber:5},this)}var J=h({renderers:[V],listViews:[{kind:`map`,View:q,check:W}],translations:{uk:{geo:{plugin:{label:`Карти`,description:`Координати, пошук місць і вибір на карті.`},searchPlaceholder:`Пошук адреси…`,search:`Знайти`,myLocation:`Моє місцеположення`,label:`Підпис`,pick:`Обрати місце`,withoutCoords:`Без координат: {{count}}`}},ru:{geo:{plugin:{label:`Карты`,description:`Координаты, поиск мест и выбор на карте.`},searchPlaceholder:`Поиск адреса…`,search:`Найти`,myLocation:`Моё местоположение`,label:`Подпись`,pick:`Выбрать место`,withoutCoords:`Без координат: {{count}}`}},en:{geo:{plugin:{label:`Maps`,description:`Coordinates, place search and map picking.`},searchPlaceholder:`Search address…`,search:`Search`,myLocation:`My location`,label:`Label`,pick:`Pick location`,withoutCoords:`Without coordinates: {{count}}`}}}});export{J 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{p as r,r as i,t as a,u as o}from"./react-vendor-CzSUaSLk.js";import{Fr as s,Jt as c,M as l,W as u,Yt as d,Zr as f,an as p,gt as m,kr as h,wt as g}from"./src-CheiTWox.js";import{y as _}from"./fields-Ce51pRua.js";import{r as v,t as y}from"./input-BFMNMo6y.js";import{l as b}from"./phone-input-8QtHMHO_.js";import{s as x,t as S}from"./shelf-DjiUBfgQ.js";var C=v(`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`}]]),w=e(t(),1);function T(e,t){return Math.floor((e+180)/360*2**t)}function E(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 D(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${T(t,n)}/${E(e,n)}.png`}function O(e){let t=_(e.parts??[]);return{latKey:t.lat??`lat`,lngKey:t.lng??`lng`,labelKey:t.label??`label`}}function k(e,t){let{latKey:n,lngKey:r,labelKey:i}=O(t),a=e&&typeof e==`object`?e:(()=>{try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:null}catch{return null}})();return a?{lat:a[n],lng:a[r],label:a[i]}:{}}var A=e=>Number(e.toFixed(6)),j=(e,t)=>{if(e.lat==null&&e.lng==null&&!e.label)return``;let{latKey:n,lngKey:r,labelKey:i}=O(t);return{[n]:e.lat,[r]:e.lng,[i]:e.label}},M=a(),N=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`;function P(e){return e.lat!=null||e.lng!=null||e.label!=null}var F=(0,w.lazy)(()=>r(()=>import(`./GeoMap-B1DFGu6_.js`),__vite__mapDeps([0,1,2,3,4])));function I({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,M.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-foreground hover:border-ring`,children:[(0,M.jsxDEV)(s,{size:16},void 0,!1,{fileName:N,lineNumber:37,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:N,lineNumber:32,columnNumber:7},this):(0,M.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-ring`,children:[(0,M.jsxDEV)(`img`,{src:D(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:N,lineNumber:48,columnNumber:7},this),(0,M.jsxDEV)(s,{size:22,fill:`currentColor`,className:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-full text-destructive drop-shadow`},void 0,!1,{fileName:N,lineNumber:49,columnNumber:7},this)]},void 0,!0,{fileName:N,lineNumber:42,columnNumber:5},this)}function L({field:e,value:t,commit:r,editable:i,label:a,onClose:o}){let{t:s}=n(),[l,d]=(0,w.useState)(``),[f,p]=(0,w.useState)(!1),m=e=>e===``?void 0:Number(e),_=e.parts?.find(e=>e.role===`lat`),v=e.parts?.find(e=>e.role===`lng`),x=_!=null&&_.mode!==`stored`||v!=null&&v.mode!==`stored`,S=e.parts?.find(e=>e.role===`label`),T=S!=null&&S.mode!==`stored`,E=i&&!x,{draft:D,setDraft:O,save:I,clear:L,clearable:R,error:z,busy:B}=u({field:e,seed:t,commit:r??(async()=>void 0),remove:i&&P(k(t,e))?()=>``:void 0,onDone:o}),V=(0,w.useMemo)(()=>k(D,e),[D,e]),H=t=>O(j(t,e));function U(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>H({...V,lat:A(e.coords.latitude),lng:A(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function W(){if(l.trim()){p(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(l)}`)).json();Array.isArray(e)&&e[0]&&H({lat:A(+e[0].lat),lng:A(+e[0].lon),label:V.label||e[0].display_name})}catch{}p(!1)}}return(0,M.jsxDEV)(g,{open:!0,onOpenChange:e=>!e&&o(),title:a,children:(0,M.jsxDEV)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[E&&(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(y,{placeholder:s(`geo.searchPlaceholder`),value:l,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),W())},className:`flex-1`},void 0,!1,{fileName:N,lineNumber:137,columnNumber:13},this),(0,M.jsxDEV)(b,{type:`button`,variant:`secondary`,size:`icon`,disabled:f,onClick:W,title:s(`geo.search`),children:(0,M.jsxDEV)(h,{size:16},void 0,!1,{fileName:N,lineNumber:157,columnNumber:15},this)},void 0,!1,{fileName:N,lineNumber:149,columnNumber:13},this),(0,M.jsxDEV)(b,{type:`button`,variant:`secondary`,size:`icon`,onClick:U,title:s(`geo.myLocation`),children:(0,M.jsxDEV)(C,{size:16},void 0,!1,{fileName:N,lineNumber:160,columnNumber:15},this)},void 0,!1,{fileName:N,lineNumber:159,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:136,columnNumber:11},this),(0,M.jsxDEV)(w.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-card/40`},void 0,!1,{fileName:N,lineNumber:164,columnNumber:29},this),children:(0,M.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,M.jsxDEV)(F,{lat:V.lat,lng:V.lng,interactive:E,onPick:E?(e,t)=>H({...V,lat:e,lng:t}):void 0},void 0,!1,{fileName:N,lineNumber:166,columnNumber:13},this)},void 0,!1,{fileName:N,lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:N,lineNumber:164,columnNumber:9},this),(0,M.jsxDEV)(c,{error:z},void 0,!1,{fileName:N,lineNumber:174,columnNumber:9},this),i?(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,M.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[x?(0,M.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted-foreground`,children:V.lat??`—`},void 0,!1,{fileName:N,lineNumber:180,columnNumber:17},this):(0,M.jsxDEV)(y,{type:`number`,step:`any`,placeholder:`lat`,value:V.lat??``,onChange:e=>H({...V,lat:m(e.target.value)})},void 0,!1,{fileName:N,lineNumber:184,columnNumber:17},this),x?(0,M.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted-foreground`,children:V.lng??`—`},void 0,!1,{fileName:N,lineNumber:193,columnNumber:17},this):(0,M.jsxDEV)(y,{type:`number`,step:`any`,placeholder:`lng`,value:V.lng??``,onChange:e=>H({...V,lng:m(e.target.value)})},void 0,!1,{fileName:N,lineNumber:197,columnNumber:17},this),T?(0,M.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted-foreground`,children:V.label??`—`},void 0,!1,{fileName:N,lineNumber:206,columnNumber:17},this):(0,M.jsxDEV)(y,{placeholder:s(`geo.label`),value:V.label??``,onChange:e=>H({...V,label:e.target.value||void 0})},void 0,!1,{fileName:N,lineNumber:210,columnNumber:17},this)]},void 0,!0,{fileName:N,lineNumber:178,columnNumber:13},this),R&&(0,M.jsxDEV)(b,{type:`button`,variant:`destructiveOutline`,disabled:B,onClick:()=>void L(),className:`sm:self-auto`,children:s(`actions.clear`)},void 0,!1,{fileName:N,lineNumber:218,columnNumber:15},this),(0,M.jsxDEV)(b,{type:`button`,disabled:B,onClick:()=>void I(),className:`sm:self-auto`,children:s(`actions.save`)},void 0,!1,{fileName:N,lineNumber:228,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:176,columnNumber:11},this):V.lat!=null&&V.lng!=null&&(0,M.jsxDEV)(`a`,{className:`text-sm text-primary hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${V.lat}&mlon=${V.lng}#map=15/${V.lat}/${V.lng}`,children:V.label??`${V.lat.toFixed(5)}, ${V.lng?.toFixed(5)}`},void 0,!1,{fileName:N,lineNumber:235,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:134,columnNumber:7},this)},void 0,!1,{fileName:N,lineNumber:133,columnNumber:5},this)}function R({field:e,value:t,commit:n,editable:r,label:i}){let a=(0,w.useMemo)(()=>k(t,e),[t,e]),[o,s]=(0,w.useState)(!1);return(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsxDEV)(I,{g:a,onOpen:()=>s(!0)},void 0,!1,{fileName:N,lineNumber:267,columnNumber:7},this),a.label&&(0,M.jsxDEV)(`span`,{className:`text-sm break-words`,children:a.label},void 0,!1,{fileName:N,lineNumber:273,columnNumber:19},this),a.lat!=null&&a.lng!=null&&(0,M.jsxDEV)(`span`,{className:`text-[11px] text-muted-foreground ${p(e)}`.trim(),"data-testid":`geo-point`,children:[a.lat.toFixed(5),`, `,a.lng.toFixed(5)]},void 0,!0,{fileName:N,lineNumber:275,columnNumber:9},this),o&&(0,M.jsxDEV)(L,{field:e,value:t,commit:n,editable:r,label:i,onClose:()=>s(!1)},void 0,!1,{fileName:N,lineNumber:280,columnNumber:9},this)]},void 0,!0,{fileName:N,lineNumber:266,columnNumber:5},this)}function z(e){let t=m(),n=t?.writable?t.write:void 0,r=!!n&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),i=(0,M.jsxDEV)(R,{field:e.field,value:e.value,commit:n,editable:r,label:e.label},void 0,!1,{fileName:N,lineNumber:297,columnNumber:16},this);return e.bare?i:(0,M.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,M.jsxDEV)(d,{label:e.label},void 0,!1,{fileName:N,lineNumber:301,columnNumber:33},this),i,(0,M.jsxDEV)(c,{error:e.error},void 0,!1,{fileName:N,lineNumber:303,columnNumber:7},this)]},void 0,!0,{fileName:N,lineNumber:300,columnNumber:5},this)}function B({value:e,field:t}){let n=k(e,t);return(0,M.jsxDEV)(`span`,{className:`truncate`,children:n.label??(n.lat==null?`—`:`${n.lat.toFixed(3)}, ${n.lng?.toFixed(3)}`)},void 0,!1,{fileName:N,lineNumber:311,columnNumber:5},this)}var V={kinds:[`geo`],editor:`own`,Page:z,Inline:B};function H(e,t){let n=x(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function U(e,t){let n=H(e,t);return n.length===1?n[0]:null}function W(e,t){let n=x(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=H(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 G=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,K=(0,w.lazy)(()=>r(()=>import(`./GeoMap-B1DFGu6_.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function q({rows:e,shelf:t,keys:r,hrefBase:a}){let{t:s}=n(),c=o(),[u,d]=(0,w.useState)(!1),f=x(t.fields),p=U(t,r),m=r[0],{points:h,without:g}=(0,w.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=p?S(f[p],p,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(S(f[m],m,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,p,m,f]);return(0,M.jsxDEV)(`div`,{className:`p-4`,children:[(0,M.jsxDEV)(w.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:G,lineNumber:48,columnNumber:27},this),children:(0,M.jsxDEV)(K,{points:h,onPick:e=>c(`${a}/${e}`)},void 0,!1,{fileName:G,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:48,columnNumber:7},this),g.length>0&&(0,M.jsxDEV)(`div`,{className:`mt-3`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`text-sm text-muted-foreground hover:text-foreground transition-colors`,children:s(`geo.withoutCoords`,{count:g.length})},void 0,!1,{fileName:G,lineNumber:53,columnNumber:11},this),u&&(0,M.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:g.map(e=>(0,M.jsxDEV)(`li`,{children:(0,M.jsxDEV)(i,{to:`${a}/${e.id}`,className:`text-sm text-foreground hover:text-primary`,children:(0,M.jsxDEV)(l,{field:f[m],value:S(f[m],m,e)},void 0,!1,{fileName:G,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:G,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:G,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:G,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:G,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:G,lineNumber:47,columnNumber:5},this)}var J=f({renderers:[V],listViews:[{kind:`map`,View:q,check:W}],translations:{uk:{geo:{plugin:{label:`Карти`,description:`Координати, пошук місць і вибір на карті.`},searchPlaceholder:`Пошук адреси…`,search:`Знайти`,myLocation:`Моє місцеположення`,label:`Підпис`,pick:`Обрати місце`,withoutCoords:`Без координат: {{count}}`}},ru:{geo:{plugin:{label:`Карты`,description:`Координаты, поиск мест и выбор на карте.`},searchPlaceholder:`Поиск адреса…`,search:`Найти`,myLocation:`Моё местоположение`,label:`Подпись`,pick:`Выбрать место`,withoutCoords:`Без координат: {{count}}`}},en:{geo:{plugin:{label:`Maps`,description:`Coordinates, place search and map picking.`},searchPlaceholder:`Search address…`,search:`Search`,myLocation:`My location`,label:`Label`,pick:`Pick location`,withoutCoords:`Without coordinates: {{count}}`}}}});export{J as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatWidget-CZFJNVBt.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-CzSUaSLk.js","assets/src-CheiTWox.js","assets/countries-CoGvAZ5u.js","assets/fields-Ce51pRua.js","assets/input-BFMNMo6y.js","assets/phone-input-8QtHMHO_.js","assets/ui-vendor-ByG3otld.js","assets/icons-0CjpO0K1.js","assets/popover-UkAmHo3Y.js","assets/condition-B5taAXkb.js","assets/shelf-DjiUBfgQ.js","assets/markdown-vendor-WSL3P01P.js","assets/development-ChLInqDF.js","assets/file-text-BdYRF4MO.js"])))=>i.map(i=>d[i]);
2
+ import{p as e}from"./react-vendor-CzSUaSLk.js";import{Zr as t}from"./src-CheiTWox.js";var n=t({slots:[{slot:`overlay`,id:`webchat`,load:()=>e(()=>import(`./ChatWidget-CZFJNVBt.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))}]});export{n as default};
package/dist/index.html CHANGED
@@ -46,31 +46,31 @@
46
46
  }
47
47
  }
48
48
  </script>
49
- <script type="module" crossorigin src="/assets/index-VReUcCHo.js"></script>
49
+ <script type="module" crossorigin src="/assets/index-CpRTFlxk.js"></script>
50
50
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
51
51
  <link rel="modulepreload" crossorigin href="/assets/i18n-vendor-T6EnJ_TL.js">
52
52
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-CzSUaSLk.js">
53
53
  <link rel="modulepreload" crossorigin href="/assets/countries-CoGvAZ5u.js">
54
- <link rel="modulepreload" crossorigin href="/assets/fields-CV3RQg0Y.js">
54
+ <link rel="modulepreload" crossorigin href="/assets/fields-Ce51pRua.js">
55
55
  <link rel="modulepreload" crossorigin href="/assets/input-BFMNMo6y.js">
56
56
  <link rel="modulepreload" crossorigin href="/assets/icons-0CjpO0K1.js">
57
57
  <link rel="modulepreload" crossorigin href="/assets/ui-vendor-ByG3otld.js">
58
58
  <link rel="modulepreload" crossorigin href="/assets/phone-input-8QtHMHO_.js">
59
59
  <link rel="modulepreload" crossorigin href="/assets/popover-UkAmHo3Y.js">
60
60
  <link rel="modulepreload" crossorigin href="/assets/condition-B5taAXkb.js">
61
- <link rel="modulepreload" crossorigin href="/assets/shelf-Cj_pNvd-.js">
61
+ <link rel="modulepreload" crossorigin href="/assets/shelf-DjiUBfgQ.js">
62
62
  <link rel="modulepreload" crossorigin href="/assets/markdown-vendor-WSL3P01P.js">
63
63
  <link rel="modulepreload" crossorigin href="/assets/development-ChLInqDF.js">
64
- <link rel="modulepreload" crossorigin href="/assets/src-r8PGv9_a.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/src-CheiTWox.js">
65
65
  <link rel="modulepreload" crossorigin href="/assets/file-text-BdYRF4MO.js">
66
- <link rel="modulepreload" crossorigin href="/assets/ThemeSwitcher-DuYQMxYo.js">
66
+ <link rel="modulepreload" crossorigin href="/assets/ThemeSwitcher-BJRcZMR7.js">
67
67
  <link rel="modulepreload" crossorigin href="/assets/plugin-Cjr7lgQH.js">
68
- <link rel="modulepreload" crossorigin href="/assets/extend-yQ8zoqGc.js">
69
- <link rel="modulepreload" crossorigin href="/assets/list-cache-DOhsI_p2.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/extend-CHOe1AVl.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/list-cache-wPeWyKg1.js">
70
70
  <link rel="modulepreload" crossorigin href="/assets/api-QNHQU9to.js">
71
71
  <link rel="modulepreload" crossorigin href="/assets/auth-context-CoCE5oPD.js">
72
- <link rel="modulepreload" crossorigin href="/assets/SettingsForm-D7Go7QNO.js">
73
- <link rel="stylesheet" crossorigin href="/assets/index-Brc5FUYA.css">
72
+ <link rel="modulepreload" crossorigin href="/assets/SettingsForm-C-xB5cdD.js">
73
+ <link rel="stylesheet" crossorigin href="/assets/index-Le8YFirR.css">
74
74
  </head>
75
75
  <body>
76
76
  <div id="root"></div>