@coffer-org/web 2.2.0 → 2.2.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 (63) hide show
  1. package/dist/assets/{ChatWidget-Bz4u-SNy.js → ChatWidget-BX-h9dAv.js} +2 -2
  2. package/dist/assets/{ExtendReasonInfo-BeDIuYIi.js → ExtendReasonInfo-C7Lp4hCA.js} +1 -1
  3. package/dist/assets/{GeoMap-7TgzIUoI.js → GeoMap-DOMXVIzU.js} +1 -1
  4. package/dist/assets/Icon-CnFXN8LC.js +2 -0
  5. package/dist/assets/{NewRecordView-CEU4tihb.js → NewRecordView-ujLhcgDX.js} +1 -1
  6. package/dist/assets/{PluginSettingsPage-T_qvClIU.js → PluginSettingsPage-DPSzTBjm.js} +1 -1
  7. package/dist/assets/{SettingsForm-BHlzjvhR.js → SettingsForm-DWJJQMcy.js} +1 -1
  8. package/dist/assets/SettingsPage-BsNgyOnB.js +3 -0
  9. package/dist/assets/Toolbar-BaMlEpmz.js +2 -0
  10. package/dist/assets/{api-1ZNfndlh.js → api-CL5tEEID.js} +1 -1
  11. package/dist/assets/{auth-context-CJTSRD17.js → auth-context-C7i2C9Lu.js} +1 -1
  12. package/dist/assets/{chrome-BWlqqMIt.js → chrome-Byteug4G.js} +1 -1
  13. package/dist/assets/{data-size-BKFevwmi.js → data-size-Ki_AjEms.js} +1 -1
  14. package/dist/assets/dispatch-Pl-o9vd6.js +1 -0
  15. package/dist/assets/{extend-BEGrSWug.js → extend-C8fYaK9l.js} +1 -1
  16. package/dist/assets/field-frame-BtcRGL3k.js +1 -0
  17. package/dist/assets/{fields-CFyhFHW7.js → fields-CnmTcDr4.js} +1 -1
  18. package/dist/assets/index-6EilGfQs.css +2 -0
  19. package/dist/assets/index-D0s8LZqM.js +59 -0
  20. package/dist/assets/{shelf-BqwX4Wzq.js → shelf-CiTNv3-E.js} +1 -1
  21. package/dist/assets/{src-HABGxsRV.js → src-2TXY9Z9N.js} +1 -1
  22. package/dist/assets/{src-DlMQDr49.js → src-B-9OrFPA.js} +1 -1
  23. package/dist/assets/src-B-Ii9AcP.js +1 -0
  24. package/dist/assets/src-B7q8rYDi.js +1 -0
  25. package/dist/assets/{src-Bw_s3Ntp.js → src-BPW6j6Bo.js} +1 -1
  26. package/dist/assets/{src-MK8RohgP.js → src-BWBE_K4f.js} +1 -1
  27. package/dist/assets/{src-C0UxSUeR.js → src-Ba-jB65j.js} +1 -1
  28. package/dist/assets/{src-DWuhltOv.js → src-BgsVCDXk.js} +1 -1
  29. package/dist/assets/{src-zgHG-QuP.js → src-BpJzKzOW.js} +1 -1
  30. package/dist/assets/{src-C78Tm4dQ.js → src-C3FVNCgf.js} +1 -1
  31. package/dist/assets/{src-7UE-kCDq.js → src-CSA_l6-E.js} +1 -1
  32. package/dist/assets/{src-DGTYbs6s.js → src-CdDk084R.js} +1 -1
  33. package/dist/assets/{src-2jGaQ-C3.js → src-CgiQ8TBX.js} +1 -1
  34. package/dist/assets/{src-B1VIJtHj.js → src-D49LGQ58.js} +1 -1
  35. package/dist/assets/{src-DK2Y5zSQ.js → src-DCW55kNf.js} +1 -1
  36. package/dist/assets/{src-DtS4bMoK.js → src-DKYT_mO5.js} +1 -1
  37. package/dist/assets/{src-B03lewBR.js → src-Da9z86OQ.js} +1 -1
  38. package/dist/assets/{src-CkyeS9DG.js → src-DtIj8-CE.js} +1 -1
  39. package/dist/assets/{src-BKtjLdxS.js → src-Dz6ZM88a.js} +1 -1
  40. package/dist/assets/{src-DY4zcFBV.js → src-Et_oFdFd.js} +1 -1
  41. package/dist/assets/src-MIt2Qb_Z.js +1 -0
  42. package/dist/assets/{src-BqABh1uZ.js → src-Ypva5qLC.js} +1 -1
  43. package/dist/assets/{src-RuPVoIKg.js → src-fnvvXa_Q.js} +1 -1
  44. package/dist/assets/{src-7w_NUAGr.js → src-yWH6Huqw.js} +1 -1
  45. package/dist/assets/{src-NjjI6BoS.js → src-znmmPN4Z.js} +1 -1
  46. package/dist/assets/{ui-DzUTPbkP.js → ui-CA1RFMAk.js} +2 -2
  47. package/dist/assets/{ui-CqAR7iK_.js → ui-ChQIr1k8.js} +1 -1
  48. package/dist/assets/{ui-B3pPuRs1.js → ui-SKNO2x2C.js} +2 -2
  49. package/dist/index.html +16 -16
  50. package/dist-vendor/web-sdk.js +0 -6
  51. package/package.json +2 -2
  52. package/site.d.mts +2 -2
  53. package/site.mjs +12 -12
  54. package/dist/assets/Icon-BOpumJtD.js +0 -2
  55. package/dist/assets/SettingsPage-CVFkzyOu.js +0 -3
  56. package/dist/assets/Toolbar-C1CC_tBj.js +0 -2
  57. package/dist/assets/dispatch-TTtoo72r.js +0 -1
  58. package/dist/assets/field-frame-BoLGR-Rm.js +0 -1
  59. package/dist/assets/index-Buiw8O2x.css +0 -2
  60. package/dist/assets/index-DkSdKupT.js +0 -59
  61. package/dist/assets/src-82xH6mzL.js +0 -1
  62. package/dist/assets/src-DK_szrYh.js +0 -1
  63. package/dist/assets/src-DdDc6tQm.js +0 -1
@@ -1,2 +1,2 @@
1
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-Bmvb-qBI.js";import{C as a,E as o,S as s,T as c,b as l,r as u,w as d,y as f}from"./shared-BTj2W-Q0.js";import"./src-DtS4bMoK.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-BoLGR-Rm.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-BKFevwmi.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)(l,{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)(f,{},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)(f,{},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)(s,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(c,{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)(a,{children:b[r].map(([e])=>(0,E.jsxDEV)(d,{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)(f,{},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};
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-Bmvb-qBI.js";import{C as a,E as o,S as s,T as c,b as l,r as u,w as d,y as f}from"./shared-BTj2W-Q0.js";import"./src-DKYT_mO5.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-BtcRGL3k.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-Ki_AjEms.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)(l,{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)(f,{},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)(f,{},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)(s,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(c,{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)(a,{children:b[r].map(([e])=>(0,E.jsxDEV)(d,{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)(f,{},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,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GeoMap-7TgzIUoI.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-Bmvb-qBI.js";import{i as u,l as d}from"./Icon-BOpumJtD.js";import{t as f}from"./button-D-Q6I5Ob.js";import"./shared-BTj2W-Q0.js";import{a as p,o as m}from"./chrome-BWlqqMIt.js";import{r as h,s as g}from"./shelf-BqwX4Wzq.js";import"./src-DtS4bMoK.js";import{n as _}from"./plugin-ui-CKd6q8ec.js";import{t as v}from"./dispatch-TTtoo72r.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-7TgzIUoI.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: у полиці немає текстового поля для заголовка (titleKey відкотився на "id")`;let i=I(e,t);return i.length===0?`views.list.fields не містить поля kind:"geo"`:i.length>1?`views.list.fields містить кілька geo-полів: ${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-7TgzIUoI.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};
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-Bmvb-qBI.js";import{i as u,l as d}from"./Icon-CnFXN8LC.js";import{t as f}from"./button-D-Q6I5Ob.js";import"./shared-BTj2W-Q0.js";import{a as p,o as m}from"./chrome-Byteug4G.js";import{r as h,s as g}from"./shelf-CiTNv3-E.js";import"./src-DKYT_mO5.js";import{n as _}from"./plugin-ui-CKd6q8ec.js";import{t as v}from"./dispatch-Pl-o9vd6.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};
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Coffer</title>
7
7
  <script>
8
- // FOUC: ставимо data-theme до першого рендеру. 'auto'/відсутнє → @media вирішує.
8
+ // FOUC: set data-theme before the first render. 'auto'/missing → @media decides.
9
9
  (function () {
10
10
  try {
11
11
  var t = localStorage.getItem('coffer-theme');
@@ -38,7 +38,7 @@
38
38
  }
39
39
  }
40
40
  </script>
41
- <script type="module" crossorigin src="/assets/index-DkSdKupT.js"></script>
41
+ <script type="module" crossorigin src="/assets/index-D0s8LZqM.js"></script>
42
42
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
43
43
  <link rel="modulepreload" crossorigin href="/assets/i18n-vendor-T6EnJ_TL.js">
44
44
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-BskHO5hY.js">
@@ -49,21 +49,21 @@
49
49
  <link rel="modulepreload" crossorigin href="/assets/ui-vendor-EU9CHLyR.js">
50
50
  <link rel="modulepreload" crossorigin href="/assets/button-D-Q6I5Ob.js">
51
51
  <link rel="modulepreload" crossorigin href="/assets/square-CiErsTOS.js">
52
- <link rel="modulepreload" crossorigin href="/assets/Icon-BOpumJtD.js">
53
- <link rel="modulepreload" crossorigin href="/assets/fields-CFyhFHW7.js">
54
- <link rel="modulepreload" crossorigin href="/assets/src-DtS4bMoK.js">
55
- <link rel="modulepreload" crossorigin href="/assets/chrome-BWlqqMIt.js">
56
- <link rel="modulepreload" crossorigin href="/assets/shelf-BqwX4Wzq.js">
57
- <link rel="modulepreload" crossorigin href="/assets/field-frame-BoLGR-Rm.js">
58
- <link rel="modulepreload" crossorigin href="/assets/extend-BEGrSWug.js">
52
+ <link rel="modulepreload" crossorigin href="/assets/Icon-CnFXN8LC.js">
53
+ <link rel="modulepreload" crossorigin href="/assets/fields-CnmTcDr4.js">
54
+ <link rel="modulepreload" crossorigin href="/assets/src-DKYT_mO5.js">
55
+ <link rel="modulepreload" crossorigin href="/assets/chrome-Byteug4G.js">
56
+ <link rel="modulepreload" crossorigin href="/assets/shelf-CiTNv3-E.js">
57
+ <link rel="modulepreload" crossorigin href="/assets/field-frame-BtcRGL3k.js">
58
+ <link rel="modulepreload" crossorigin href="/assets/extend-C8fYaK9l.js">
59
59
  <link rel="modulepreload" crossorigin href="/assets/plugin-q1oOYqt7.js">
60
60
  <link rel="modulepreload" crossorigin href="/assets/development-olQNibq5.js">
61
61
  <link rel="modulepreload" crossorigin href="/assets/micromark-extension-gfm-BUw6_ZLT.js">
62
- <link rel="modulepreload" crossorigin href="/assets/Toolbar-C1CC_tBj.js">
62
+ <link rel="modulepreload" crossorigin href="/assets/Toolbar-BaMlEpmz.js">
63
63
  <link rel="modulepreload" crossorigin href="/assets/PageBody-Y-cpiRMh.js">
64
- <link rel="modulepreload" crossorigin href="/assets/SettingsForm-BHlzjvhR.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/SettingsForm-DWJJQMcy.js">
65
65
  <link rel="modulepreload" crossorigin href="/assets/input-group-Bmvb-qBI.js">
66
- <link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo-BeDIuYIi.js">
66
+ <link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo-C7Lp4hCA.js">
67
67
  <link rel="modulepreload" crossorigin href="/assets/json-CkyL3W27.js">
68
68
  <link rel="modulepreload" crossorigin href="/assets/shared-BTj2W-Q0.js">
69
69
  <link rel="modulepreload" crossorigin href="/assets/plugin-ui-CKd6q8ec.js">
@@ -72,13 +72,13 @@
72
72
  <link rel="modulepreload" crossorigin href="/assets/purify.es-sLXpNpJ5.js">
73
73
  <link rel="modulepreload" crossorigin href="/assets/combobox-DkZHekBD.js">
74
74
  <link rel="modulepreload" crossorigin href="/assets/countries-BlKrWFMP.js">
75
- <link rel="modulepreload" crossorigin href="/assets/api-1ZNfndlh.js">
76
- <link rel="modulepreload" crossorigin href="/assets/dispatch-TTtoo72r.js">
75
+ <link rel="modulepreload" crossorigin href="/assets/api-CL5tEEID.js">
76
+ <link rel="modulepreload" crossorigin href="/assets/dispatch-Pl-o9vd6.js">
77
77
  <link rel="modulepreload" crossorigin href="/assets/dialog-DqWXrq6M.js">
78
- <link rel="modulepreload" crossorigin href="/assets/auth-context-CJTSRD17.js">
78
+ <link rel="modulepreload" crossorigin href="/assets/auth-context-C7i2C9Lu.js">
79
79
  <link rel="modulepreload" crossorigin href="/assets/space-separated-tokens-IJiqTQpk.js">
80
80
  <link rel="modulepreload" crossorigin href="/assets/lib-BJGpevNH.js">
81
- <link rel="stylesheet" crossorigin href="/assets/index-Buiw8O2x.css">
81
+ <link rel="stylesheet" crossorigin href="/assets/index-6EilGfQs.css">
82
82
  </head>
83
83
  <body>
84
84
  <div id="root"></div>
@@ -4687,12 +4687,6 @@ function J(e, t) {
4687
4687
  ...n.hints,
4688
4688
  role: e.role
4689
4689
  }
4690
- }), e.pinned && (n = {
4691
- ...n,
4692
- hints: {
4693
- ...n.hints,
4694
- pinned: !0
4695
- }
4696
4690
  }), e.default !== void 0 && (n = {
4697
4691
  ...n,
4698
4692
  default: e.default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coffer-org/web",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=24"
@@ -19,7 +19,7 @@
19
19
  "prepack": "npm run build"
20
20
  },
21
21
  "dependencies": {
22
- "@coffer-org/core": "2.1.0",
22
+ "@coffer-org/core": "2.1.2",
23
23
  "dompurify": "^3.2.5",
24
24
  "marked": "^15.0.0",
25
25
  "micromark": "^4.0.2",
package/site.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  export interface SiteRoute {
2
- /** Шаблон шляху в стилі react-router: '/:library/:shelf/:id'. */
2
+ /** A react-router-style path pattern: '/:library/:shelf/:id'. */
3
3
  pattern: string;
4
- /** Що це за сторінка англійською, іде в промпт агента. */
4
+ /** What kind of page this is, in English, for the agent prompt. */
5
5
  purpose: string;
6
6
  }
7
7
  export declare const siteRoutes: SiteRoute[];
package/site.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Структура посилань цього фронтенду ЄДИНЕ джерело для трьох споживачів:
3
- * 1. Shell.tsx будує з нього <Routes>;
4
- * 2. main.tsx віддає його в реєстр web-sdk, звідки читають бандли плагінів
5
- * (рендерер чату класифікує href саме за цими формами);
6
- * 3. agent() робить із нього фрагмент системного промпту, який сервер
7
- * підхоплює через package.json → coffer.agent.
2
+ * The link structure for this frontend is the SINGLE source for three consumers:
3
+ * 1. Shell.tsx builds <Routes> from it;
4
+ * 2. main.tsx gives it to the web-sdk registry, which plugin bundles read
5
+ * (the chat renderer classifies hrefs using these forms);
6
+ * 3. agent() turns it into a system-prompt fragment that the server
7
+ * picks up through package.json → coffer.agent.
8
8
  *
9
- * Готовий ESM без збірки: сервер робить import() цього файла напряму, а браузер
10
- * через vite. Тому тут НЕ можна ні TypeScript-синтаксису, ні імпортів React.
9
+ * Ready-to-run ESM without a build: the server imports this file directly, while the browser
10
+ * loads it through Vite. Therefore it must contain neither TypeScript syntax nor React imports.
11
11
  */
12
12
 
13
13
  /** @type {{ pattern: string, purpose: string }[]} */
@@ -25,13 +25,13 @@ export const siteRoutes = [
25
25
  { pattern: '/:library/:shelf/:id', purpose: 'page of one record' },
26
26
  ];
27
27
 
28
- // У промпті плейсхолдери читабельніші у фігурних дужках; react-router-двокрапка
29
- // лишається лише у самій таблиці, бо це його синтаксис.
28
+ // Braced placeholders are easier to read in the prompt; the react-router colon
29
+ // remains only in the table itself because it is that router's syntax.
30
30
  const humanize = (pattern) => pattern.replace(/:(\w+)/g, '{$1}');
31
31
 
32
32
  /**
33
- * Фрагмент системного промпту про посилання на сайт.
34
- * @param {{ siteUrl?: string }} ctx origin без кінцевого слеша, або '' коли не сконфігурений.
33
+ * System-prompt fragment about site links.
34
+ * @param {{ siteUrl?: string }} ctx origin without a trailing slash, or '' when not configured.
35
35
  * @returns {string}
36
36
  */
37
37
  export const agent = ({ siteUrl = '' } = {}) => {
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/flag-icons-CTDpPZQq.css"])))=>i.map(i=>d[i]);
2
- import{f as e,t}from"./react-vendor-BskHO5hY.js";import{t as n}from"./color-names-CKKZbleV.js";import{n as r,t as i}from"./x-BFRg18Fi.js";import{a,i as o,n as s,o as c,r as l,t as u}from"./icons-DBHj1PyA.js";import{i as d}from"./button-D-Q6I5Ob.js";import{n as f,t as p}from"./square-CiErsTOS.js";var ee=r(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),te=r(`arrow-left-right`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),ne=r(`battery-full`,[[`path`,{d:`M10 10v4`,key:`1mb2ec`}],[`path`,{d:`M14 10v4`,key:`1nt88p`}],[`path`,{d:`M22 14v-4`,key:`14q9d5`}],[`path`,{d:`M6 10v4`,key:`1n77qd`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`,key:`13zb55`}]]),re=r(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),ie=r(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),ae=r(`bus`,[[`path`,{d:`M8 6v6`,key:`18i7km`}],[`path`,{d:`M15 6v6`,key:`1sg6z9`}],[`path`,{d:`M2 12h19.6`,key:`de5uta`}],[`path`,{d:`M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3`,key:`1wwztk`}],[`circle`,{cx:`7`,cy:`18`,r:`2`,key:`19iecd`}],[`path`,{d:`M9 18h5`,key:`lrx6i`}],[`circle`,{cx:`16`,cy:`18`,r:`2`,key:`1v4tcr`}]]),oe=r(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),se=r(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),m=r(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),h=r(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),g=r(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),_=r(`cooking-pot`,[[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`,key:`u0tga0`}],[`path`,{d:`m4 8 16-4`,key:`16g0ng`}],[`path`,{d:`m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8`,key:`12cejc`}]]),v=r(`door-open`,[[`path`,{d:`M11 20H2`,key:`nlcfvz`}],[`path`,{d:`M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z`,key:`au4z13`}],[`path`,{d:`M11 4H8a2 2 0 0 0-2 2v14`,key:`74r1mk`}],[`path`,{d:`M14 12h.01`,key:`1jfl7z`}],[`path`,{d:`M22 20h-3`,key:`vhrsz`}]]),y=r(`droplet`,[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`,key:`c7niix`}]]),b=r(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),x=r(`folder-output`,[[`path`,{d:`M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5`,key:`1yk7aj`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m5 10-3 3 3 3`,key:`1r8ie0`}]]),S=r(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),C=r(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),w=r(`ghost`,[[`path`,{d:`M9 10h.01`,key:`qbtxuw`}],[`path`,{d:`M15 10h.01`,key:`1qmjsl`}],[`path`,{d:`M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z`,key:`uwwb07`}]]),T=r(`glasses`,[[`circle`,{cx:`6`,cy:`15`,r:`4`,key:`vux9w4`}],[`circle`,{cx:`18`,cy:`15`,r:`4`,key:`18o8ve`}],[`path`,{d:`M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2`,key:`1ag4bs`}],[`path`,{d:`M2.5 13 5 7c.7-1.3 1.4-2 3-2`,key:`1hm1gs`}],[`path`,{d:`M21.5 13 19 7c-.7-1.3-1.5-2-3-2`,key:`1r31ai`}]]),E=r(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),D=r(`hand`,[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]),O=r(`hospital`,[[`path`,{d:`M12 7v4`,key:`xawao1`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M14 9h-4`,key:`1w2s2s`}],[`path`,{d:`M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2`,key:`1tthqt`}],[`path`,{d:`M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16`,key:`dw4p4i`}]]),k=r(`hotel`,[[`path`,{d:`M10 22v-6.57`,key:`1wmca3`}],[`path`,{d:`M12 11h.01`,key:`z322tv`}],[`path`,{d:`M12 7h.01`,key:`1ivr5q`}],[`path`,{d:`M14 15.43V22`,key:`1q2vjd`}],[`path`,{d:`M15 16a5 5 0 0 0-6 0`,key:`o9wqvi`}],[`path`,{d:`M16 11h.01`,key:`xkw8gn`}],[`path`,{d:`M16 7h.01`,key:`1kdx03`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 7h.01`,key:`1vti4s`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`,key:`1uxh74`}]]),A=r(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),j=r(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),M=r(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),N=r(`landmark`,[[`path`,{d:`M10 18v-7`,key:`wt116b`}],[`path`,{d:`M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z`,key:`yxxwt6`}],[`path`,{d:`M14 18v-7`,key:`vav6t3`}],[`path`,{d:`M18 18v-7`,key:`aexdmj`}],[`path`,{d:`M3 22h18`,key:`8prr45`}],[`path`,{d:`M6 18v-7`,key:`1ivflk`}]]),P=r(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),F=r(`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`}]]),I=r(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),L=r(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),R=r(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),z=r(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),B=r(`paint-roller`,[[`rect`,{width:`16`,height:`6`,x:`2`,y:`2`,rx:`2`,key:`jcyz7m`}],[`path`,{d:`M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`,key:`1b9h7c`}],[`rect`,{width:`4`,height:`6`,x:`8`,y:`16`,rx:`1`,key:`d6e7yl`}]]),V=r(`pill`,[[`path`,{d:`m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z`,key:`wa1lgi`}],[`path`,{d:`m8.5 8.5 7 7`,key:`rvfmvr`}]]),H=r(`plane-takeoff`,[[`path`,{d:`M2 22h20`,key:`272qi7`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`,key:`fkigj9`}]]),U=r(`plane`,[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`,key:`1v9wt8`}]]),W=r(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),G=r(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),K=r(`radar`,[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`,key:`z3du51`}],[`path`,{d:`M4 6h.01`,key:`oypzma`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`,key:`qzzz0`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`,key:`1yjesh`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`,key:`1u2y91`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`m13.41 10.59 5.66-5.66`,key:`mhq4k0`}]]),ce=r(`radio-tower`,[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`,key:`s0qx1y`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`,key:`1idnkw`}],[`circle`,{cx:`12`,cy:`9`,r:`2`,key:`1092wv`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`,key:`ojru2q`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`,key:`rhi7fg`}],[`path`,{d:`M9.5 18h5`,key:`mfy3pd`}],[`path`,{d:`m8 22 4-11 4 11`,key:`25yftu`}]]),le=r(`receipt`,[[`path`,{d:`M12 17V7`,key:`pyj7ub`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`,key:`1elt7d`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`,key:`ycz6yz`}]]),q=r(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),ue=r(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),de=r(`ruler`,[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`,key:`icamh8`}],[`path`,{d:`m14.5 12.5 2-2`,key:`inckbg`}],[`path`,{d:`m11.5 9.5 2-2`,key:`fmmyf7`}],[`path`,{d:`m8.5 6.5 2-2`,key:`vc6u1g`}],[`path`,{d:`m17.5 15.5 2-2`,key:`wo5hmg`}]]),fe=r(`satellite`,[[`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`,key:`dzhfyz`}],[`path`,{d:`M16.5 7.5 19 5`,key:`1ltcjm`}],[`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`,key:`nfoymv`}],[`path`,{d:`M9 21a6 6 0 0 0-6-6`,key:`1iajcf`}],[`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`,key:`nv9zqy`}]]),J=r(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Y=r(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),pe=r(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),me=r(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),he=r(`soup`,[[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`,key:`4rw317`}],[`path`,{d:`M7 21h10`,key:`1b0cd5`}],[`path`,{d:`M19.5 12 22 6`,key:`shfsr5`}],[`path`,{d:`M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62`,key:`rpc6vp`}],[`path`,{d:`M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62`,key:`1lf63m`}],[`path`,{d:`M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62`,key:`97tijn`}]]),ge=r(`sprout`,[[`path`,{d:`M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3`,key:`139s4v`}],[`path`,{d:`M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4`,key:`1dlkgp`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),X=r(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),_e=r(`stethoscope`,[[`path`,{d:`M11 2v2`,key:`1539x4`}],[`path`,{d:`M5 2v2`,key:`1yf1q8`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`,key:`rb5t3r`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`,key:`x18d4x`}],[`circle`,{cx:`20`,cy:`10`,r:`2`,key:`ts1r5v`}]]),ve=r(`ticket`,[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`,key:`qn84l0`}],[`path`,{d:`M13 5v2`,key:`dyzc3o`}],[`path`,{d:`M13 17v2`,key:`1ont0d`}],[`path`,{d:`M13 11v2`,key:`1wjjxi`}]]),ye=r(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),be=r(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),xe=r(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Se=r(`wallet`,[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`,key:`18etb6`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`,key:`xoc0q4`}]]),Ce=r(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]),we=r(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),Z=t(),Te=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/lucide.tsx`,Ee={"id-card":j,plane:U,plus:f,globe:E,sprout:ge,"cooking-pot":_,"sliders-horizontal":me,ticket:ve,hospital:O,hotel:k,user:be,users:xe,pill:V,"clipboard-list":h,"radio-tower":ce,package:z,"battery-full":ne,link:F,monitor:R,rocket:ue,bus:ae,shield:pe,"plane-takeoff":H,satellite:fe,"flask-conical":b,stethoscope:_e,soup:he,glasses:T,puzzle:G,settings:Y,"alert-triangle":ye,hand:D,"map-pin":I,gauge:C,"door-open":v,"paint-roller":B,zap:we,calendar:se,clock:g,"calendar-clock":oe,"arrow-left-right":te,bug:ie,check:d,droplet:y,folder:S,"folder-output":x,ghost:w,house:A,info:M,landmark:N,layers:P,play:W,radar:K,receipt:le,"refresh-cw":q,ruler:de,square:p,wallet:Se,wifi:Ce,x:i,star:X,minus:L,activity:ee,bot:re,search:J};function De(e,t,n,r){let i=Ee[e];return i?(0,Z.jsxDEV)(i,{size:t,className:n,strokeWidth:r},void 0,!1,{fileName:Te,lineNumber:143,columnNumber:10},this):null}var Oe=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/flag.tsx`;e(()=>Promise.resolve({}),__vite__mapDeps([0]));function ke(e,t,n){return(0,Z.jsxDEV)(`span`,{className:`fi fi-${e.toLowerCase()} ${n??``}`,style:{width:t,height:t*.75,display:`inline-block`,borderRadius:2}},void 0,!1,{fileName:Oe,lineNumber:17,columnNumber:5},this)}var Ae=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/tabler.tsx`,je={drone:c};function Me(e,t,n,r){let i=je[e];return i?(0,Z.jsxDEV)(i,{size:t,className:n,stroke:r??2},void 0,!1,{fileName:Ae,lineNumber:12,columnNumber:10},this):null}var Ne=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/simple.tsx`,Pe={github:o,syncthing:u,docker:a,"home-assistant":l,nextcloud:s};function Fe(e,t,n){let r=Pe[e];return r?(0,Z.jsxDEV)(r,{size:t,className:n,color:`currentColor`},void 0,!1,{fileName:Ne,lineNumber:23,columnNumber:10},this):null}var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/color.tsx`,Ie=new Map(n.map(e=>[e.name,e.hex])),Le=/^#[0-9a-fA-F]{6}$/;function Re(e,t,n){let r=Le.test(e)?e:Ie.get(e);return r?(0,Z.jsxDEV)(`span`,{className:`shrink-0 inline-block rounded-full border border-border/60 ${n??``}`,style:{width:t,height:t,backgroundColor:r}},void 0,!1,{fileName:Q,lineNumber:13,columnNumber:5},this):null}var ze={lucide:De,flag:ke,tb:Me,si:Fe,color:Re};function Be(e,t,n,r){let i=e.indexOf(`:`);if(i===-1)return;let a=ze[e.slice(0,i)];if(a)return a(e.slice(i+1),t,n,r)??void 0}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/Icon.tsx`;function Ve({name:e,size:t=16,className:n,strokeWidth:r}){if(!e)return null;let i=Be(e,t,n,r);return i===void 0?(console.warn(`[Icon] невідома іконка: ${e}`),(0,Z.jsxDEV)(m,{size:t,className:n,strokeWidth:r},void 0,!1,{fileName:$,lineNumber:24,columnNumber:10},this)):(0,Z.jsxDEV)(Z.Fragment,{children:i},void 0,!1,{fileName:$,lineNumber:22,columnNumber:34},this)}export{q as a,L as c,E as d,S as f,J as i,I as l,X as n,W as o,g as p,Y as r,R as s,Ve as t,A as u};
@@ -1,3 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-BskHO5hY.js";import{r as a}from"./x-BFRg18Fi.js";import{n as o,t as s}from"./ui-vendor-EU9CHLyR.js";import{t as c}from"./Icon-BOpumJtD.js";import{r as l,t as u}from"./button-D-Q6I5Ob.js";import{C as d,E as f,S as p,f as m,m as h,w as g}from"./api-1ZNfndlh.js";import{a as _,n as v,r as y}from"./auth-context-CJTSRD17.js";import{t as b}from"./PageBody-Y-cpiRMh.js";var x=e(t(),1),S=i(),C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/switch.tsx`,w=x.forwardRef(({className:e,...t},n)=>(0,S.jsxDEV)(s,{ref:n,className:a(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,`disabled:cursor-not-allowed disabled:opacity-50`,`data-[state=checked]:bg-primary data-[state=unchecked]:bg-border`,e),...t,children:(0,S.jsxDEV)(o,{className:a(`pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform`,`data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)},void 0,!1,{fileName:C,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:C,lineNumber:9,columnNumber:3},void 0));w.displayName=s.displayName;var T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/badge.tsx`,E=l(`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 D({className:e,variant:t,...n}){return(0,S.jsxDEV)(`div`,{className:a(E({variant:t}),e),...n},void 0,!1,{fileName:T,lineNumber:24,columnNumber:10},this)}var O=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsPage.tsx`;async function k(){let e=Date.now();for(;Date.now()-e<3e4;){await new Promise(e=>setTimeout(e,1e3));try{if((await fetch(`/health`)).ok)return!0}catch{}}return!1}function A(){let{t:e}=n(),{role:t}=v(),i=t===`admin`,[a,o]=(0,x.useState)([]),[s,l]=(0,x.useState)(!0),[C,T]=(0,x.useState)(null),E=e=>C===e||C===`*`,[A,M]=(0,x.useState)(null),N=a.filter(e=>e.latestVersion&&e.latestVersion!==e.installedVersion),P=!!(A?.latestVersion&&A.latestVersion!==A.installedVersion),F=N.length+ +!!P,[I,L]=(0,x.useState)(null),[R,z]=(0,x.useState)(!1),B=t=>e(`${t}.plugin.label`,{defaultValue:t}),V=t=>e(`${t}.plugin.description`,{defaultValue:``}),H=t=>e(`${t}.library.label`,{defaultValue:t}),U=(t,n)=>e(`${t}.${n}.label`,{defaultValue:n}),W={core_required:()=>e(`plugins.errors.core_required`),has_dependents:t=>e(`plugins.errors.has_dependents`,{list:t.dependents.join(`, `)}),missing_deps:t=>e(`plugins.errors.missing_deps`,{list:t.deps.join(`, `)}),unknown_plugin:()=>e(`plugins.errors.unknown_plugin`)},G=()=>Promise.all([h(),m()]).then(([e,t])=>{o(e),M(t),l(!1)});(0,x.useEffect)(()=>{G()},[]);async function K(t){if(!await _({title:e(`plugins.purgeTitle`),description:e(`plugins.confirmPurge`,{id:t.id}),confirmLabel:e(`plugins.purgeButton`),variant:`destructive`}))return;T(t.id),L(null);let n=await fetch(`/api/plugins/${t.id}/data`,{method:`DELETE`}),r=await n.json().catch(()=>({}));if(T(null),!n.ok){L(W[r.error]?.(r)??e(`plugins.genericError`,{code:r.error??n.status}));return}z(!0),await G()}async function q(t){T(t.id),L(null);let n=await p(t.id,!t.enabled);if(!n.ok){T(null),L(W[n.error]?.(n.data??{})??e(`plugins.genericError`,{code:n.error}));return}window.location.reload()}async function J(t){if(!t.latestVersion||!await _({title:e(`plugins.updateTitle`,{from:t.installedVersion,to:t.latestVersion}),description:e(`plugins.confirmUpdate`,{id:t.id,from:t.installedVersion,to:t.latestVersion}),confirmLabel:e(`plugins.updateButton`)}))return;T(t.id),L(null);let n=await g(t.id);if(!n.ok){T(null),L(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}z(!0),await k()&&window.location.reload()}async function Y(){if(F===0)return;let t=N.map(e=>`${B(e.id)}: v${e.installedVersion} → v${e.latestVersion}`);P&&t.push(`${e(`plugins.runtimeLabel`)}: v${A.installedVersion} → v${A.latestVersion}`);let n=t.join(`
2
- `);if(!await _({title:e(`plugins.updateAllButton`,{count:F}),description:e(`plugins.confirmUpdateAll`,{count:F,list:n}),confirmLabel:e(`plugins.updateButton`)}))return;T(`*`),L(null);let r=await d();if(!r.ok){T(null),L(r.stderr?`${e(`plugins.updateError`)}: ${r.stderr}`:e(`plugins.genericError`,{code:r.error}));return}z(!0),await k()&&window.location.reload()}let X=a.find(e=>e.id===`core`),Z=!!(X?.latestVersion&&X.latestVersion!==X.installedVersion),Q=Z||P;async function $(){let t=[];if(X&&Z&&t.push(`${e(`core.settings.label`)}: v${X.installedVersion} → v${X.latestVersion}`),P&&t.push(`${e(`plugins.runtimeLabel`)}: v${A.installedVersion} → v${A.latestVersion}`),t.length===0||!await _({title:e(`plugins.updateAllButton`,{count:t.length}),description:e(`plugins.confirmUpdateAll`,{count:t.length,list:t.join(`
3
- `)}),confirmLabel:e(`plugins.updateButton`)}))return;T(`*`),L(null);let n=await f();if(!n.ok){T(null),L(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}z(!0),await k()&&window.location.reload()}return(0,S.jsxDEV)(b,{children:[(0,S.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e(`settings.title`)},void 0,!1,{fileName:O,lineNumber:202,columnNumber:7},this),(0,S.jsxDEV)(`section`,{className:`mb-6`,children:[(0,S.jsxDEV)(`h2`,{className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.personalTitle`)},void 0,!1,{fileName:O,lineNumber:206,columnNumber:9},this),(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`auth.accountTitle`)},void 0,!1,{fileName:O,lineNumber:209,columnNumber:13},this)},void 0,!1,{fileName:O,lineNumber:208,columnNumber:11},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/account`,title:e(`auth.accountTitle`),"aria-label":e(`auth.accountTitle`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:O,lineNumber:213,columnNumber:15},this)},void 0,!1,{fileName:O,lineNumber:212,columnNumber:13},this)},void 0,!1,{fileName:O,lineNumber:211,columnNumber:11},this)]},void 0,!0,{fileName:O,lineNumber:207,columnNumber:9},this)]},void 0,!0,{fileName:O,lineNumber:205,columnNumber:7},this),i&&(0,S.jsxDEV)(S.Fragment,{children:[(0,S.jsxDEV)(`section`,{className:`mb-6`,children:[(0,S.jsxDEV)(`h2`,{className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:O,lineNumber:223,columnNumber:13},this),(0,S.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.usersDescription`)},void 0,!1,{fileName:O,lineNumber:224,columnNumber:13},this),(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:O,lineNumber:227,columnNumber:17},this)},void 0,!1,{fileName:O,lineNumber:226,columnNumber:15},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/users`,title:e(`settings.usersTitle`),"aria-label":e(`settings.usersTitle`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:O,lineNumber:231,columnNumber:19},this)},void 0,!1,{fileName:O,lineNumber:230,columnNumber:17},this)},void 0,!1,{fileName:O,lineNumber:229,columnNumber:15},this)]},void 0,!0,{fileName:O,lineNumber:225,columnNumber:13},this)]},void 0,!0,{fileName:O,lineNumber:222,columnNumber:11},this),(0,S.jsxDEV)(`section`,{children:[(0,S.jsxDEV)(`div`,{className:`mb-1 flex items-center gap-3`,children:[(0,S.jsxDEV)(`h2`,{className:`text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.componentsTitle`)},void 0,!1,{fileName:O,lineNumber:240,columnNumber:15},this),F>0&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null,onClick:Y,className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateAllButton`,{count:F})},void 0,!1,{fileName:O,lineNumber:242,columnNumber:17},this)]},void 0,!0,{fileName:O,lineNumber:239,columnNumber:13},this),(0,S.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.componentsDescription`)},void 0,!1,{fileName:O,lineNumber:254,columnNumber:13},this),s?(0,S.jsxDEV)(`p`,{className:`text-muted`,children:e(`plugins.loading`)},void 0,!1,{fileName:O,lineNumber:257,columnNumber:15},this):(0,S.jsxDEV)(S.Fragment,{children:[R&&(0,S.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent`,children:[e(`plugins.restartBannerBefore`),(0,S.jsxDEV)(`b`,{children:e(`plugins.restartBannerBold`)},void 0,!1,{fileName:O,lineNumber:263,columnNumber:21},this),e(`plugins.restartBannerAfter`)]},void 0,!0,{fileName:O,lineNumber:261,columnNumber:19},this),I&&(0,S.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:I},void 0,!1,{fileName:O,lineNumber:268,columnNumber:19},this),(0,S.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`core.settings.label`)},void 0,!1,{fileName:O,lineNumber:278,columnNumber:25},this),X&&(0,S.jsxDEV)(D,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,X.installedVersion]},void 0,!0,{fileName:O,lineNumber:280,columnNumber:27},this),Q&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null,onClick:$,title:e(`settings.systemUpdateTitle`),className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateButton`)},void 0,!1,{fileName:O,lineNumber:285,columnNumber:27},this)]},void 0,!0,{fileName:O,lineNumber:277,columnNumber:23},this),(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:e(`settings.systemDescription`)},void 0,!1,{fileName:O,lineNumber:298,columnNumber:23},this)]},void 0,!0,{fileName:O,lineNumber:276,columnNumber:21},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/core`,title:e(`core.settings.label`),"aria-label":e(`core.settings.label`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:O,lineNumber:302,columnNumber:25},this)},void 0,!1,{fileName:O,lineNumber:301,columnNumber:23},this)},void 0,!1,{fileName:O,lineNumber:300,columnNumber:21},this)]},void 0,!0,{fileName:O,lineNumber:275,columnNumber:19},this),a.filter(e=>e.id!==`core`).map(t=>{let n=V(t.id),i=t.enabled?a.filter(e=>e.enabled&&e.id!==t.id&&e.dependsOn.includes(t.id)):[],o=i.length>0,s=o?e(`plugins.blockedByDependents`,{list:i.map(e=>B(e.id)).join(`, `)}):t.enabled?e(`plugins.switchDisable`):e(`plugins.switchEnable`),l=[t.dependsOn.length>0&&`${e(`plugins.metaDepends`)} ${t.dependsOn.map(B).join(`, `)}`,t.libraries.length>0&&`${e(`plugins.metaLibraries`)} ${t.libraries.map(H).join(`, `)}`,t.extends.length>0&&`${e(`plugins.metaExtends`)} ${t.extends.map(e=>U(t.id,e)).join(`, `)}`].filter(Boolean).join(` · `)||`—`;return(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:B(t.id)},void 0,!1,{fileName:O,lineNumber:337,columnNumber:31},this),(0,S.jsxDEV)(j,{plugin:t,busy:E(t.id),onUpdate:()=>J(t)},void 0,!1,{fileName:O,lineNumber:338,columnNumber:31},this)]},void 0,!0,{fileName:O,lineNumber:336,columnNumber:29},this),n&&(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:n},void 0,!1,{fileName:O,lineNumber:340,columnNumber:45},this),(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:l},void 0,!1,{fileName:O,lineNumber:341,columnNumber:29},this)]},void 0,!0,{fileName:O,lineNumber:335,columnNumber:27},this),t.hasSettings&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/${t.id}`,title:e(`plugins.settingsTitle`,{defaultValue:`Налаштування`}),"aria-label":e(`plugins.settingsTitle`,{defaultValue:`Налаштування`}),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:O,lineNumber:356,columnNumber:33},this)},void 0,!1,{fileName:O,lineNumber:351,columnNumber:31},this)},void 0,!1,{fileName:O,lineNumber:344,columnNumber:29},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:E(t.id),onClick:()=>K(t),title:e(`plugins.purgeTitle`),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:e(`plugins.purgeButton`)},void 0,!1,{fileName:O,lineNumber:360,columnNumber:27},this),(0,S.jsxDEV)(`span`,{title:s,className:`shrink-0`,children:(0,S.jsxDEV)(w,{checked:t.enabled,disabled:E(t.id)||o,onCheckedChange:()=>q(t),title:s},void 0,!1,{fileName:O,lineNumber:374,columnNumber:29},this)},void 0,!1,{fileName:O,lineNumber:373,columnNumber:27},this)]},t.id,!0,{fileName:O,lineNumber:334,columnNumber:25},this)})]},void 0,!0,{fileName:O,lineNumber:273,columnNumber:17},this)]},void 0,!0,{fileName:O,lineNumber:259,columnNumber:15},this)]},void 0,!0,{fileName:O,lineNumber:238,columnNumber:11},this)]},void 0,!0,{fileName:O,lineNumber:220,columnNumber:9},this)]},void 0,!0,{fileName:O,lineNumber:201,columnNumber:5},this)}function j({plugin:e,busy:t,onUpdate:r}){let{t:i}=n(),a=!!e.latestVersion&&e.latestVersion!==e.installedVersion;return(0,S.jsxDEV)(S.Fragment,{children:[(0,S.jsxDEV)(D,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,e.installedVersion]},void 0,!0,{fileName:O,lineNumber:407,columnNumber:7},this),a&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:t,onClick:r,title:i(`plugins.updateTitle`,{from:e.installedVersion,to:e.latestVersion}),className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:i(`plugins.updateButton`)},void 0,!1,{fileName:O,lineNumber:411,columnNumber:9},this)]},void 0,!0,{fileName:O,lineNumber:406,columnNumber:5},this)}export{A as SettingsPage};
@@ -1,2 +0,0 @@
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{n as i}from"./x-BFRg18Fi.js";import{c as a,d as o,p as s,u as c}from"./chrome-BWlqqMIt.js";import{T as l,d as u,f as d,g as f,h as p,l as m,n as h,o as g,p as _,s as v}from"./fields-CFyhFHW7.js";import{_ as y,o as b}from"./shelf-BqwX4Wzq.js";import{n as x,o as S,t as C}from"./src-DtS4bMoK.js";import{a as ee,i as te,n as ne,o as re}from"./field-frame-BoLGR-Rm.js";import{n as ie}from"./extend-BEGrSWug.js";import{t as w}from"./plugin-q1oOYqt7.js";import{r as ae,t as T}from"./development-olQNibq5.js";import{_ as E,a as oe,b as D,g as se,h as ce,i as le,l as O,m as ue,n as de,p as fe,r as pe,t as me,v as k,y as A}from"./micromark-extension-gfm-BUw6_ZLT.js";var he=i(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),j=e(t(),1);function ge(e,t={}){let n=t.disabled??new Set,r=e.filter(e=>!n.has(e.id)),i=new Map;for(let e of r){for(let t of e.libraries??[])for(let n of t.shelves)i.set(`${n.library}/${n.shelf}`,e.id);for(let t of e.libraryShelves??[])i.set(`${t.library}/${t.shelf}`,e.id)}let a=(e,t)=>i.get(`${e}/${t}`);for(let e of r)for(let t of e.dependsOn)if(n.has(t))throw Error(`[plugin] '${e.id}' is enabled, but its dependency '${t}' is disabled`);let{order:o,libraries:s,shelves:c,extends_:l}=w(r),u=new Map;for(let e of r)for(let t of e.fieldContribs??[]){let e=`${t.library}/${t.shelf}/${t.field}`,n=u.get(e)??{options:[],suggestions:[]};t.options&&n.options.push(...t.options),t.suggestions&&n.suggestions.push(...t.suggestions),u.set(e,n)}let d=new Map;for(let e of r)for(let t of e.optionLists??[])d.set(t.name,t.options);let f=e=>d.get(e)??[];for(let e of c)for(let[t,n]of b(e.fields)){let r=u.get(`${e.library}/${e.shelf}/${t}`);if(r){if(r.options.length){let e=new Set((n.options??[]).map(e=>e.value));n.options=[...n.options??[],...r.options.filter(t=>!e.has(t.value))]}if(r.suggestions.length){let e=n.hints.suggestions??[],t=new Set(e);n.hints.suggestions=[...e,...r.suggestions.filter(e=>!t.has(e))]}}}let p=new Map;for(let e of c)for(let[t,n]of b(e.fields)){let r=n.hints.source,i=n.options??[],a=r?d.get(r)??[]:[],o=new Set(i.map(e=>e.value)),s=[...i,...a.filter(e=>!o.has(e.value))];n.prim===`select`&&s.length&&h(n,s.map(e=>e.value)),s.length&&(n.options=s,p.set(`${e.library}/${e.shelf}/${t}`,s))}return{order:o,libraries:s,shelves:c,extends_:l,getShelf:(e,t)=>c.find(n=>n.library===e&&n.shelf===t),getLibrary:e=>s.find(t=>t.meta.id===e),getExtendsFor:(e,t)=>l.filter(n=>ie(n,e,t)),getFieldOptions:(e,t,n)=>p.get(`${e}/${t}/${n}`)??[],getOptionList:f,getShelfOwner:a}}var M=null;function _e(e){M=ge(e)}function N(){if(!M)throw Error(`[registry] not initialized — call initRegistry() in the boot loader`);return M}var ve=(e,t)=>N().getShelf(e,t),ye=(e,t)=>N().getExtendsFor(e,t),be=e=>N().getOptionList(e),xe=(e,t)=>N().getShelfOwner(e,t),Se=()=>N().libraries,Ce=()=>N().shelves,we=()=>N().extends_,P=()=>N().order,F=r(),I=(0,j.createContext)(()=>void 0),Te=()=>(0,j.useContext)(I),Ee=e=>e.join(`.`);function L(e){return(t,n)=>t===`pattern`&&n?.messageKey?e(String(n.messageKey)):e(`validation.${t}`,n)}function De(e,t){let n={};for(let r of e){let e=Ee(r.path?.length?r.path:[r.field]);n[e]||(n[e]=t(r.code,r.params))}return n}function Oe(e,t){let n={};for(let[r,i]of Object.entries(e))r===t||r.startsWith(t+`.`)||(n[r]=i);return n}var ke=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/computed-ctx.tsx`,R={settings:{},global:{}},z=(0,j.createContext)(R),Ae=()=>(0,j.useContext)(z);function je(e,t){return{record:e.values??{},settings:t.settings,global:t.global,meta:{library:e.recordCtx.library,shelf:e.recordCtx.shelf}}}async function B(e){let t=await fetch(`/api/plugins/${e}/settings`);return t.ok?await t.json():{}}function V({library:e,shelf:t,children:n}){let[r,i]=(0,j.useState)(R),a=xe(e,t);return(0,j.useEffect)(()=>{let e=!0;return Promise.all([a?B(a):Promise.resolve({}),B(`core`)]).then(([t,n])=>{e&&i({settings:t,global:n})}),()=>{e=!1}},[a]),(0,F.jsxDEV)(z.Provider,{value:r,children:n},void 0,!1,{fileName:ke,lineNumber:57,columnNumber:10},this)}var Me={}.hasOwnProperty,Ne=/^(https?|ircs?|mailto|xmpp)$/i,Pe=/^https?$/i;function Fe(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=se([{enter:{blockQuote:oe,codeFenced:me,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:ge,codeText:K,content:Oe,definition:F,definitionDestinationString:Te,definitionLabelString:h,definitionTitleString:h,emphasis:Re,htmlFlow:Le,htmlText:W,image:_e,label:h,link:N,listItemMarker:ne,listItemValue:te,listOrdered:C,listUnordered:ee,paragraph:de,reference:h,resource:xe,resourceDestinationString:Se,resourceTitleString:h,setextHeading:R,strong:G},exit:{atxHeading:Ae,atxHeadingSequence:ke,autolinkEmail:Be,autolinkProtocol:Q,blockQuote:le,characterEscapeValue:V,characterReferenceMarkerHexadecimal:X,characterReferenceMarkerNumeric:X,characterReferenceValue:Z,codeFenced:M,codeFencedFence:j,codeFencedFenceInfo:he,codeFencedFenceMeta:S,codeFlowValue:Ie,codeIndented:M,codeText:q,codeTextData:V,data:V,definition:De,definitionDestinationString:Ee,definitionLabelString:I,definitionTitleString:L,emphasis:J,hardBreakEscape:H,hardBreakTrailing:H,htmlFlow:U,htmlFlowData:V,htmlText:U,htmlTextData:V,image:P,label:ye,labelText:ve,lineEnding:Fe,link:P,listOrdered:re,listUnordered:ie,paragraph:pe,reference:S,referenceString:be,resource:S,resourceDestinationString:Ce,resourceTitleString:we,setextHeading:B,setextHeadingLineSequence:je,setextHeadingText:z,strong:Y,thematicBreak:ze}},...t.htmlExtensions||[]]),c={definitions:r,tightStack:o},l={buffer:h,encode:x,getData:m,lineEndingIfNeeded:b,options:t,raw:v,resume:g,setData:p,tag:_},u=t.defaultLineEnding;return d;function d(e){let t=-1,n=0,r=[],a=[],o=[];for(;++t<e.length;)!u&&(e[t][1].type===k.lineEnding||e[t][1].type===k.lineEndingBlank)&&(u=e[t][2].sliceSerialize(e[t][1])),(e[t][1].type===k.listOrdered||e[t][1].type===k.listUnordered)&&(e[t][0]===`enter`?r.push(t):f(e.slice(r.pop(),t))),e[t][1].type===k.definition&&(e[t][0]===`enter`?(o=E(o,e.slice(n,t)),n=t):(a=E(a,e.slice(n,t+1)),n=t+1));a=E(a,o),a=E(a,e.slice(n)),t=-1;let c=a;for(s.enter.null&&s.enter.null.call(l);++t<e.length;){let e=s[c[t][0]],n=c[t][1].type,r=e[n];Me.call(e,n)&&r&&r.call({sliceSerialize:c[t][2].sliceSerialize,...l},c[t][1])}return s.exit.null&&s.exit.null.call(l),i[0].join(``)}function f(e){let t=e.length,n=0,r=0,i=!1,a;for(;++n<t;){let t=e[n];if(t[1]._container)a=void 0,t[0]===`enter`?r++:r--;else switch(t[1].type){case k.listItemPrefix:t[0]===`exit`&&(a=!0);break;case k.linePrefix:break;case k.lineEndingBlank:t[0]===`enter`&&!r&&(a?a=void 0:i=!0);break;default:a=void 0}}e[0][1]._loose=i}function p(e,t){c[e]=t}function m(e){return c[e]}function h(){i.push([])}function g(){let e=i.pop();return T(e!==void 0,`Cannot resume w/o buffer`),e.join(``)}function _(e){n&&(p(`lastWasTag`,!0),i[i.length-1].push(e))}function v(e){p(`lastWasTag`),i[i.length-1].push(e)}function y(){v(u||`
2
- `)}function b(){let e=i[i.length-1],t=e[e.length-1],n=t?t.charCodeAt(t.length-1):D.eof;n===D.lf||n===D.cr||n===D.eof||y()}function x(e){return m(`ignoreEncode`)?e:ue(e)}function S(){g()}function C(e){o.push(!e._loose),b(),_(`<ol`),p(`expectFirstItem`,!0)}function ee(e){o.push(!e._loose),b(),_(`<ul`),p(`expectFirstItem`,!0)}function te(e){if(m(`expectFirstItem`)){let t=Number.parseInt(this.sliceSerialize(e),A.numericBaseDecimal);t!==1&&_(` start="`+x(String(t))+`"`)}}function ne(){m(`expectFirstItem`)?_(`>`):w(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function re(){w(),o.pop(),y(),_(`</ol>`)}function ie(){w(),o.pop(),y(),_(`</ul>`)}function w(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function oe(){o.push(!1),b(),_(`<blockquote>`)}function le(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function de(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function pe(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function me(){b(),_(`<pre><code`),p(`fencesCount`,0)}function he(){_(` class="language-`+g()+`"`)}function j(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function ge(){b(),_(`<pre><code>`)}function M(){let e=m(`fencesCount`);e!==void 0&&e<2&&c.tightStack.length>0&&!m(`lastWasTag`)&&y(),m(`flowCodeSeenData`)&&b(),_(`</code></pre>`),e!==void 0&&e<2&&b(),p(`flowCodeSeenData`),p(`fencesCount`),p(`slurpOneLineEnding`)}function _e(){a.push({image:!0}),n=void 0}function N(){a.push({})}function ve(e){a[a.length-1].labelId=this.sliceSerialize(e)}function ye(){a[a.length-1].label=g()}function be(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function xe(){h(),a[a.length-1].destination=``}function Se(){h(),p(`ignoreEncode`,!0)}function Ce(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function we(){a[a.length-1].title=g()}function P(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId;T(o!==void 0,"media should have `referenceId` or `labelId`"),T(i.label!==void 0,"media should have `label`");let s=i.destination===void 0?r[fe(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src="`+O(s.destination,t.allowDangerousProtocol?void 0:Pe)+`" alt="`),v(i.label),_(`"`)):_(`<a href="`+O(s.destination,t.allowDangerousProtocol?void 0:Ne)+`"`),_(s.title?` title="`+s.title+`"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function F(){h(),a.push({})}function I(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function Te(){h(),p(`ignoreEncode`,!0)}function Ee(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function L(){a[a.length-1].title=g()}function De(){let e=a[a.length-1];T(e.labelId!==void 0,"media should have `labelId`");let t=fe(e.labelId);g(),Me.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function Oe(){p(`slurpAllLineEndings`,!0)}function ke(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function R(){h(),p(`slurpAllLineEndings`)}function z(){p(`slurpAllLineEndings`,!0)}function Ae(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function je(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===D.equalsTo?1:2)}function B(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function V(e){v(x(this.sliceSerialize(e)))}function Fe(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ie(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function H(){_(`<br />`)}function Le(){b(),W()}function U(){p(`ignoreEncode`)}function W(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function Re(){_(`<em>`)}function G(){_(`<strong>`)}function K(){p(`inCodeText`,!0),_(`<code>`)}function q(){p(`inCodeText`),_(`</code>`)}function J(){_(`</em>`)}function Y(){_(`</strong>`)}function ze(){b(),_(`<hr />`)}function X(e){p(`characterReferenceType`,e.type)}function Z(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?ce(t,m(`characterReferenceType`)===k.characterReferenceMarkerNumeric?A.numericBaseDecimal:A.numericBaseHexadecimal):ae(t))),p(`characterReferenceType`)}function Q(e){let n=this.sliceSerialize(e);_(`<a href="`+O(n,t.allowDangerousProtocol?void 0:Ne)+`">`),v(x(n)),_(`</a>`)}function Be(e){let t=this.sliceSerialize(e);_(`<a href="`+O(`mailto:`+t)+`">`),v(x(t)),_(`</a>`)}}function Ie(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Fe(n)(le(oe(n).document().write(pe()(e,t,!0))))}var H=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/Markdown.tsx`;function Le(e){return Ie(e,{allowDangerousHtml:!0,extensions:[me()],htmlExtensions:[de()]})}function U({value:e}){return(0,F.jsxDEV)(`div`,{className:`md-static`,dangerouslySetInnerHTML:{__html:Le(e)}},void 0,!1,{fileName:H,lineNumber:19,columnNumber:10},this)}var W=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/layout.tsx`;function Re({text:e}){return(0,F.jsxDEV)(U,{value:e},void 0,!1,{fileName:W,lineNumber:30,columnNumber:10},this)}function G(e,{bridge:t,t:n,computed:r}){if(u(e)){let r=e.key;if(t.isHidden(r))return null;let i=S({kind:C(e)});if(!i)return console.warn(`[LayoutRenderer] no renderer for kind '${C(e)}'`),null;let a=e.type;return{node:(0,F.jsxDEV)(`div`,{onBlur:e=>{ne(e.relatedTarget)||t.touch(r)},children:(0,F.jsxDEV)(i.Page,{el:e,field:a,fieldKey:r,value:t.getValue(r),onChange:e=>t.setValue(r,e),error:t.error(r),mode:t.mode,label:a.label?n(a.label):void 0,required:t.requiredOf(r),recordCtx:t.recordCtx},void 0,!1,{fileName:W,lineNumber:83,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:82,columnNumber:7},this),layout:x(a)}}if(p(e)){let i=S({kind:C(e)});if(!i)return console.warn(`[LayoutRenderer] no renderer for static kind '${C(e)}'`),null;let a=e.type,o=e.value;if(typeof e.value==`function`)try{o=e.value(je(t,r))}catch(e){console.warn(`[computed] value function threw`,e),o=void 0}return{node:(0,F.jsxDEV)(i.Page,{el:e,field:a,value:o,mode:`view`,label:a.label?n(a.label):void 0,recordCtx:t.recordCtx},void 0,!1,{fileName:W,lineNumber:117,columnNumber:7},this),layout:x(a)}}if(m(e)||_(e))return null;if(v(e)){let n=S({kind:`button`});return n?{node:(0,F.jsxDEV)(n.Page,{el:e,value:void 0,mode:t.mode,recordCtx:t.recordCtx},void 0,!1,{fileName:W,lineNumber:140,columnNumber:18},this),layout:`scalar`}:null}return null}function K(e,t,n,r=`wrap`){let i=[],a=[],o=0,s=()=>{a.length&&(i.push({kind:`flow`,items:a,scroll:r===`scroll`}),a=[])};for(let r of e){if(n){if(m(r)){s(),i.push({kind:`divider`});continue}if(_(r)){s(),i.push({kind:`block`,node:(0,F.jsxDEV)(q,{textKey:r.text},void 0,!1,{fileName:W,lineNumber:174,columnNumber:41},this)});continue}if(g(r)){s();continue}if(u(r)||p(r)||v(r)){let e=G(r,n);if(e==null)continue;if(e.layout===`block`)s(),i.push({kind:`block`,node:e.node});else{let t=u(r)?r.key:`static-${o++}`;a.push({key:t,node:(0,F.jsxDEV)(j.Fragment,{children:e.node},t,!1,{fileName:W,lineNumber:191,columnNumber:19},this)})}continue}continue}if(u(r)){let e=t.renderField(r.key,r.type);if(e==null)continue;x(r.type)===`block`?(s(),i.push({kind:`block`,node:e})):a.push({key:r.key,node:(0,F.jsxDEV)(j.Fragment,{children:e},r.key,!1,{fileName:W,lineNumber:207,columnNumber:47},this)})}else m(r)?(s(),i.push({kind:`divider`})):_(r)?(s(),i.push({kind:`block`,node:(0,F.jsxDEV)(q,{textKey:r.text},void 0,!1,{fileName:W,lineNumber:213,columnNumber:39},this)})):g(r)&&s()}return s(),i}function q({textKey:e}){let{t}=n();return(0,F.jsxDEV)(Re,{text:t(e)},void 0,!1,{fileName:W,lineNumber:225,columnNumber:10},this)}function J(e){let t=[];for(let n of e)n.kind===`divider`&&(!t.length||t[t.length-1].kind===`divider`)||t.push(n);for(;t.length&&t[t.length-1].kind===`divider`;)t.pop();return t}function Y({label:e,icon:t,labelAfter:n,children:r,rail:i=!0,tone:s=`group`}){let l=(0,F.jsxDEV)(`div`,{className:`flex flex-col min-w-0 ${o}`,children:r},void 0,!1,{fileName:W,lineNumber:277,columnNumber:16},this);return(0,F.jsxDEV)(`section`,{className:`flex flex-col min-w-0 ${o}`,children:[e&&(0,F.jsxDEV)(a,{label:e,icon:t,actions:n,tone:s},void 0,!1,{fileName:W,lineNumber:282,columnNumber:17},this),i&&e?(0,F.jsxDEV)(c,{children:l},void 0,!1,{fileName:W,lineNumber:283,columnNumber:24},this):l]},void 0,!0,{fileName:W,lineNumber:279,columnNumber:5},this)}function ze({group:e,children:t}){let{t:r}=n();return(0,F.jsxDEV)(Y,{label:e.label?r(e.label):void 0,icon:s(e),children:t},void 0,!1,{fileName:W,lineNumber:296,columnNumber:5},this)}function X({group:e,children:t}){let{t:r}=n();return(0,F.jsxDEV)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[e.label&&(0,F.jsxDEV)(`span`,{className:`text-xs text-muted`,children:r(e.label)},void 0,!1,{fileName:W,lineNumber:307,columnNumber:23},this),t]},void 0,!0,{fileName:W,lineNumber:306,columnNumber:5},this)}function Z({group:e,renderCell:t}){let{t:r}=n(),i=[[]];for(let t of e.fields)g(t)?i.push([]):i[i.length-1].push(t);let a=Math.max(1,...i.map(e=>e.length)),o=!1,c=[];return i.forEach((e,n)=>{for(let r=0;r<a;r++){let i=e[r],a=i?t(i):null;a&&(o=!0),c.push((0,F.jsxDEV)(`div`,{className:`min-w-0`,children:a},`${n}-${r}`,!1,{fileName:W,lineNumber:343,columnNumber:9},this))}}),o?(0,F.jsxDEV)(ee.Provider,{value:!0,children:(0,F.jsxDEV)(Y,{label:e.label?r(e.label):void 0,icon:s(e),children:(0,F.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,F.jsxDEV)(`div`,{className:`grid gap-x-4 gap-y-2 items-start`,style:{gridTemplateColumns:`repeat(${a}, max-content)`},children:c},void 0,!1,{fileName:W,lineNumber:354,columnNumber:11},this)},void 0,!1,{fileName:W,lineNumber:353,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:352,columnNumber:7},this)},void 0,!1,{fileName:W,lineNumber:351,columnNumber:5},this):null}function Q(e,t){return e.filter(e=>e.kind!==`divider`).length?e.map((e,n)=>{let r=`${t}-${n}`;switch(e.kind){case`flow`:return(0,F.jsxDEV)(re,{items:e.items,scroll:e.scroll},r,!1,{fileName:W,lineNumber:374,columnNumber:16},this);case`block`:return(0,F.jsxDEV)(j.Fragment,{children:e.node},r,!1,{fileName:W,lineNumber:376,columnNumber:16},this);case`group`:return(0,F.jsxDEV)(j.Fragment,{children:e.node},r,!1,{fileName:W,lineNumber:378,columnNumber:16},this);case`divider`:return(0,F.jsxDEV)(`hr`,{className:`border-border`},r,!1,{fileName:W,lineNumber:380,columnNumber:16},this)}}):null}function Be({items:e,ctx:t}){let{t:r}=n(),i=Ae(),a=t.bridge?{bridge:t.bridge,t:r,computed:i}:void 0,s=[],c=[],l=()=>{c.length&&(s.push(...K(c,t,a)),c=[])};for(let n of e)if(d(n))if(l(),a)if(f(n)){let e=n.key,t=a.bridge.getValue(e),r=a.bridge.mode===`view`&&te(t);if(!a.bridge.isHidden(e)&&!r){let r=S({kind:C(n)});if(r){let i=(0,F.jsxDEV)(r.Page,{el:n,value:t,onChange:t=>a.bridge.setValue(e,t),error:a.bridge.error(e),mode:a.bridge.mode,recordCtx:a.bridge.recordCtx},void 0,!1,{fileName:W,lineNumber:421,columnNumber:17},this);s.push({kind:`group`,node:i})}else console.warn(`[LayoutRenderer] no renderer for storage group kind '${C(n)}'`)}}else if(n.display===`sheet`)s.push({kind:`group`,node:(0,F.jsxDEV)(Z,{group:n,renderCell:e=>d(e)?null:G(e,a)?.node??null},void 0,!1,{fileName:W,lineNumber:440,columnNumber:15},this)});else{let e=Q(J(K(n.fields,t,a,n.display===`scroll`?`scroll`:`wrap`)),`g`);if(e)if(n.display===`scroll`)s.push({kind:`group`,node:(0,F.jsxDEV)(X,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:454,columnNumber:49},this)});else{let t=S({kind:`group`});t?s.push({kind:`group`,node:(0,F.jsxDEV)(t.Page,{el:n,value:void 0,mode:a.bridge.mode,recordCtx:a.bridge.recordCtx,children:e},void 0,!1,{fileName:W,lineNumber:461,columnNumber:21},this)}):s.push({kind:`group`,node:(0,F.jsxDEV)(ze,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:467,columnNumber:51},this)})}}else if(f(n)){let e=t.renderGroup?.(n.key,n);e&&s.push({kind:`group`,node:e})}else if(n.display===`sheet`)s.push({kind:`group`,node:(0,F.jsxDEV)(Z,{group:n,renderCell:e=>u(e)?t.renderField(e.key,e.type):null},void 0,!1,{fileName:W,lineNumber:482,columnNumber:13},this)});else{let e=Q(J(K(n.fields,t,void 0,n.display===`scroll`?`scroll`:`wrap`)),`g`);e&&s.push({kind:`group`,node:n.display===`scroll`?(0,F.jsxDEV)(X,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:499,columnNumber:17},this):(0,F.jsxDEV)(ze,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:500,columnNumber:17},this)})}else c.push(n);l();let p=Q(J(s),`l`);return p==null?null:(0,F.jsxDEV)(`div`,{className:`@container flex flex-col min-w-0 ${o}`,children:p},void 0,!1,{fileName:W,lineNumber:513,columnNumber:10},this)}function Ve(e){let{fm:t,mode:r,recordCtx:i}=e,{t:a}=n(),o=L(a),[s]=(0,j.useState)(e.initial),[c,u]=(0,j.useState)(s),[d,f]=(0,j.useState)({}),[p,m]=(0,j.useState)(()=>new Set),h=(0,j.useMemo)(()=>new Set(e.hiddenFields??[]),[e.hiddenFields]);return{values:c,setValues:u,initial:s,errors:d,setErrors:f,touched:p,setTouched:m,bridge:(0,j.useMemo)(()=>({mode:r,recordCtx:i,values:c,getValue:e=>c[e],setValue:(e,n)=>{if(u(t=>({...t,[e]:n})),p.has(e)){let r=t[e],i=r?l(r,n):null;f(t=>{let n={...t};return i?n[e]=o(i.code,i.params):delete n[e],n})}},touch:e=>{m(t=>t.has(e)?t:new Set(t).add(e));let n=t[e],r=n?l(n,c[e]):null;f(t=>{let n={...t};return r?n[e]=o(r.code,r.params):delete n[e],n})},isHidden:e=>{let n=t[e];return!!n?.virtual||h.has(e)||y(n?.hidden,c)},requiredOf:e=>y(t[e]?.required,c),error:e=>d[e]}),[c,d,p,h,t,r,i,o])}}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/Toolbar.tsx`;function He({children:e,actions:t}){return(0,F.jsxDEV)(`div`,{className:`eink-solid sticky top-0 z-20 flex h-[52px] items-center justify-between gap-3 bg-bg/85 px-4 backdrop-blur md:px-6 border-b border-border2 shrink-0`,children:[(0,F.jsxDEV)(`div`,{className:`flex items-center gap-2.5 min-w-0`,children:e},void 0,!1,{fileName:$,lineNumber:10,columnNumber:7},this),t&&(0,F.jsxDEV)(`div`,{className:`flex items-center gap-2 shrink-0`,children:t},void 0,!1,{fileName:$,lineNumber:11,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:9,columnNumber:5},this)}export{ve as _,U as a,he as b,Oe as c,Te as d,we as f,P as g,be as h,Y as i,L as l,Se as m,Ve as n,V as o,ye as p,Be as r,I as s,He as t,De as u,Ce as v,_e as y};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-vendor-BskHO5hY.js";import{o as t}from"./src-DtS4bMoK.js";function n(e){if(e==null||e===``)return[];if(Array.isArray(e))return e.map(String).filter(Boolean);if(typeof e==`string`){if(e.startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(String).filter(Boolean)}catch{}return e?[e]:[]}return[String(e)]}function r(e){return e.kind===`tags`||e.hints?.multiple===!0}var i=e(),a=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/dispatch.tsx`;function o(e){let n=t(e.field);return n?(0,i.jsxDEV)(n.Page,{...e},void 0,!1,{fileName:a,lineNumber:15,columnNumber:10},this):(console.warn(`[render] немає рендера для`,e.field.kind),(0,i.jsxDEV)(`span`,{children:String(e.value)},void 0,!1,{fileName:a,lineNumber:13,columnNumber:12},this))}function s({field:e,value:n,height:r}){let o=t(e),s=o?.Inline?(0,i.jsxDEV)(o.Inline,{field:e,value:n,height:r},void 0,!1,{fileName:a,lineNumber:26,columnNumber:5},this):(0,i.jsxDEV)(`span`,{className:`truncate`,children:String(n??``)},void 0,!1,{fileName:a,lineNumber:28,columnNumber:5},this);return r?(0,i.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center font-medium`,style:{fontSize:Math.round(r*.7),lineHeight:1.15},children:s},void 0,!1,{fileName:a,lineNumber:32,columnNumber:5},this):s}function c(e,i,a){let o=t(e),s=t=>o?.keys?o.keys(t,e,a):t==null||t===``?[]:[{value:String(t),rawValue:t,label:String(t)}],c=r(e)?n(i):[i],l=new Set,u=[];for(let e of c)for(let t of s(e))l.has(t.value)||(l.add(t.value),u.push(t));return u}export{o as n,c as r,s as t};
@@ -1 +0,0 @@
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-BskHO5hY.js";import{a as r,f as i,i as a,o,r as s}from"./chrome-BWlqqMIt.js";var c=e(t(),1);function l(e){return e===1||e===!0||e===`1`||e===`true`}function u(e,t){return e.prim===`checkbox`?l(t):t??``}async function d(e,t){let n=await t?.(e),r=typeof n==`string`?n:void 0;return{ok:!r,error:r}}function f(e,t,n){let[r,i]=(0,c.useState)(!1),[a,o]=(0,c.useState)(()=>u(e,t)),[s,l]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{r||o(u(e,t))},[r,e,t]),{editing:r,draft:a,setDraft:o,busy:s,beginEdit:()=>i(!0),cancel:()=>{o(u(e,t)),i(!1)},commit:async(e=a)=>{l(!0);let{ok:t}=await d(e,n);l(!1),t&&i(!1)}}}var p=n(),m=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/flow-row.tsx`,h=(0,c.createContext)(!1),g=()=>(0,c.useContext)(h);function _({items:e,scroll:t}){return(0,p.jsxDEV)(h.Provider,{value:!0,children:(0,p.jsxDEV)(`div`,{className:`flex gap-x-3 gap-y-2 items-start ${t?`flex-nowrap overflow-x-auto`:`flex-wrap`}`,children:e.map(e=>e.break?(0,p.jsxDEV)(`div`,{className:`basis-full h-0`,"aria-hidden":!0},e.key,!1,{fileName:m,lineNumber:38,columnNumber:13},this):(0,p.jsxDEV)(`div`,{className:e.full?`basis-full min-w-0`:`flex-none min-w-0 max-w-[min(16rem,100%)]`,children:e.node},e.key,!1,{fileName:m,lineNumber:40,columnNumber:13},this))},void 0,!1,{fileName:m,lineNumber:35,columnNumber:7},this)},void 0,!1,{fileName:m,lineNumber:34,columnNumber:5},this)}function v(e){return e==null||e===``?!0:Array.isArray(e)?e.length===0:typeof e==`object`&&Object.values(e).every(v)}var y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/field-frame.tsx`,b=`[data-slot="combobox-content"],[data-slot="popover-content"],[role="listbox"],[role="dialog"],[role="menu"],[data-scope="date-picker"][data-part="content"]`;function x(e){let t=e instanceof Element?e:typeof document<`u`?document.activeElement:null;return t instanceof Element&&t.closest(b)!==null}var S=new Set([`file`,`image`,`media`]);function C(e,t){return e.prim===`checkbox`||S.has(e.kind)||e.hints.noEditControl===!0?!0:!v(t)}function w(e){let{field:t,value:n,onChange:c,label:l,required:d,error:m,mode:h,geom:_,view:v,edit:b,bare:x,width:S=`w-64`}=e,C=h!==`view`,w=f(t,n,c),T=g(),E=(e,n,r,i)=>e?b(u(t,n),r):v(n,i);if(x)return(0,p.jsxDEV)(p.Fragment,{children:[E(C,n,e=>c?.(e),c),(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:75,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:73,columnNumber:7},this);if(C)return l===void 0?(0,p.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:E(!0,n,e=>c?.(e))},void 0,!1,{fileName:y,lineNumber:83,columnNumber:14},this):(0,p.jsxDEV)(`div`,{className:`group/field ${S}`,children:[(0,p.jsxDEV)(o,{label:l,required:d},void 0,!1,{fileName:y,lineNumber:87,columnNumber:9},this),E(!0,n,e=>c?.(e)),(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:89,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:86,columnNumber:7},this);if(t.hints.noEditControl===!0){let e=(0,p.jsxDEV)(a,{geom:_,field:t,children:v(n,c)},void 0,!1,{fileName:y,lineNumber:98,columnNumber:7},this);return l===void 0?e:(0,p.jsxDEV)(`div`,{className:`group/field ${S}`,children:[(0,p.jsxDEV)(o,{label:l,required:d},void 0,!1,{fileName:y,lineNumber:105,columnNumber:9},this),e,(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:107,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:104,columnNumber:7},this)}let D=t.hints.emphasis,O=t.hints.noLabel===!0||l===void 0,k=(0,p.jsxDEV)(`div`,{className:`min-w-0`,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),w.cancel())},children:E(!0,w.draft,w.setDraft)},void 0,!1,{fileName:y,lineNumber:123,columnNumber:5},this),A=(0,p.jsxDEV)(a,{geom:_,field:t,children:E(!1,n,()=>{},c)},void 0,!1,{fileName:y,lineNumber:137,columnNumber:5},this),j=T?(0,p.jsxDEV)(`div`,{className:`grid min-w-0`,children:[(0,p.jsxDEV)(`div`,{className:`col-start-1 row-start-1 min-w-0`,"aria-hidden":!w.editing,inert:!w.editing||void 0,style:{visibility:w.editing?`visible`:`hidden`},children:k},void 0,!1,{fileName:y,lineNumber:148,columnNumber:7},this),(0,p.jsxDEV)(`div`,{className:`col-start-1 row-start-1 min-w-0`,style:{visibility:w.editing?`hidden`:`visible`},children:A},void 0,!1,{fileName:y,lineNumber:156,columnNumber:7},this)]},void 0,!0,{fileName:y,lineNumber:147,columnNumber:5},this):w.editing?k:A,M=c&&!w.editing?(0,p.jsxDEV)(s,{variant:`overlay`,onEdit:w.beginEdit},void 0,!1,{fileName:y,lineNumber:169,columnNumber:51},this):null,N=c&&w.editing?(0,p.jsxDEV)(`div`,{className:`absolute right-1 top-0 z-10 flex gap-1`,children:(0,p.jsxDEV)(i,{size:`xs`,busy:w.busy,onSave:()=>w.commit(),onCancel:w.cancel},void 0,!1,{fileName:y,lineNumber:174,columnNumber:9},this)},void 0,!1,{fileName:y,lineNumber:173,columnNumber:7},this):null;if(D===`hero`){let e=c?w.editing?(0,p.jsxDEV)(i,{size:`sm`,busy:w.busy,onSave:()=>w.commit(),onCancel:w.cancel},void 0,!1,{fileName:y,lineNumber:182,columnNumber:11},this):(0,p.jsxDEV)(s,{onEdit:w.beginEdit},void 0,!1,{fileName:y,lineNumber:183,columnNumber:11},this):null;return(0,p.jsxDEV)(`div`,{className:`group/field flex items-center gap-2 min-w-0`,children:[(0,p.jsxDEV)(`div`,{className:`text-lg font-semibold text-text min-w-0`,children:w.editing?k:E(!1,n,()=>{},c)},void 0,!1,{fileName:y,lineNumber:187,columnNumber:9},this),e,(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:191,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:186,columnNumber:7},this)}return D===`muted`?(0,p.jsxDEV)(`div`,{className:`group/field grid grid-cols-[110px_1fr] items-center gap-x-3 text-xs text-muted min-w-0`,children:[(0,p.jsxDEV)(`span`,{className:`flex items-center gap-1.5`,children:[l,c?w.editing?(0,p.jsxDEV)(i,{size:`xs`,busy:w.busy,onSave:()=>w.commit(),onCancel:w.cancel},void 0,!1,{fileName:y,lineNumber:200,columnNumber:11},this):(0,p.jsxDEV)(s,{onEdit:w.beginEdit},void 0,!1,{fileName:y,lineNumber:201,columnNumber:11},this):null]},void 0,!0,{fileName:y,lineNumber:205,columnNumber:9},this),(0,p.jsxDEV)(`span`,{className:`min-w-0`,children:w.editing?k:E(!1,n,()=>{},c)},void 0,!1,{fileName:y,lineNumber:209,columnNumber:9},this),(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:210,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:204,columnNumber:7},this):O?(0,p.jsxDEV)(`div`,{className:`group/field relative min-w-0 pr-8`,children:[j,M,N,(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:222,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:218,columnNumber:7},this):(0,p.jsxDEV)(`div`,{className:`group/field relative ${S}`,children:[(0,p.jsxDEV)(o,{label:l,required:d,reserveAction:!!c},void 0,!1,{fileName:y,lineNumber:230,columnNumber:7},this),j,M,N,(0,p.jsxDEV)(r,{error:m},void 0,!1,{fileName:y,lineNumber:234,columnNumber:7},this)]},void 0,!0,{fileName:y,lineNumber:229,columnNumber:5},this)}export{h as a,v as i,x as n,_ as o,C as r,l as s,w as t};