@coffer-org/web 6.0.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/assets/ChatWidget-CcRBpH3R.js +31 -0
  2. package/dist/assets/{DiagnosticsPage-7qim0xtf.js → DiagnosticsPage-D7fy1_0f.js} +1 -1
  3. package/dist/assets/{NewRecordView-X6Bro17s.js → NewRecordView-D7ydNnsy.js} +1 -1
  4. package/dist/assets/{PluginSettingsPage-C3iGqJEb.js → PluginSettingsPage-EerA9oPb.js} +1 -1
  5. package/dist/assets/{SettingsForm-BAjKJ1MR.js → SettingsForm-CH6BLi3D.js} +1 -1
  6. package/dist/assets/{SettingsPage-DbAk9URh.js → SettingsPage-DzyuASj7.js} +3 -3
  7. package/dist/assets/{ThemeSwitcher-CADoC9xw.js → ThemeSwitcher-CCPeX0on.js} +1 -1
  8. package/dist/assets/{data-size-oPRYOwnj.js → data-size-vn5A4kWS.js} +1 -1
  9. package/dist/assets/{extend-BTkr7oJ8.js → extend-6QQ6MEex.js} +1 -1
  10. package/dist/assets/{fields-BtCN_frr.js → fields-Jjh-UJY7.js} +1 -1
  11. package/dist/assets/index-Bb-PJE_y.css +2 -0
  12. package/dist/assets/index-C8u7wCxS.js +28 -0
  13. package/dist/assets/{list-cache-D1eUf-Pp.js → list-cache-S_FIVA3K.js} +1 -1
  14. package/dist/assets/settings-IL4Fvwa_.js +1 -0
  15. package/dist/assets/{shelf-CRUDKiTz.js → shelf-CSNyp10v.js} +1 -1
  16. package/dist/assets/{showcase-Boajqdx8.js → showcase-DzdkGKBk.js} +1 -1
  17. package/dist/assets/{src-DsNlLMpF.js → src--1u_lLvk.js} +2 -2
  18. package/dist/assets/{src-CzmJIKcf.js → src-9cwpKieU.js} +1 -1
  19. package/dist/assets/{src-BRzAjJX_.js → src-B5XcKYH-.js} +1 -1
  20. package/dist/assets/{src-CustHESR.js → src-BBAPsbvu.js} +1 -1
  21. package/dist/assets/{src-Cr_oHzOc.js → src-BT8O1A0P.js} +1 -1
  22. package/dist/assets/src-C2tyQ92b.js +1 -0
  23. package/dist/assets/{src-B3nX_MMy.js → src-CGP4SiHf.js} +1 -1
  24. package/dist/assets/{src-DiE6pP9S.js → src-CGk9EwfP.js} +2 -2
  25. package/dist/assets/{src-Br4oAdCy.js → src-CLdN3Q1a.js} +1 -1
  26. package/dist/assets/{src-BiJuengh.js → src-D2Und9pq.js} +1 -1
  27. package/dist/assets/{src-CYiAjCO3.js → src-D6Xuvdxc.js} +1 -1
  28. package/dist/assets/{src-C-Xmuyui.js → src-DAxh53WU.js} +1 -1
  29. package/dist/assets/{src-CFcpeTQ5.js → src-DBCFGAgU.js} +1 -1
  30. package/dist/assets/{src-Ys25cnOv.js → src-DLaTFJLO.js} +1 -1
  31. package/dist/assets/src-DNKLhyvV.js +1 -0
  32. package/dist/assets/{src-BYHuqMQ7.js → src-DPKaFf41.js} +2 -2
  33. package/dist/assets/{src-DWgNUcSX2.js → src-DUfbEjKx2.js} +1 -1
  34. package/dist/assets/{src-DVO-Ghnz.js → src-DgEWUndr.js} +1 -1
  35. package/dist/assets/{src-C4BNu6EC.js → src-DjAWeWZV.js} +1 -1
  36. package/dist/assets/{src-B_YWtyQn.js → src-E2eiV9P_.js} +2 -2
  37. package/dist/assets/src-Knjj_T92.js +4 -0
  38. package/dist/assets/{src-BinvE9sd2.js → src-P-qw3qV72.js} +1 -1
  39. package/dist/assets/src-dgEZIVti.js +1 -0
  40. package/dist/assets/{ui-CImMNxCk.js → ui-DMArSfFj.js} +1 -1
  41. package/dist/assets/ui-DTxEqLVF.js +2 -0
  42. package/dist/assets/{ui-BgqTuhxj2.js → ui-h-Z87hd_2.js} +2 -2
  43. package/dist/index.html +9 -9
  44. package/dist-vendor/web-ui.js +9678 -9601
  45. package/package.json +1 -1
  46. package/dist/assets/ChatWidget-qpAe26bF.js +0 -31
  47. package/dist/assets/index-CHlM3CU9.js +0 -28
  48. package/dist/assets/index-KdG4mu3z.css +0 -2
  49. package/dist/assets/settings-BfEurOH1.js +0 -1
  50. package/dist/assets/src-54Qdjl2W.js +0 -4
  51. package/dist/assets/src-6lNAeDcP.js +0 -1
  52. package/dist/assets/src-BTv3nocd.js +0 -1
  53. package/dist/assets/src-CO3npa8j.js +0 -1
  54. package/dist/assets/ui-Cy5oShj4.js +0 -2
@@ -1 +1 @@
1
- import{n as e,r as t}from"./fields-BtCN_frr.js";import{s as n}from"./shelf-CRUDKiTz.js";import{n as r,r as i}from"./plugin-CFEkHH3f.js";var a=[`accommodations`,`activities`,`insurances`],o=e=>{let t=typeof e==`string`&&e!==``?Number(e):e;return typeof t==`number`&&Number.isFinite(t)?t:null},s=({record:e})=>{let t=Date.parse(String(e.date_from??``)),n=Date.parse(String(e.date_to??``));return Number.isNaN(t)||Number.isNaN(n)||n<t?null:Math.round((n-t)/864e5)+1},c=({record:e})=>{let t=0,n=!1;for(let r of a){let i=e[r];if(Array.isArray(i))for(let e of i){let r=o(e?.cost);r!=null&&(t+=r,n=!0)}}return n?Math.round(t*100)/100:null},l=n({shelf:`trip`,library:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{list:[`destination`,`date_from`,`date_to`,`status`]},fields:{name:e.title({label:`core.fields.name`}),description:e.text({label:`travel.trip.fields.description`,rules:{max:2e3}}),destination:e.string({label:`travel.trip.fields.destination`,rules:{max:200}}),countdown:e.countdown({source:{date_from:e.date({label:`travel.trip.fields.date_from`,mutate:[`days`]})}}),date_to:e.date({label:`travel.trip.fields.date_to`,mutate:[`days`]}),status:e.status({source:{status:e.string({label:`travel.trip.fields.status`,strict:!0,noSearch:!0,options:[{value:`planned`,title:`travel.trip.options.status.planned`},{value:`active`,title:`travel.trip.options.status.active`},{value:`completed`,title:`travel.trip.options.status.completed`},{value:`cancelled`,title:`travel.trip.options.status.cancelled`}]})}}),people:e.people({source:{participants:e.relation({label:`travel.trip.fields.participants`,options:t({library:`people`,shelf:`person`}),multiple:!0})}}),currency:e.currency({label:`core.fields.currency`,default:`UAH`}),budget:e.money({label:`travel.trip.fields.budget`,mutate:[`budget_state`]}),photos:e.image({label:`travel.trip.fields.photos`,multiple:!0}),packing_items:e.check({label:`travel.trip.fields.packing_items`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],fields:{item:e.relation({label:`travel.trip.packing.item`,options:t({library:`things`,shelf:`item`})})},multiple:!0}),packing_list:e.check({label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),legs:e.group({scope:`nest`,label:`travel.trip.fields.legs`,icon:`lucide:route`,multiple:!0,fields:{date:e.date({label:`travel.trip.leg.date`}),leg_type:e.string({label:`travel.trip.leg.leg_type`,strict:!0,noSearch:!0,options:[{value:`flight`,title:`travel.trip.leg_opt.leg_type.flight`},{value:`train`,title:`travel.trip.leg_opt.leg_type.train`},{value:`bus`,title:`travel.trip.leg_opt.leg_type.bus`},{value:`car`,title:`travel.trip.leg_opt.leg_type.car`},{value:`ferry`,title:`travel.trip.leg_opt.leg_type.ferry`},{value:`other`,title:`travel.trip.leg_opt.leg_type.other`}]}),operator:e.string({label:`travel.trip.leg.operator`,rules:{max:100}}),number:e.string({label:`travel.trip.leg.number`,rules:{max:20}}),seat:e.string({label:`travel.trip.leg.seat`,rules:{max:10}}),class:e.string({label:`travel.trip.leg.class`,strict:!0,noSearch:!0,options:[{value:`economy`,title:`travel.trip.leg_opt.class.economy`},{value:`business`,title:`travel.trip.leg_opt.class.business`},{value:`first`,title:`travel.trip.leg_opt.class.first`}]}),booking_ref:e.string({label:`travel.trip.leg.booking_ref`,rules:{max:50}}),terminal:e.string({label:`travel.trip.leg.terminal`,rules:{max:20}}),gate:e.string({label:`travel.trip.leg.gate`,rules:{max:20}}),origin_city:e.string({label:`travel.trip.leg.origin_city`,rules:{max:100}}),origin_code:e.string({label:`travel.trip.leg.origin_code`,rules:{max:10}}),departure_time:e.time({label:`travel.trip.leg.departure_time`}),destination_city:e.string({label:`travel.trip.leg.destination_city`,rules:{max:100}}),destination_code:e.string({label:`travel.trip.leg.destination_code`,rules:{max:10}}),arrival_time:e.time({label:`travel.trip.leg.arrival_time`}),duration:e.duration({label:`travel.trip.leg.duration`}),checked_in:e.boolean({label:`travel.trip.leg.checked_in`}),documents:e.document({label:`travel.trip.leg.documents`,multiple:!0}),notes:e.text({label:`travel.trip.leg.notes`,rules:{max:2e3}})}}),accommodations:e.group({scope:`nest`,label:`travel.trip.fields.accommodations`,icon:`lucide:bed`,multiple:!0,fields:{accom_type:e.string({label:`travel.trip.accom.accom_type`,strict:!0,noSearch:!0,options:[{value:`hotel`,title:`travel.trip.accom_opt.accom_type.hotel`},{value:`apartment`,title:`travel.trip.accom_opt.accom_type.apartment`},{value:`hostel`,title:`travel.trip.accom_opt.accom_type.hostel`},{value:`other`,title:`travel.trip.accom_opt.accom_type.other`}]}),location:e.string({label:`travel.trip.accom.location`,rules:{max:300}}),address:e.string({label:`travel.trip.accom.address`,rules:{max:300}}),rating:e.rating({label:`travel.trip.accom.rating`,rules:{max:5}}),breakfast:e.boolean({label:`travel.trip.accom.breakfast`}),check_in:e.date({label:`travel.trip.accom.check_in`}),check_out:e.date({label:`travel.trip.accom.check_out`}),booking_ref:e.string({label:`travel.trip.accom.booking_ref`,rules:{max:100}}),cost:e.money({label:`travel.trip.accom.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),documents:e.document({label:`travel.trip.accom.documents`,multiple:!0}),notes:e.text({label:`travel.trip.accom.notes`,rules:{max:2e3}})}}),insurances:e.group({scope:`nest`,label:`travel.trip.fields.insurances`,icon:`lucide:shield-check`,multiple:!0,fields:{insurer:e.string({label:`travel.trip.insur.insurer`,rules:{max:200}}),policy_number:e.string({label:`travel.trip.insur.policy_number`,rules:{max:100}}),coverage:e.text({label:`travel.trip.insur.coverage`,rules:{max:1e3}}),cost:e.money({label:`travel.trip.insur.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),valid_from:e.date({label:`travel.trip.insur.valid_from`}),valid_until:e.date({label:`travel.trip.insur.valid_until`}),emergency_phone:e.string({label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),documents:e.document({label:`travel.trip.insur.documents`,multiple:!0}),notes:e.text({label:`travel.trip.insur.notes`,rules:{max:2e3}})}}),activities:e.group({scope:`nest`,label:`travel.trip.fields.activities`,icon:`lucide:ticket`,multiple:!0,fields:{activity_type:e.string({label:`travel.trip.act.activity_type`,strict:!0,noSearch:!0,options:[{value:`sightseeing`,title:`travel.trip.act_opt.activity_type.sightseeing`},{value:`museum`,title:`travel.trip.act_opt.activity_type.museum`},{value:`beach`,title:`travel.trip.act_opt.activity_type.beach`},{value:`nature`,title:`travel.trip.act_opt.activity_type.nature`},{value:`restaurant`,title:`travel.trip.act_opt.activity_type.restaurant`},{value:`tour`,title:`travel.trip.act_opt.activity_type.tour`},{value:`shopping`,title:`travel.trip.act_opt.activity_type.shopping`},{value:`entertainment`,title:`travel.trip.act_opt.activity_type.entertainment`},{value:`other`,title:`travel.trip.act_opt.activity_type.other`}]}),date:e.date({label:`travel.trip.act.date`}),time_start:e.time({label:`travel.trip.act.time_start`}),time_end:e.time({label:`travel.trip.act.time_end`}),location:e.string({label:`travel.trip.act.location`,rules:{max:300}}),booking_ref:e.string({label:`travel.trip.act.booking_ref`,rules:{max:100}}),cost:e.money({label:`travel.trip.act.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),documents:e.document({label:`travel.trip.act.documents`,multiple:!0}),notes:e.text({label:`travel.trip.act.notes`,rules:{max:2e3}})}}),days:e.int({label:`travel.trip.fields.days`,value:s}),spent:e.money({label:`travel.trip.fields.spent`,value:c,mutate:[`budget_state`]}),budget_state:e.string({label:`travel.trip.fields.budget_state`,value:e=>{let t=o(e.record.budget),n=o(c(e));return t==null||t<=0||n==null?null:n>t?`over`:`within`},strict:!0,noSearch:!0,options:[{value:`within`,title:`travel.trip.options.budget_state.within`,icon:{kind:`icon`,value:`lucide:check`}},{value:`over`,title:`travel.trip.options.budget_state.over`,icon:{kind:`icon`,value:`lucide:x`}}]}),tags:e.tags({label:`travel.trip.fields.tags`}),notes:e.text({label:`travel.trip.fields.notes`,rules:{max:3e3}})}}),u=r({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],libraries:[{meta:i({id:`travel`,label:`travel.library.label`,icon:`lucide:plane`,agent:`Trips (trip) with legs, lodging, insurance, activities, and packing lists.`}),shelves:[l]}]});export{u as default};
1
+ import{n as e,r as t}from"./fields-Jjh-UJY7.js";import{s as n}from"./shelf-CSNyp10v.js";import{n as r,r as i}from"./plugin-CFEkHH3f.js";var a=[`accommodations`,`activities`,`insurances`],o=e=>{let t=typeof e==`string`&&e!==``?Number(e):e;return typeof t==`number`&&Number.isFinite(t)?t:null},s=({record:e})=>{let t=Date.parse(String(e.date_from??``)),n=Date.parse(String(e.date_to??``));return Number.isNaN(t)||Number.isNaN(n)||n<t?null:Math.round((n-t)/864e5)+1},c=({record:e})=>{let t=0,n=!1;for(let r of a){let i=e[r];if(Array.isArray(i))for(let e of i){let r=o(e?.cost);r!=null&&(t+=r,n=!0)}}return n?Math.round(t*100)/100:null},l=n({shelf:`trip`,library:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{list:[`destination`,`date_from`,`date_to`,`status`]},fields:{name:e.title({label:`core.fields.name`}),description:e.text({label:`travel.trip.fields.description`,rules:{max:2e3}}),destination:e.string({label:`travel.trip.fields.destination`,rules:{max:200}}),countdown:e.countdown({source:{date_from:e.date({label:`travel.trip.fields.date_from`,mutate:[`days`]})}}),date_to:e.date({label:`travel.trip.fields.date_to`,mutate:[`days`]}),status:e.status({source:{status:e.string({label:`travel.trip.fields.status`,strict:!0,noSearch:!0,options:[{value:`planned`,title:`travel.trip.options.status.planned`},{value:`active`,title:`travel.trip.options.status.active`},{value:`completed`,title:`travel.trip.options.status.completed`},{value:`cancelled`,title:`travel.trip.options.status.cancelled`}]})}}),people:e.people({source:{participants:e.relation({label:`travel.trip.fields.participants`,options:t({library:`people`,shelf:`person`}),multiple:!0})}}),currency:e.currency({label:`core.fields.currency`,default:`UAH`}),budget:e.money({label:`travel.trip.fields.budget`,mutate:[`budget_state`]}),photos:e.image({label:`travel.trip.fields.photos`,multiple:!0}),packing_items:e.check({label:`travel.trip.fields.packing_items`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],fields:{item:e.relation({label:`travel.trip.packing.item`,options:t({library:`things`,shelf:`item`})})},multiple:!0}),packing_list:e.check({label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),legs:e.group({scope:`nest`,label:`travel.trip.fields.legs`,icon:`lucide:route`,multiple:!0,fields:{date:e.date({label:`travel.trip.leg.date`}),leg_type:e.string({label:`travel.trip.leg.leg_type`,strict:!0,noSearch:!0,options:[{value:`flight`,title:`travel.trip.leg_opt.leg_type.flight`},{value:`train`,title:`travel.trip.leg_opt.leg_type.train`},{value:`bus`,title:`travel.trip.leg_opt.leg_type.bus`},{value:`car`,title:`travel.trip.leg_opt.leg_type.car`},{value:`ferry`,title:`travel.trip.leg_opt.leg_type.ferry`},{value:`other`,title:`travel.trip.leg_opt.leg_type.other`}]}),operator:e.string({label:`travel.trip.leg.operator`,rules:{max:100}}),number:e.string({label:`travel.trip.leg.number`,rules:{max:20}}),seat:e.string({label:`travel.trip.leg.seat`,rules:{max:10}}),class:e.string({label:`travel.trip.leg.class`,strict:!0,noSearch:!0,options:[{value:`economy`,title:`travel.trip.leg_opt.class.economy`},{value:`business`,title:`travel.trip.leg_opt.class.business`},{value:`first`,title:`travel.trip.leg_opt.class.first`}]}),booking_ref:e.string({label:`travel.trip.leg.booking_ref`,rules:{max:50}}),terminal:e.string({label:`travel.trip.leg.terminal`,rules:{max:20}}),gate:e.string({label:`travel.trip.leg.gate`,rules:{max:20}}),origin_city:e.string({label:`travel.trip.leg.origin_city`,rules:{max:100}}),origin_code:e.string({label:`travel.trip.leg.origin_code`,rules:{max:10}}),departure_time:e.time({label:`travel.trip.leg.departure_time`}),destination_city:e.string({label:`travel.trip.leg.destination_city`,rules:{max:100}}),destination_code:e.string({label:`travel.trip.leg.destination_code`,rules:{max:10}}),arrival_time:e.time({label:`travel.trip.leg.arrival_time`}),duration:e.duration({label:`travel.trip.leg.duration`}),checked_in:e.boolean({label:`travel.trip.leg.checked_in`}),documents:e.document({label:`travel.trip.leg.documents`,multiple:!0}),notes:e.text({label:`travel.trip.leg.notes`,rules:{max:2e3}})}}),accommodations:e.group({scope:`nest`,label:`travel.trip.fields.accommodations`,icon:`lucide:bed`,multiple:!0,fields:{accom_type:e.string({label:`travel.trip.accom.accom_type`,strict:!0,noSearch:!0,options:[{value:`hotel`,title:`travel.trip.accom_opt.accom_type.hotel`},{value:`apartment`,title:`travel.trip.accom_opt.accom_type.apartment`},{value:`hostel`,title:`travel.trip.accom_opt.accom_type.hostel`},{value:`other`,title:`travel.trip.accom_opt.accom_type.other`}]}),location:e.string({label:`travel.trip.accom.location`,rules:{max:300}}),address:e.string({label:`travel.trip.accom.address`,rules:{max:300}}),rating:e.rating({label:`travel.trip.accom.rating`,rules:{max:5}}),breakfast:e.boolean({label:`travel.trip.accom.breakfast`}),check_in:e.date({label:`travel.trip.accom.check_in`}),check_out:e.date({label:`travel.trip.accom.check_out`}),booking_ref:e.string({label:`travel.trip.accom.booking_ref`,rules:{max:100}}),cost:e.money({label:`travel.trip.accom.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),documents:e.document({label:`travel.trip.accom.documents`,multiple:!0}),notes:e.text({label:`travel.trip.accom.notes`,rules:{max:2e3}})}}),insurances:e.group({scope:`nest`,label:`travel.trip.fields.insurances`,icon:`lucide:shield-check`,multiple:!0,fields:{insurer:e.string({label:`travel.trip.insur.insurer`,rules:{max:200}}),policy_number:e.string({label:`travel.trip.insur.policy_number`,rules:{max:100}}),coverage:e.text({label:`travel.trip.insur.coverage`,rules:{max:1e3}}),cost:e.money({label:`travel.trip.insur.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),valid_from:e.date({label:`travel.trip.insur.valid_from`}),valid_until:e.date({label:`travel.trip.insur.valid_until`}),emergency_phone:e.string({label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),documents:e.document({label:`travel.trip.insur.documents`,multiple:!0}),notes:e.text({label:`travel.trip.insur.notes`,rules:{max:2e3}})}}),activities:e.group({scope:`nest`,label:`travel.trip.fields.activities`,icon:`lucide:ticket`,multiple:!0,fields:{activity_type:e.string({label:`travel.trip.act.activity_type`,strict:!0,noSearch:!0,options:[{value:`sightseeing`,title:`travel.trip.act_opt.activity_type.sightseeing`},{value:`museum`,title:`travel.trip.act_opt.activity_type.museum`},{value:`beach`,title:`travel.trip.act_opt.activity_type.beach`},{value:`nature`,title:`travel.trip.act_opt.activity_type.nature`},{value:`restaurant`,title:`travel.trip.act_opt.activity_type.restaurant`},{value:`tour`,title:`travel.trip.act_opt.activity_type.tour`},{value:`shopping`,title:`travel.trip.act_opt.activity_type.shopping`},{value:`entertainment`,title:`travel.trip.act_opt.activity_type.entertainment`},{value:`other`,title:`travel.trip.act_opt.activity_type.other`}]}),date:e.date({label:`travel.trip.act.date`}),time_start:e.time({label:`travel.trip.act.time_start`}),time_end:e.time({label:`travel.trip.act.time_end`}),location:e.string({label:`travel.trip.act.location`,rules:{max:300}}),booking_ref:e.string({label:`travel.trip.act.booking_ref`,rules:{max:100}}),cost:e.money({label:`travel.trip.act.cost`,currencyFrom:`parent:currency`,mutate:[`spent`]}),documents:e.document({label:`travel.trip.act.documents`,multiple:!0}),notes:e.text({label:`travel.trip.act.notes`,rules:{max:2e3}})}}),days:e.int({label:`travel.trip.fields.days`,value:s}),spent:e.money({label:`travel.trip.fields.spent`,value:c,mutate:[`budget_state`]}),budget_state:e.string({label:`travel.trip.fields.budget_state`,value:e=>{let t=o(e.record.budget),n=o(c(e));return t==null||t<=0||n==null?null:n>t?`over`:`within`},strict:!0,noSearch:!0,options:[{value:`within`,title:`travel.trip.options.budget_state.within`,icon:{kind:`icon`,value:`lucide:check`}},{value:`over`,title:`travel.trip.options.budget_state.over`,icon:{kind:`icon`,value:`lucide:x`}}]}),tags:e.tags({label:`travel.trip.fields.tags`}),notes:e.text({label:`travel.trip.fields.notes`,rules:{max:3e3}})}}),u=r({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],libraries:[{meta:i({id:`travel`,label:`travel.library.label`,icon:`lucide:plane`,agent:`Trips (trip) with legs, lodging, insurance, activities, and packing lists.`}),shelves:[l]}]});export{u as default};
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"./src-DPKaFf41.js";export{e as default,n as fin,t as iban};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ScanSummary-xKGEaOS0.js","assets/react-vendor-CzSUaSLk.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.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{p as n,t as r}from"./react-vendor-CzSUaSLk.js";import{Cn as i,J as a,Qt as o,Sn as s,nt as c,xn as l}from"./src-54Qdjl2W.js";import{n as u}from"./plugin-ui-CKd6q8ec.js";import{t as d}from"./input-DqF3I-kT.js";import{a as f,c as p,n as m,o as h,t as g}from"./data-size-oPRYOwnj.js";var _=e(t(),1);function v(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 y(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function b(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=v(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function x(e){return`${y(e)}/${e.p}`}var S=r(),C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function w({value:e,onChange:t,parse:n,format:r,placeholder:i}){let a=(0,_.useMemo)(()=>{if(e&&typeof e==`object`)return e;if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}},[e]),o=typeof e==`string`?e:``,[s,c]=(0,_.useState)(a?r(a):o);(0,_.useEffect)(()=>{c(a?r(a):o)},[o,a]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,S.jsxDEV)(d,{value:s,placeholder:i,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:C,lineNumber:67,columnNumber:5},this)}function T(e,t){return(0,S.jsxDEV)(i,{items:o(e,[]),content:e=>{let n=typeof e==`string`?o(e,null):e;return n&&typeof n==`object`?t(n):String(e)}},void 0,!1,{fileName:C,lineNumber:84,columnNumber:5},this)}function E(e,t){let n=typeof e==`string`?o(e,null):e??null;if(n&&typeof n==`object`)return(0,S.jsxDEV)(`code`,{className:`font-mono text-sm`,children:t(n)},void 0,!1,{fileName:C,lineNumber:103,columnNumber:46},this);let r=String(e??``);return r?(0,S.jsxDEV)(`span`,{className:`text-muted`,children:r},void 0,!1,{fileName:C,lineNumber:105,columnNumber:16},this):(0,S.jsxDEV)(s,{},void 0,!1,{fileName:C,lineNumber:105,columnNumber:60},this)}function D({value:e}){return E(e,y)}function O({value:e}){return E(e,x)}function k(e){return(0,S.jsxDEV)(a,{field:e.field,value:e.value,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?T(t,e=>y(e)):(()=>{let e=o(t,null);if(e)return(0,S.jsxDEV)(`code`,{className:`font-mono text-sm`,children:y(e)},void 0,!1,{fileName:C,lineNumber:132,columnNumber:34},this);let n=String(t??``);return n?(0,S.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:C,lineNumber:134,columnNumber:28},this):(0,S.jsxDEV)(s,{},void 0,!1,{fileName:C,lineNumber:134,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,S.jsxDEV)(c,{value:String(t),onChange:n,validate:e=>v(e.trim())!==null,serialize:e=>{let t=v(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return y(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,S.jsxDEV)(d,{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:C,lineNumber:155,columnNumber:15},this)},void 0,!1,{fileName:C,lineNumber:139,columnNumber:11},this):(0,S.jsxDEV)(w,{value:t,onChange:n,parse:v,format:y,placeholder:`192.168.1.1`},void 0,!1,{fileName:C,lineNumber:170,columnNumber:11},this)},void 0,!1,{fileName:C,lineNumber:118,columnNumber:5},this)}function A({value:e}){let t=null;try{t=y(JSON.parse(String(e)))}catch{t=null}return t===null?(0,S.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:C,lineNumber:192,columnNumber:26},this):(0,S.jsxDEV)(`span`,{className:`truncate font-mono`,children:t},void 0,!1,{fileName:C,lineNumber:192,columnNumber:64},this)}var j={kinds:[`ip`],Page:k,Inline:A,Value:D};function M(e){return(0,S.jsxDEV)(a,{field:e.field,value:e.value,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?T(t,e=>x(e)):(()=>{let e=o(t,null);if(e)return(0,S.jsxDEV)(`code`,{className:`font-mono text-sm`,children:x(e)},void 0,!1,{fileName:C,lineNumber:218,columnNumber:34},this);let n=String(t??``);return n?(0,S.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:C,lineNumber:220,columnNumber:28},this):(0,S.jsxDEV)(s,{},void 0,!1,{fileName:C,lineNumber:220,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,S.jsxDEV)(c,{value:String(t),onChange:n,validate:e=>b(e.trim())!==null,serialize:e=>{let t=b(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return x(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,S.jsxDEV)(d,{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:C,lineNumber:241,columnNumber:15},this)},void 0,!1,{fileName:C,lineNumber:225,columnNumber:11},this):(0,S.jsxDEV)(w,{value:t,onChange:n,parse:b,format:x,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:C,lineNumber:256,columnNumber:11},this)},void 0,!1,{fileName:C,lineNumber:204,columnNumber:5},this)}function N({value:e}){let t=null;try{t=x(JSON.parse(String(e)))}catch{t=null}return t===null?(0,S.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:C,lineNumber:278,columnNumber:26},this):(0,S.jsxDEV)(`span`,{className:`truncate font-mono`,children:t},void 0,!1,{fileName:C,lineNumber:278,columnNumber:64},this)}var P={kinds:[`cidr`],Page:M,Inline:N,Value:O};function F({field:e,value:t,onChange:n}){let r=p(e),i=t===``?``:Number(t),[a,o]=(0,_.useState)(()=>i!==``&&Number(i)>0?m(Number(i),r)[0]:e.hints.unit??`GB`),s=f(r,a),c=i===``?``:Number((Number(i)/s).toFixed(4)),u=e=>Math.round(e*s);return(0,S.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,S.jsxDEV)(d,{type:`number`,className:`flex-1 min-w-0`,min:0,value:c,onChange:e=>n(e.target.value===``?``:String(u(Number(e.target.value))))},void 0,!1,{fileName:C,lineNumber:301,columnNumber:7},this),(0,S.jsxDEV)(l,{value:a,onChange:o,items:g[r].map(([e])=>({value:e,title:e})),triggerClassName:`w-24 justify-between gap-1 px-2 font-normal`},void 0,!1,{fileName:C,lineNumber:308,columnNumber:7},this)]},void 0,!0,{fileName:C,lineNumber:300,columnNumber:5},this)}function I({value:e,system:t}){let n=h(e,t);return n?(0,S.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:C,lineNumber:323,columnNumber:14},this):(0,S.jsxDEV)(s,{},void 0,!1,{fileName:C,lineNumber:323,columnNumber:33},this)}function L(e){let t=p(e.field);return(0,S.jsxDEV)(a,{field:e.field,value:e.value,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,S.jsxDEV)(I,{value:e,system:t},void 0,!1,{fileName:C,lineNumber:339,columnNumber:20},this),edit:(t,n)=>(0,S.jsxDEV)(F,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:C,lineNumber:341,columnNumber:9},this)},void 0,!1,{fileName:C,lineNumber:329,columnNumber:5},this)}function R({field:e,value:t}){return(0,S.jsxDEV)(I,{value:t,system:p(e)},void 0,!1,{fileName:C,lineNumber:348,columnNumber:10},this)}var z=u({shelf:{library:`devices`,shelf:`network`},renderers:[j,P,{kinds:[`dataSize`],Page:L,Inline:R}],templates:{"devices.scan.summary":()=>n(()=>import(`./ScanSummary-xKGEaOS0.js`),__vite__mapDeps([0,1,2,3]))}});export{z as default};
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t}from"./i18n-vendor-T6EnJ_TL.js";import{p as n,t as r}from"./react-vendor-CzSUaSLk.js";import{En as i,Tn as a,Y as o,it as s,tn as c,wn as l}from"./src-Knjj_T92.js";import{n as u}from"./plugin-ui-CKd6q8ec.js";import{t as d}from"./input-DqF3I-kT.js";import{a as f,c as p,n as m,o as h,t as g}from"./data-size-vn5A4kWS.js";var _=e(t(),1);function v(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 y(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function b(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=v(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function x(e){return`${y(e)}/${e.p}`}var S=r(),C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function w({value:e,onChange:t,parse:n,format:r,placeholder:i}){let a=(0,_.useMemo)(()=>{if(e&&typeof e==`object`)return e;if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}},[e]),o=typeof e==`string`?e:``,[s,c]=(0,_.useState)(a?r(a):o);(0,_.useEffect)(()=>{c(a?r(a):o)},[o,a]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,S.jsxDEV)(d,{value:s,placeholder:i,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:C,lineNumber:67,columnNumber:5},this)}function T(e,t){return(0,S.jsxDEV)(i,{items:c(e,[]),content:e=>{let n=typeof e==`string`?c(e,null):e;return n&&typeof n==`object`?t(n):String(e)}},void 0,!1,{fileName:C,lineNumber:84,columnNumber:5},this)}function E(e,t){let n=typeof e==`string`?c(e,null):e??null;if(n&&typeof n==`object`)return(0,S.jsxDEV)(`code`,{className:`font-mono text-sm`,children:t(n)},void 0,!1,{fileName:C,lineNumber:103,columnNumber:46},this);let r=String(e??``);return r?(0,S.jsxDEV)(`span`,{className:`text-muted`,children:r},void 0,!1,{fileName:C,lineNumber:105,columnNumber:16},this):(0,S.jsxDEV)(a,{},void 0,!1,{fileName:C,lineNumber:105,columnNumber:60},this)}function D({value:e}){return E(e,y)}function O({value:e}){return E(e,x)}function k(e){return(0,S.jsxDEV)(o,{field:e.field,value:e.value,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?T(t,e=>y(e)):(()=>{let e=c(t,null);if(e)return(0,S.jsxDEV)(`code`,{className:`font-mono text-sm`,children:y(e)},void 0,!1,{fileName:C,lineNumber:132,columnNumber:34},this);let n=String(t??``);return n?(0,S.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:C,lineNumber:134,columnNumber:28},this):(0,S.jsxDEV)(a,{},void 0,!1,{fileName:C,lineNumber:134,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,S.jsxDEV)(s,{value:String(t),onChange:n,validate:e=>v(e.trim())!==null,serialize:e=>{let t=v(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return y(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,S.jsxDEV)(d,{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:C,lineNumber:155,columnNumber:15},this)},void 0,!1,{fileName:C,lineNumber:139,columnNumber:11},this):(0,S.jsxDEV)(w,{value:t,onChange:n,parse:v,format:y,placeholder:`192.168.1.1`},void 0,!1,{fileName:C,lineNumber:170,columnNumber:11},this)},void 0,!1,{fileName:C,lineNumber:118,columnNumber:5},this)}function A({value:e}){let t=null;try{t=y(JSON.parse(String(e)))}catch{t=null}return t===null?(0,S.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:C,lineNumber:192,columnNumber:26},this):(0,S.jsxDEV)(`span`,{className:`truncate font-mono`,children:t},void 0,!1,{fileName:C,lineNumber:192,columnNumber:64},this)}var j={kinds:[`ip`],Page:k,Inline:A,Value:D};function M(e){return(0,S.jsxDEV)(o,{field:e.field,value:e.value,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?T(t,e=>x(e)):(()=>{let e=c(t,null);if(e)return(0,S.jsxDEV)(`code`,{className:`font-mono text-sm`,children:x(e)},void 0,!1,{fileName:C,lineNumber:218,columnNumber:34},this);let n=String(t??``);return n?(0,S.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:C,lineNumber:220,columnNumber:28},this):(0,S.jsxDEV)(a,{},void 0,!1,{fileName:C,lineNumber:220,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,S.jsxDEV)(s,{value:String(t),onChange:n,validate:e=>b(e.trim())!==null,serialize:e=>{let t=b(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return x(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,S.jsxDEV)(d,{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:C,lineNumber:241,columnNumber:15},this)},void 0,!1,{fileName:C,lineNumber:225,columnNumber:11},this):(0,S.jsxDEV)(w,{value:t,onChange:n,parse:b,format:x,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:C,lineNumber:256,columnNumber:11},this)},void 0,!1,{fileName:C,lineNumber:204,columnNumber:5},this)}function N({value:e}){let t=null;try{t=x(JSON.parse(String(e)))}catch{t=null}return t===null?(0,S.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:C,lineNumber:278,columnNumber:26},this):(0,S.jsxDEV)(`span`,{className:`truncate font-mono`,children:t},void 0,!1,{fileName:C,lineNumber:278,columnNumber:64},this)}var P={kinds:[`cidr`],Page:M,Inline:N,Value:O};function F({field:e,value:t,onChange:n}){let r=p(e),i=t===``?``:Number(t),[a,o]=(0,_.useState)(()=>i!==``&&Number(i)>0?m(Number(i),r)[0]:e.hints.unit??`GB`),s=f(r,a),c=i===``?``:Number((Number(i)/s).toFixed(4)),u=e=>Math.round(e*s);return(0,S.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,S.jsxDEV)(d,{type:`number`,className:`flex-1 min-w-0`,min:0,value:c,onChange:e=>n(e.target.value===``?``:String(u(Number(e.target.value))))},void 0,!1,{fileName:C,lineNumber:301,columnNumber:7},this),(0,S.jsxDEV)(l,{value:a,onChange:o,items:g[r].map(([e])=>({value:e,title:e})),triggerClassName:`w-24 justify-between gap-1 px-2 font-normal`},void 0,!1,{fileName:C,lineNumber:308,columnNumber:7},this)]},void 0,!0,{fileName:C,lineNumber:300,columnNumber:5},this)}function I({value:e,system:t}){let n=h(e,t);return n?(0,S.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:C,lineNumber:323,columnNumber:14},this):(0,S.jsxDEV)(a,{},void 0,!1,{fileName:C,lineNumber:323,columnNumber:33},this)}function L(e){let t=p(e.field);return(0,S.jsxDEV)(o,{field:e.field,value:e.value,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,S.jsxDEV)(I,{value:e,system:t},void 0,!1,{fileName:C,lineNumber:339,columnNumber:20},this),edit:(t,n)=>(0,S.jsxDEV)(F,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:C,lineNumber:341,columnNumber:9},this)},void 0,!1,{fileName:C,lineNumber:329,columnNumber:5},this)}function R({field:e,value:t}){return(0,S.jsxDEV)(I,{value:t,system:p(e)},void 0,!1,{fileName:C,lineNumber:348,columnNumber:10},this)}var z=u({shelf:{library:`devices`,shelf:`network`},renderers:[j,P,{kinds:[`dataSize`],Page:L,Inline:R}],templates:{"devices.scan.summary":()=>n(()=>import(`./ScanSummary-xKGEaOS0.js`),__vite__mapDeps([0,1,2,3]))}});export{z as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GeoMap-B1DFGu6_.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-CzSUaSLk.js","assets/GeoMap-vh-t_kPv.css"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{p as r,r as i,t as a,u as o}from"./react-vendor-CzSUaSLk.js";import{Ct as s,E as c,Ht as l,Mt as u,Sr as d,Ut as f,Z as p,gr as m}from"./src-Knjj_T92.js";import{x as h}from"./fields-Jjh-UJY7.js";import{l as g,r as _}from"./shelf-CSNyp10v.js";import{n as v}from"./plugin-ui-CKd6q8ec.js";import{r as y,t as b}from"./input-DqF3I-kT.js";import{l as x}from"./phone-input-vooQJZf_.js";var S=y(`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`}]]),C=e(t(),1);function w(e,t){return Math.floor((e+180)/360*2**t)}function T(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 E(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${w(t,n)}/${T(e,n)}.png`}function D(e){let t=h(e.parts??[]);return{latKey:t.lat??`lat`,lngKey:t.lng??`lng`,labelKey:t.label??`label`}}function O(e,t){let{latKey:n,lngKey:r,labelKey:i}=D(t),a=e&&typeof e==`object`?e:(()=>{try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:null}catch{return null}})();return a?{lat:a[n],lng:a[r],label:a[i]}:{}}var k=e=>Number(e.toFixed(6)),A=(e,t)=>{if(e.lat==null&&e.lng==null&&!e.label)return``;let{latKey:n,lngKey:r,labelKey:i}=D(t);return{[n]:e.lat,[r]:e.lng,[i]:e.label}},j=a(),M=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`;function N(e){return e.lat!=null||e.lng!=null||e.label!=null}var P=(0,C.lazy)(()=>r(()=>import(`./GeoMap-B1DFGu6_.js`),__vite__mapDeps([0,1,2,3,4])));function F({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,j.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,j.jsxDEV)(d,{size:16},void 0,!1,{fileName:M,lineNumber:31,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:M,lineNumber:26,columnNumber:7},this):(0,j.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,j.jsxDEV)(`img`,{src:E(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:M,lineNumber:42,columnNumber:7},this),(0,j.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:M,lineNumber:43,columnNumber:7},this)]},void 0,!0,{fileName:M,lineNumber:36,columnNumber:5},this)}function I({field:e,value:t,commit:r,editable:i,label:a,onClose:o}){let{t:s}=n(),[c,d]=(0,C.useState)(``),[f,h]=(0,C.useState)(!1),g=e=>e===``?void 0:Number(e),_=e.parts?.find(e=>e.role===`lat`),v=e.parts?.find(e=>e.role===`lng`),y=_!=null&&_.mode!==`stored`||v!=null&&v.mode!==`stored`,w=e.parts?.find(e=>e.role===`label`),T=w!=null&&w.mode!==`stored`,E=i&&!y,{draft:D,setDraft:F,save:I,clear:L,clearable:R,error:z,busy:B}=p({field:e,seed:t,commit:r??(async()=>void 0),remove:i&&!e.required&&N(O(t,e))?()=>``:void 0,onDone:o}),V=(0,C.useMemo)(()=>O(D,e),[D,e]),H=t=>F(A(t,e));function U(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>H({...V,lat:k(e.coords.latitude),lng:k(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function W(){if(c.trim()){h(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(c)}`)).json();Array.isArray(e)&&e[0]&&H({lat:k(+e[0].lat),lng:k(+e[0].lon),label:V.label||e[0].display_name})}catch{}h(!1)}}return(0,j.jsxDEV)(u,{open:!0,onOpenChange:e=>!e&&o(),title:a,children:(0,j.jsxDEV)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[E&&(0,j.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxDEV)(b,{placeholder:s(`geo.searchPlaceholder`),value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),W())},className:`flex-1`},void 0,!1,{fileName:M,lineNumber:131,columnNumber:13},this),(0,j.jsxDEV)(x,{type:`button`,variant:`secondary`,size:`icon`,disabled:f,onClick:W,title:s(`geo.search`),children:(0,j.jsxDEV)(m,{size:16},void 0,!1,{fileName:M,lineNumber:151,columnNumber:15},this)},void 0,!1,{fileName:M,lineNumber:143,columnNumber:13},this),(0,j.jsxDEV)(x,{type:`button`,variant:`secondary`,size:`icon`,onClick:U,title:s(`geo.myLocation`),children:(0,j.jsxDEV)(S,{size:16},void 0,!1,{fileName:M,lineNumber:154,columnNumber:15},this)},void 0,!1,{fileName:M,lineNumber:153,columnNumber:13},this)]},void 0,!0,{fileName:M,lineNumber:130,columnNumber:11},this),(0,j.jsxDEV)(C.Suspense,{fallback:(0,j.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-surface/40`},void 0,!1,{fileName:M,lineNumber:158,columnNumber:29},this),children:(0,j.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,j.jsxDEV)(P,{lat:V.lat,lng:V.lng,interactive:E,onPick:E?(e,t)=>H({...V,lat:e,lng:t}):void 0},void 0,!1,{fileName:M,lineNumber:160,columnNumber:13},this)},void 0,!1,{fileName:M,lineNumber:159,columnNumber:11},this)},void 0,!1,{fileName:M,lineNumber:158,columnNumber:9},this),(0,j.jsxDEV)(l,{error:z},void 0,!1,{fileName:M,lineNumber:168,columnNumber:9},this),i?(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,j.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[y?(0,j.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:V.lat??`—`},void 0,!1,{fileName:M,lineNumber:174,columnNumber:17},this):(0,j.jsxDEV)(b,{type:`number`,step:`any`,placeholder:`lat`,value:V.lat??``,onChange:e=>H({...V,lat:g(e.target.value)})},void 0,!1,{fileName:M,lineNumber:178,columnNumber:17},this),y?(0,j.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:V.lng??`—`},void 0,!1,{fileName:M,lineNumber:187,columnNumber:17},this):(0,j.jsxDEV)(b,{type:`number`,step:`any`,placeholder:`lng`,value:V.lng??``,onChange:e=>H({...V,lng:g(e.target.value)})},void 0,!1,{fileName:M,lineNumber:191,columnNumber:17},this),T?(0,j.jsxDEV)(`div`,{className:`flex h-9 items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:V.label??`—`},void 0,!1,{fileName:M,lineNumber:200,columnNumber:17},this):(0,j.jsxDEV)(b,{placeholder:s(`geo.label`),value:V.label??``,onChange:e=>H({...V,label:e.target.value||void 0})},void 0,!1,{fileName:M,lineNumber:204,columnNumber:17},this)]},void 0,!0,{fileName:M,lineNumber:172,columnNumber:13},this),R&&(0,j.jsxDEV)(x,{type:`button`,variant:`destructiveOutline`,disabled:B,onClick:()=>void L(),className:`sm:self-auto`,children:s(`actions.clear`)},void 0,!1,{fileName:M,lineNumber:212,columnNumber:15},this),(0,j.jsxDEV)(x,{type:`button`,disabled:B,onClick:()=>void I(),className:`sm:self-auto`,children:s(`actions.save`)},void 0,!1,{fileName:M,lineNumber:222,columnNumber:13},this)]},void 0,!0,{fileName:M,lineNumber:170,columnNumber:11},this):V.lat!=null&&V.lng!=null&&(0,j.jsxDEV)(`a`,{className:`text-sm text-accent hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${V.lat}&mlon=${V.lng}#map=15/${V.lat}/${V.lng}`,children:V.label??`${V.lat.toFixed(5)}, ${V.lng?.toFixed(5)}`},void 0,!1,{fileName:M,lineNumber:229,columnNumber:13},this)]},void 0,!0,{fileName:M,lineNumber:128,columnNumber:7},this)},void 0,!1,{fileName:M,lineNumber:127,columnNumber:5},this)}function L({field:e,value:t,commit:n,editable:r,label:i}){let a=(0,C.useMemo)(()=>O(t,e),[t,e]),[o,s]=(0,C.useState)(!1);return(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsxDEV)(F,{g:a,onOpen:()=>s(!0)},void 0,!1,{fileName:M,lineNumber:261,columnNumber:7},this),a.label&&(0,j.jsxDEV)(`span`,{className:`truncate text-xs text-muted`,children:a.label},void 0,!1,{fileName:M,lineNumber:262,columnNumber:19},this),o&&(0,j.jsxDEV)(I,{field:e,value:t,commit:n,editable:r,label:i,onClose:()=>s(!1)},void 0,!1,{fileName:M,lineNumber:264,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:260,columnNumber:5},this)}function R(e){let t=s(),n=t?.writable?t.write:void 0,r=!!n&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),i=(0,j.jsxDEV)(L,{field:e.field,value:e.value,commit:n,editable:r,label:e.label},void 0,!1,{fileName:M,lineNumber:281,columnNumber:16},this);return e.bare?i:(0,j.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,j.jsxDEV)(f,{label:e.label,required:e.required},void 0,!1,{fileName:M,lineNumber:285,columnNumber:33},this),i,(0,j.jsxDEV)(l,{error:e.error},void 0,!1,{fileName:M,lineNumber:287,columnNumber:7},this)]},void 0,!0,{fileName:M,lineNumber:284,columnNumber:5},this)}function z({value:e,field:t}){let n=O(e,t);return(0,j.jsxDEV)(`span`,{className:`truncate`,children:n.label??(n.lat==null?`—`:`${n.lat.toFixed(3)}, ${n.lng?.toFixed(3)}`)},void 0,!1,{fileName:M,lineNumber:295,columnNumber:5},this)}var B={kinds:[`geo`],editor:`own`,Page:R,Inline:z};function V(e,t){let n=g(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function H(e,t){let n=V(e,t);return n.length===1?n[0]:null}function U(e,t){let n=g(e.fields),r=t[0];if(!r||!n[r])return`views.list: shelf has no text field for its title (titleKey fell back to "id")`;let i=V(e,t);return i.length===0?`views.list does not contain a kind:"geo" field`:i.length>1?`views.list contains multiple geo fields: ${i.join(`, `)}`:null}var W=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,G=(0,C.lazy)(()=>r(()=>import(`./GeoMap-B1DFGu6_.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function K({rows:e,shelf:t,keys:r,hrefBase:a}){let{t:s}=n(),l=o(),[u,d]=(0,C.useState)(!1),f=g(t.fields),p=H(t,r),m=r[0],{points:h,without:v}=(0,C.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=p?_(f[p],p,r):void 0;e&&typeof e.lat==`number`&&typeof e.lng==`number`?t.push({id:String(r.id),lat:e.lat,lng:e.lng,title:String(_(f[m],m,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,p,m,f]);return(0,j.jsxDEV)(`div`,{className:`p-4`,children:[(0,j.jsxDEV)(C.Suspense,{fallback:(0,j.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:W,lineNumber:48,columnNumber:27},this),children:(0,j.jsxDEV)(G,{points:h,onPick:e=>l(`${a}/${e}`)},void 0,!1,{fileName:W,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:48,columnNumber:7},this),v.length>0&&(0,j.jsxDEV)(`div`,{className:`mt-3`,children:[(0,j.jsxDEV)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`text-sm text-muted hover:text-text transition-colors`,children:s(`geo.withoutCoords`,{count:v.length})},void 0,!1,{fileName:W,lineNumber:53,columnNumber:11},this),u&&(0,j.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:v.map(e=>(0,j.jsxDEV)(`li`,{children:(0,j.jsxDEV)(i,{to:`${a}/${e.id}`,className:`text-sm text-text hover:text-accent`,children:(0,j.jsxDEV)(c,{field:f[m],value:_(f[m],m,e)},void 0,!1,{fileName:W,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:W,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:W,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:W,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:W,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:W,lineNumber:47,columnNumber:5},this)}var q=v({renderers:[B],listViews:[{kind:`map`,View:K,check:U}],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{q as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatWidget-qpAe26bF.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-CzSUaSLk.js","assets/src-54Qdjl2W.js","assets/fields-BtCN_frr.js","assets/shelf-CRUDKiTz.js","assets/input-DqF3I-kT.js","assets/phone-input-vooQJZf_.js","assets/ui-vendor-C79K_wDx.js","assets/icons-BTbA1N7a.js","assets/popover-DjWMp23y.js","assets/development-olQNibq5.js","assets/file-text-DzYzGxiY.js","assets/plugin-ui-CKd6q8ec.js","assets/lib-DU7Qh2A4.js"])))=>i.map(i=>d[i]);
2
- import{p as e}from"./react-vendor-CzSUaSLk.js";import"./src-54Qdjl2W.js";import{n as t}from"./plugin-ui-CKd6q8ec.js";var n=t({slots:[{slot:`overlay`,id:`webchat`,load:()=>e(()=>import(`./ChatWidget-qpAe26bF.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))}]});export{n as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatWidget-CcRBpH3R.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-CzSUaSLk.js","assets/src-Knjj_T92.js","assets/fields-Jjh-UJY7.js","assets/shelf-CSNyp10v.js","assets/input-DqF3I-kT.js","assets/phone-input-vooQJZf_.js","assets/ui-vendor-C79K_wDx.js","assets/icons-BTbA1N7a.js","assets/popover-DjWMp23y.js","assets/development-olQNibq5.js","assets/file-text-DzYzGxiY.js","assets/plugin-ui-CKd6q8ec.js","assets/lib-DU7Qh2A4.js"])))=>i.map(i=>d[i]);
2
+ import{p as e}from"./react-vendor-CzSUaSLk.js";import"./src-Knjj_T92.js";import{n as t}from"./plugin-ui-CKd6q8ec.js";var n=t({slots:[{slot:`overlay`,id:`webchat`,load:()=>e(()=>import(`./ChatWidget-CcRBpH3R.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))}]});export{n as default};
package/dist/index.html CHANGED
@@ -38,31 +38,31 @@
38
38
  }
39
39
  }
40
40
  </script>
41
- <script type="module" crossorigin src="/assets/index-CHlM3CU9.js"></script>
41
+ <script type="module" crossorigin src="/assets/index-C8u7wCxS.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-CzSUaSLk.js">
45
- <link rel="modulepreload" crossorigin href="/assets/fields-BtCN_frr.js">
46
- <link rel="modulepreload" crossorigin href="/assets/shelf-CRUDKiTz.js">
45
+ <link rel="modulepreload" crossorigin href="/assets/fields-Jjh-UJY7.js">
46
+ <link rel="modulepreload" crossorigin href="/assets/shelf-CSNyp10v.js">
47
47
  <link rel="modulepreload" crossorigin href="/assets/input-DqF3I-kT.js">
48
48
  <link rel="modulepreload" crossorigin href="/assets/icons-BTbA1N7a.js">
49
49
  <link rel="modulepreload" crossorigin href="/assets/ui-vendor-C79K_wDx.js">
50
50
  <link rel="modulepreload" crossorigin href="/assets/phone-input-vooQJZf_.js">
51
51
  <link rel="modulepreload" crossorigin href="/assets/popover-DjWMp23y.js">
52
52
  <link rel="modulepreload" crossorigin href="/assets/development-olQNibq5.js">
53
- <link rel="modulepreload" crossorigin href="/assets/src-54Qdjl2W.js">
53
+ <link rel="modulepreload" crossorigin href="/assets/src-Knjj_T92.js">
54
54
  <link rel="modulepreload" crossorigin href="/assets/plugin-ui-CKd6q8ec.js">
55
55
  <link rel="modulepreload" crossorigin href="/assets/file-text-DzYzGxiY.js">
56
56
  <link rel="modulepreload" crossorigin href="/assets/arrow-left-5G0O-4HL.js">
57
- <link rel="modulepreload" crossorigin href="/assets/ThemeSwitcher-CADoC9xw.js">
57
+ <link rel="modulepreload" crossorigin href="/assets/ThemeSwitcher-CCPeX0on.js">
58
58
  <link rel="modulepreload" crossorigin href="/assets/markdown-vendor-CtaBI5gJ.js">
59
- <link rel="modulepreload" crossorigin href="/assets/extend-BTkr7oJ8.js">
59
+ <link rel="modulepreload" crossorigin href="/assets/extend-6QQ6MEex.js">
60
60
  <link rel="modulepreload" crossorigin href="/assets/plugin-CFEkHH3f.js">
61
- <link rel="modulepreload" crossorigin href="/assets/list-cache-D1eUf-Pp.js">
61
+ <link rel="modulepreload" crossorigin href="/assets/list-cache-S_FIVA3K.js">
62
62
  <link rel="modulepreload" crossorigin href="/assets/api-ChM6smRq.js">
63
63
  <link rel="modulepreload" crossorigin href="/assets/auth-context-CGdGFadP.js">
64
- <link rel="modulepreload" crossorigin href="/assets/SettingsForm-BAjKJ1MR.js">
65
- <link rel="stylesheet" crossorigin href="/assets/index-KdG4mu3z.css">
64
+ <link rel="modulepreload" crossorigin href="/assets/SettingsForm-CH6BLi3D.js">
65
+ <link rel="stylesheet" crossorigin href="/assets/index-Bb-PJE_y.css">
66
66
  </head>
67
67
  <body>
68
68
  <div id="root"></div>