@coffer-org/web 7.4.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (725) hide show
  1. package/dist/assets/ChatWidget-CLPg1SxK.js +90 -0
  2. package/dist/assets/DiagnosticsPage-DHIekD7O.js +1 -0
  3. package/dist/assets/GeoMap-D1ITCEvC.js +4 -0
  4. package/dist/assets/GeoMap-DvTUgzRd.css +661 -0
  5. package/dist/assets/NewRecordView-ypC2MiHy.js +1 -0
  6. package/dist/assets/PluginSettingsPage-CgEPe_jp.js +1 -0
  7. package/dist/assets/ScanSummary-BRELNnQZ.js +1 -0
  8. package/dist/assets/SettingsPage-CBdCKDm9.js +3 -0
  9. package/dist/assets/ThemeSwitcher-DoDwMSvt.js +21 -0
  10. package/dist/assets/api-CtTqq37J.js +1 -0
  11. package/dist/assets/auth-context-B7spbfSH.js +1 -0
  12. package/dist/assets/check-DSh5VTB0.js +6 -0
  13. package/dist/assets/compat-nvzWPAqF.js +1 -0
  14. package/dist/assets/createLucideIcon-0HK7VRhx.js +46 -0
  15. package/dist/assets/data-size-B_xeY3eQ.js +1 -0
  16. package/dist/assets/ical-BRrjpmRX.js +8 -0
  17. package/dist/assets/ilamy-view-CF9TS3xK.js +97 -0
  18. package/dist/assets/index-CBgj-dC3.css +10528 -0
  19. package/dist/assets/index-wtYuweqc.js +33 -0
  20. package/dist/assets/instance-CqF1ziBF.js +1 -0
  21. package/dist/assets/list-cache-DR8308dv.js +1 -0
  22. package/dist/assets/plugin-label-4X6iMcoh.js +1 -0
  23. package/dist/assets/preload-helper-DxWiKyOd.js +1 -0
  24. package/dist/assets/rolldown-runtime-B-1-B7_t.js +1 -0
  25. package/dist/assets/rotate-ccw-Cbig43Yp.js +21 -0
  26. package/dist/assets/rule-form-DY07mdut.js +1 -0
  27. package/dist/assets/schemas-Ddd48n1f.js +64 -0
  28. package/dist/assets/search-C7459FQa.js +6 -0
  29. package/dist/assets/src--TsXaQH2.js +1 -0
  30. package/dist/assets/src-B1GPEuhd.js +1 -0
  31. package/dist/assets/src-B2K2G_F62.js +1 -0
  32. package/dist/assets/src-BPc81uCu2.js +1 -0
  33. package/dist/assets/src-BXuWmEvN.js +1 -0
  34. package/dist/assets/src-BtrXVtpQ2.js +1 -0
  35. package/dist/assets/src-C12PVUBK.js +1 -0
  36. package/dist/assets/src-C1J8QrZx2.js +1 -0
  37. package/dist/assets/src-CLxiQy4N.js +1 -0
  38. package/dist/assets/src-CZlLKZuO.js +1 -0
  39. package/dist/assets/src-CgOvTEkQ.js +8 -0
  40. package/dist/assets/src-Chqh1dE0.js +1 -0
  41. package/dist/assets/src-Cma6wMwh2.js +1 -0
  42. package/dist/assets/src-CsBQ3OG5.js +1 -0
  43. package/dist/assets/src-CtRwEwa_2.js +1 -0
  44. package/dist/assets/src-CxZwGvOe.js +1 -0
  45. package/dist/assets/src-Cy8ITNFQ.js +1 -0
  46. package/dist/assets/src-CzL8eh1F.js +6 -0
  47. package/dist/assets/src-DHGaQhKT.js +1 -0
  48. package/dist/assets/src-DkeTKoaX.js +1 -0
  49. package/dist/assets/src-DotMprHS.js +6 -0
  50. package/dist/assets/src-DsJtEHxm.js +2 -0
  51. package/dist/assets/src-DvgJTIq7.js +1 -0
  52. package/dist/assets/src-KzYtcixM.js +1 -0
  53. package/dist/assets/src-YvA87f32.js +1 -0
  54. package/dist/assets/src-bO9mBc4E.js +1 -0
  55. package/dist/assets/src-nwl88J0b.js +4 -0
  56. package/dist/assets/task_details-3QyVdhd4.js +1 -0
  57. package/dist/assets/ui-BFQOH3UM.js +66 -0
  58. package/dist/assets/ui-C0deEcCk2.js +1 -0
  59. package/dist/assets/ui-C3DdDmuH.js +11 -0
  60. package/dist/assets/ui-CdfnLrpu.js +1 -0
  61. package/dist/assets/ui-vendor-Dz7FZUpP.js +41 -0
  62. package/dist/assets/x-Tw9OswUb.js +6 -0
  63. package/dist/index.html +101 -30
  64. package/dist-vendor/assets/MarkdownEditor-DEp3OKtv.js +191 -0
  65. package/dist-vendor/assets/Separator-BMm-ftCU.js +1 -0
  66. package/dist-vendor/assets/ae-CZRtWSox.svg +6 -0
  67. package/dist-vendor/assets/ae-CnWpkG7H.svg +6 -0
  68. package/dist-vendor/assets/ag-B50eCdjH.svg +14 -0
  69. package/dist-vendor/assets/ag-C8MykuG2.svg +14 -0
  70. package/dist-vendor/assets/ai-BhrGqTjA.svg +29 -0
  71. package/dist-vendor/assets/ai-Dmedkf4v.svg +29 -0
  72. package/dist-vendor/assets/al-10QRkakw.svg +5 -0
  73. package/dist-vendor/assets/al-CxA7yomf.svg +5 -0
  74. package/dist-vendor/assets/am-Brwuaa2u.svg +5 -0
  75. package/dist-vendor/assets/am-DMt4_dd4.svg +5 -0
  76. package/dist-vendor/assets/ao-CAGuVnyg.svg +13 -0
  77. package/dist-vendor/assets/ao-tXuRa6vm.svg +13 -0
  78. package/dist-vendor/assets/aq-CF5jO-0h.svg +5 -0
  79. package/dist-vendor/assets/aq-UDjN-zV6.svg +5 -0
  80. package/dist-vendor/assets/ar-Be8Ju1cG.svg +32 -0
  81. package/dist-vendor/assets/ar-NyCpd6W6.svg +32 -0
  82. package/dist-vendor/assets/asean-CmuWHvfA.svg +13 -0
  83. package/dist-vendor/assets/asean-WMtZ-US_.svg +13 -0
  84. package/dist-vendor/assets/at-D-LsLSdx.svg +4 -0
  85. package/dist-vendor/assets/at-DGA_6m5E.svg +4 -0
  86. package/dist-vendor/assets/au-DAHDIuPI.svg +8 -0
  87. package/dist-vendor/assets/au-kL8f0uMB.svg +8 -0
  88. package/dist-vendor/assets/ax-DvLIy84U.svg +18 -0
  89. package/dist-vendor/assets/ax-wECm_RRW.svg +18 -0
  90. package/dist-vendor/assets/az-Bk-bYNxy.svg +8 -0
  91. package/dist-vendor/assets/az-z2IthT8Q.svg +8 -0
  92. package/dist-vendor/assets/ba-CiiOt6u0.svg +12 -0
  93. package/dist-vendor/assets/ba-WdDiSMvP.svg +12 -0
  94. package/dist-vendor/assets/bb-DC5IaaX4.svg +6 -0
  95. package/dist-vendor/assets/bb-DJxbaxmT.svg +6 -0
  96. package/dist-vendor/assets/bd-BF9t1-60.svg +4 -0
  97. package/dist-vendor/assets/bd-DvPoLH3C.svg +4 -0
  98. package/dist-vendor/assets/be-CLLkK3PN.svg +7 -0
  99. package/dist-vendor/assets/be-Dtq4MkQz.svg +7 -0
  100. package/dist-vendor/assets/bf-DCbfaYlw.svg +7 -0
  101. package/dist-vendor/assets/bf-YclsoDuF.svg +7 -0
  102. package/dist-vendor/assets/bg-GUQenraa.svg +5 -0
  103. package/dist-vendor/assets/bg-cWragUdK.svg +5 -0
  104. package/dist-vendor/assets/bh-BQqEGq6F.svg +4 -0
  105. package/dist-vendor/assets/bh-DgfmyT2n.svg +4 -0
  106. package/dist-vendor/assets/bi-C8Dazs_i.svg +15 -0
  107. package/dist-vendor/assets/bi-CRmKY6RQ.svg +15 -0
  108. package/dist-vendor/assets/bj-14PhO9bM.svg +14 -0
  109. package/dist-vendor/assets/bj-BOF1aYv0.svg +14 -0
  110. package/dist-vendor/assets/bl-4CI2YcwX.svg +5 -0
  111. package/dist-vendor/assets/bl-Ci30-2xD.svg +7 -0
  112. package/dist-vendor/assets/bq-BYpdxEeT.svg +5 -0
  113. package/dist-vendor/assets/bq-SWpsjb2t.svg +5 -0
  114. package/dist-vendor/assets/bs-7Gd_oriM.svg +13 -0
  115. package/dist-vendor/assets/bs-CcXnDJaD.svg +13 -0
  116. package/dist-vendor/assets/bv-Jqog7euh.svg +13 -0
  117. package/dist-vendor/assets/bv-wM9JLv4R.svg +13 -0
  118. package/dist-vendor/assets/bw-DOFTOZyN.svg +7 -0
  119. package/dist-vendor/assets/bw-n5ZaAnGL.svg +7 -0
  120. package/dist-vendor/assets/by-C621sBpd.svg +18 -0
  121. package/dist-vendor/assets/by-u4o0VQKP.svg +18 -0
  122. package/dist-vendor/assets/ca-B8J8Wc6a.svg +4 -0
  123. package/dist-vendor/assets/ca-PYUrLVUV.svg +4 -0
  124. package/dist-vendor/assets/cc-BNT6Xjzk.svg +19 -0
  125. package/dist-vendor/assets/cc-Bl3UDHUt.svg +19 -0
  126. package/dist-vendor/assets/cd-BGclsrP6.svg +5 -0
  127. package/dist-vendor/assets/cd-CwCQH0-t.svg +12 -0
  128. package/dist-vendor/assets/cefta-2dDBYygd.svg +13 -0
  129. package/dist-vendor/assets/cefta-CdOByeeI.svg +13 -0
  130. package/dist-vendor/assets/cf-CvgcTRoz.svg +15 -0
  131. package/dist-vendor/assets/cf-DRetLmp-.svg +15 -0
  132. package/dist-vendor/assets/cg-CwIyG6SE.svg +12 -0
  133. package/dist-vendor/assets/cg-DxMYgdKd.svg +12 -0
  134. package/dist-vendor/assets/ch-Do8WoVrp.svg +9 -0
  135. package/dist-vendor/assets/ch-sfriZoF1.svg +9 -0
  136. package/dist-vendor/assets/chunk-KS7C4IRE-CUOVp-bd.js +34 -0
  137. package/dist-vendor/assets/ci-C8Q8IYTn.svg +7 -0
  138. package/dist-vendor/assets/ci-Cn5asHD7.svg +7 -0
  139. package/dist-vendor/assets/ck-DfXMUOTo.svg +9 -0
  140. package/dist-vendor/assets/ck-VjQ-vT4C.svg +9 -0
  141. package/dist-vendor/assets/cl-B2rf9gTF.svg +13 -0
  142. package/dist-vendor/assets/cl-BgYYb4qP.svg +13 -0
  143. package/dist-vendor/assets/cm-B0XEK3Gu.svg +15 -0
  144. package/dist-vendor/assets/cm-D4yjdmKT.svg +15 -0
  145. package/dist-vendor/assets/cn-DifnnI3t.svg +11 -0
  146. package/dist-vendor/assets/cn-sZmOitVP.svg +11 -0
  147. package/dist-vendor/assets/co-BRjxMuCM.svg +7 -0
  148. package/dist-vendor/assets/co-DV591zMm.svg +7 -0
  149. package/dist-vendor/assets/collection-diff-DfAYCE5v.js +64 -0
  150. package/dist-vendor/assets/cp-K_ay05Q_.svg +7 -0
  151. package/dist-vendor/assets/cp-k6oDAflT.svg +7 -0
  152. package/dist-vendor/assets/cr-BlYVN-_Q.svg +7 -0
  153. package/dist-vendor/assets/cr-CcuKkUIo.svg +7 -0
  154. package/dist-vendor/assets/cu-Bd4PmZCn.svg +13 -0
  155. package/dist-vendor/assets/cu-L6XVZNgo.svg +13 -0
  156. package/dist-vendor/assets/currencies-DKBTq4hu.js +1 -0
  157. package/dist-vendor/assets/cv-BYvkBxIi.svg +13 -0
  158. package/dist-vendor/assets/cv-CPsfcOfk.svg +13 -0
  159. package/dist-vendor/assets/cw-BbrnximR.svg +14 -0
  160. package/dist-vendor/assets/cw-DDrVSims.svg +14 -0
  161. package/dist-vendor/assets/cx-DpYD6n6U.svg +15 -0
  162. package/dist-vendor/assets/cx-zaaWd3zl.svg +15 -0
  163. package/dist-vendor/assets/cz-CgTuLLXv.svg +5 -0
  164. package/dist-vendor/assets/cz-WWBC5Aeb.svg +5 -0
  165. package/dist-vendor/assets/de-B-2o-4Z9.svg +5 -0
  166. package/dist-vendor/assets/de-D365bacb.svg +5 -0
  167. package/dist-vendor/assets/dist-BKeCzqrc.js +1 -0
  168. package/dist-vendor/assets/dj-C7tvpAUy.svg +13 -0
  169. package/dist-vendor/assets/dj-hp_BwbmO.svg +13 -0
  170. package/dist-vendor/assets/dk-2cglAULc.svg +5 -0
  171. package/dist-vendor/assets/dk-DmS9BCZB.svg +5 -0
  172. package/dist-vendor/assets/dz-Dytc1TFu.svg +5 -0
  173. package/dist-vendor/assets/dz-EwXBYPv9.svg +5 -0
  174. package/dist-vendor/assets/ee-B0tgUOEC.svg +5 -0
  175. package/dist-vendor/assets/ee-DufrxGIR.svg +5 -0
  176. package/dist-vendor/assets/eh-0awM4TVj.svg +16 -0
  177. package/dist-vendor/assets/eh-CsiwG8bE.svg +11 -0
  178. package/dist-vendor/assets/er-Cn365Y3V.svg +13 -0
  179. package/dist-vendor/assets/er-X83uml6t.svg +8 -0
  180. package/dist-vendor/assets/es-ct-CVyhLp7O.svg +4 -0
  181. package/dist-vendor/assets/es-ct-DdzobtBd.svg +4 -0
  182. package/dist-vendor/assets/es-pv-CO3NM2SE.svg +5 -0
  183. package/dist-vendor/assets/es-pv-DMotQiZd.svg +5 -0
  184. package/dist-vendor/assets/esm-DcxdDKtK.js +1 -0
  185. package/dist-vendor/assets/esm-DjwVeARy.js +23 -0
  186. package/dist-vendor/assets/esm-YFvMvTG9.css +1 -0
  187. package/dist-vendor/assets/et-DwdlzOIx.svg +14 -0
  188. package/dist-vendor/assets/et-cfPInayI.svg +14 -0
  189. package/dist-vendor/assets/eu-BE2G-Ars.svg +28 -0
  190. package/dist-vendor/assets/eu-Brdgz8ab.svg +28 -0
  191. package/dist-vendor/assets/fi-Brjq_KK6.svg +5 -0
  192. package/dist-vendor/assets/fi-DWUIkfjL.svg +5 -0
  193. package/dist-vendor/assets/flag-icons-CjdqQPWt.css +1 -0
  194. package/dist-vendor/assets/fm-B4Z83GL0.svg +11 -0
  195. package/dist-vendor/assets/fm-DwHuWFwM.svg +11 -0
  196. package/dist-vendor/assets/fo-ClIne8bc.svg +12 -0
  197. package/dist-vendor/assets/fo-DFjwyWur.svg +12 -0
  198. package/dist-vendor/assets/fr-C1eGzDWr.svg +5 -0
  199. package/dist-vendor/assets/fr-DVvUyOqI.svg +5 -0
  200. package/dist-vendor/assets/ga-BklUhLH_.svg +7 -0
  201. package/dist-vendor/assets/ga-CgNkrnfv.svg +7 -0
  202. package/dist-vendor/assets/gb-DSer7Jgn.svg +7 -0
  203. package/dist-vendor/assets/gb-DTXiLQoe.svg +7 -0
  204. package/dist-vendor/assets/gb-eng-C8iDhGHN.svg +5 -0
  205. package/dist-vendor/assets/gb-eng-DTHmDHq3.svg +5 -0
  206. package/dist-vendor/assets/gb-sct-D5L2FKKv.svg +4 -0
  207. package/dist-vendor/assets/gb-sct-fW5q01ek.svg +4 -0
  208. package/dist-vendor/assets/gd-CO-whzUe.svg +27 -0
  209. package/dist-vendor/assets/gd-m2vU81NR.svg +27 -0
  210. package/dist-vendor/assets/ge-B2RiL-Ih.svg +6 -0
  211. package/dist-vendor/assets/ge-DFOl98HB.svg +6 -0
  212. package/dist-vendor/assets/gf-DFQqfs-j.svg +5 -0
  213. package/dist-vendor/assets/gf-DWl5zcw0.svg +5 -0
  214. package/dist-vendor/assets/gg-jdOQS2nU.svg +9 -0
  215. package/dist-vendor/assets/gg-vhR8-Yxm.svg +9 -0
  216. package/dist-vendor/assets/gh-6yUjim7M.svg +6 -0
  217. package/dist-vendor/assets/gh-r3LP_X7q.svg +6 -0
  218. package/dist-vendor/assets/gi-BJKE9SzW.svg +32 -0
  219. package/dist-vendor/assets/gi-ZBwZ45zU.svg +32 -0
  220. package/dist-vendor/assets/gl-CHaBnMib.svg +4 -0
  221. package/dist-vendor/assets/gl-D6qP-fnE.svg +4 -0
  222. package/dist-vendor/assets/gm-Bu99atwn.svg +14 -0
  223. package/dist-vendor/assets/gm-DI7EpeCC.svg +9 -0
  224. package/dist-vendor/assets/gn-1dJNy9oQ.svg +7 -0
  225. package/dist-vendor/assets/gn-kt7YA1XT.svg +7 -0
  226. package/dist-vendor/assets/gp-BqGRs8a4.svg +5 -0
  227. package/dist-vendor/assets/gp-DNyt_wTA.svg +5 -0
  228. package/dist-vendor/assets/gr-C5PU0p9p.svg +16 -0
  229. package/dist-vendor/assets/gr-COThnT__.svg +16 -0
  230. package/dist-vendor/assets/group-field-DVQnXOEH.js +4 -0
  231. package/dist-vendor/assets/gw-BTWe96TV.svg +15 -0
  232. package/dist-vendor/assets/gw-D249VY33.svg +13 -0
  233. package/dist-vendor/assets/gy-CcVYUM2E.svg +9 -0
  234. package/dist-vendor/assets/gy-Dl6DrQIH.svg +9 -0
  235. package/dist-vendor/assets/hk-CUNIaSX0.svg +8 -0
  236. package/dist-vendor/assets/hk-omO_-Nil.svg +8 -0
  237. package/dist-vendor/assets/hm-Dh6t_Tj3.svg +8 -0
  238. package/dist-vendor/assets/hm-fgV6xItx.svg +8 -0
  239. package/dist-vendor/assets/hn-CRjyS_bm.svg +18 -0
  240. package/dist-vendor/assets/hn-GhlpqqjC.svg +18 -0
  241. package/dist-vendor/assets/hu-7Q5wwIIi.svg +7 -0
  242. package/dist-vendor/assets/hu-Bm8S5mAU.svg +7 -0
  243. package/dist-vendor/assets/i18next-HF060SlA.js +1 -0
  244. package/dist-vendor/assets/ic-CSo4d8tH.svg +7 -0
  245. package/dist-vendor/assets/ic-tiZZSA7Y.svg +7 -0
  246. package/dist-vendor/assets/id-CJiY5UnY.svg +4 -0
  247. package/dist-vendor/assets/id-DiSP6Fmm.svg +4 -0
  248. package/dist-vendor/assets/ie-ChAXClx3.svg +7 -0
  249. package/dist-vendor/assets/ie-DhxI4aJv.svg +7 -0
  250. package/dist-vendor/assets/il-CeFQotKl.svg +14 -0
  251. package/dist-vendor/assets/il-_56OEGLa.svg +14 -0
  252. package/dist-vendor/assets/in-BrINBvML.svg +25 -0
  253. package/dist-vendor/assets/in-Cdwu6Bq7.svg +25 -0
  254. package/dist-vendor/assets/index.dom-CA5INa_J.js +1 -0
  255. package/dist-vendor/assets/input-CbheVI3-.js +1 -0
  256. package/dist-vendor/assets/iq-CZIXYTmc.svg +10 -0
  257. package/dist-vendor/assets/iq-Dp8HDzo2.svg +10 -0
  258. package/dist-vendor/assets/is-CZjefTNV.svg +12 -0
  259. package/dist-vendor/assets/is-Cdq2ElPF.svg +12 -0
  260. package/dist-vendor/assets/it-Br7q0Zh6.svg +7 -0
  261. package/dist-vendor/assets/it-lvp2tGC_.svg +7 -0
  262. package/dist-vendor/assets/jm-CItSr3iX.svg +8 -0
  263. package/dist-vendor/assets/jm-CLL-w5oS.svg +8 -0
  264. package/dist-vendor/assets/jo-BAF1FGbm.svg +16 -0
  265. package/dist-vendor/assets/jo-CiGTAWEd.svg +16 -0
  266. package/dist-vendor/assets/jp-B5RfAVGb.svg +11 -0
  267. package/dist-vendor/assets/jp-BIMmfxpO.svg +11 -0
  268. package/dist-vendor/assets/jsx-runtime-By8HlURe.js +1 -0
  269. package/dist-vendor/assets/ke-C8foqndp.svg +23 -0
  270. package/dist-vendor/assets/ke-b02kYgZN.svg +23 -0
  271. package/dist-vendor/assets/km-B5tqtGG7.svg +16 -0
  272. package/dist-vendor/assets/km-D0jmlyBf.svg +16 -0
  273. package/dist-vendor/assets/kn-CHJJOZkG.svg +14 -0
  274. package/dist-vendor/assets/kn-DVPxDkNY.svg +14 -0
  275. package/dist-vendor/assets/kp-BsOq20Ii.svg +15 -0
  276. package/dist-vendor/assets/kp-CrDKzoxe.svg +15 -0
  277. package/dist-vendor/assets/kr-BCXH1Hao.svg +24 -0
  278. package/dist-vendor/assets/kr-KUIaWHQD.svg +17 -0
  279. package/dist-vendor/assets/kw-CIaYkhdM.svg +13 -0
  280. package/dist-vendor/assets/kw-fSBzmd30.svg +13 -0
  281. package/dist-vendor/assets/la-CuJflhIW.svg +12 -0
  282. package/dist-vendor/assets/la-cXlqIhGg.svg +12 -0
  283. package/dist-vendor/assets/lb-BSjpYEoo.svg +15 -0
  284. package/dist-vendor/assets/lb-DqFaKN7K.svg +15 -0
  285. package/dist-vendor/assets/lc-CNvab8Ae.svg +8 -0
  286. package/dist-vendor/assets/lc-DoQpaup4.svg +8 -0
  287. package/dist-vendor/assets/lr-B84vu3Ds.svg +14 -0
  288. package/dist-vendor/assets/lr-Zj2ZOITC.svg +14 -0
  289. package/dist-vendor/assets/ls-5Xk3Mxq5.svg +8 -0
  290. package/dist-vendor/assets/ls-B-MSA_Nj.svg +8 -0
  291. package/dist-vendor/assets/lt-CU4QmtZ-.svg +7 -0
  292. package/dist-vendor/assets/lt-DoukV-Sm.svg +7 -0
  293. package/dist-vendor/assets/lu-CCDqjGZj.svg +5 -0
  294. package/dist-vendor/assets/lu-DOI02Msy.svg +5 -0
  295. package/dist-vendor/assets/lv-C-KfY8Yc.svg +6 -0
  296. package/dist-vendor/assets/lv-DjyqV19Q.svg +6 -0
  297. package/dist-vendor/assets/ly-B0G7qBy-.svg +13 -0
  298. package/dist-vendor/assets/ly-BWpTK3ux.svg +13 -0
  299. package/dist-vendor/assets/ma-BNn_BSaU.svg +4 -0
  300. package/dist-vendor/assets/ma-BTRNTRUj.svg +4 -0
  301. package/dist-vendor/assets/mc-JhJMKfOk.svg +6 -0
  302. package/dist-vendor/assets/mc-PK078JHl.svg +6 -0
  303. package/dist-vendor/assets/mf-BaAGWwAq.svg +5 -0
  304. package/dist-vendor/assets/mf-DC-GBYih.svg +5 -0
  305. package/dist-vendor/assets/mg-C168LHXW.svg +7 -0
  306. package/dist-vendor/assets/mg-DDrNyYWg.svg +7 -0
  307. package/dist-vendor/assets/mh--hJdVdXy.svg +8 -0
  308. package/dist-vendor/assets/mh-gxuIp6Wk.svg +7 -0
  309. package/dist-vendor/assets/mk-Cx9Yf_ZD.svg +5 -0
  310. package/dist-vendor/assets/mk-D9SIMr-a.svg +5 -0
  311. package/dist-vendor/assets/ml-BBMGMlrT.svg +7 -0
  312. package/dist-vendor/assets/ml-DVf6ujpi.svg +7 -0
  313. package/dist-vendor/assets/mm-DB0gzm_2.svg +10 -0
  314. package/dist-vendor/assets/mm-lwT09MQ0.svg +12 -0
  315. package/dist-vendor/assets/mn-CNIDYiAG.svg +14 -0
  316. package/dist-vendor/assets/mn-CgXyw0O9.svg +14 -0
  317. package/dist-vendor/assets/mo-BAtCjuYA.svg +9 -0
  318. package/dist-vendor/assets/mo-CZPe8QjC.svg +9 -0
  319. package/dist-vendor/assets/mq-BFnJ22KI.svg +5 -0
  320. package/dist-vendor/assets/mq-Dt7FKNYb.svg +5 -0
  321. package/dist-vendor/assets/mr-Cqt475iO.svg +6 -0
  322. package/dist-vendor/assets/mr-D6G1wpeZ.svg +6 -0
  323. package/dist-vendor/assets/mu-B2mIIRce.svg +8 -0
  324. package/dist-vendor/assets/mu-mcq7cUFl.svg +8 -0
  325. package/dist-vendor/assets/mv-BXI4x8em.svg +6 -0
  326. package/dist-vendor/assets/mv-BynAllfM.svg +6 -0
  327. package/dist-vendor/assets/mw-C15nc1xZ.svg +10 -0
  328. package/dist-vendor/assets/mw-DkelfrL9.svg +15 -0
  329. package/dist-vendor/assets/my-BR3vHt6_.svg +18 -0
  330. package/dist-vendor/assets/my-Co4JeeyE.svg +26 -0
  331. package/dist-vendor/assets/mz-Bo6u1S_s.svg +21 -0
  332. package/dist-vendor/assets/mz-Drlr_USV.svg +21 -0
  333. package/dist-vendor/assets/na-0wFvily3.svg +16 -0
  334. package/dist-vendor/assets/na-D79ffb4Z.svg +16 -0
  335. package/dist-vendor/assets/nc-5j7wEmDR.svg +13 -0
  336. package/dist-vendor/assets/nc-Bw50_tBz.svg +12 -0
  337. package/dist-vendor/assets/ne-B1jPOYkl.svg +6 -0
  338. package/dist-vendor/assets/ne-Cium2f5G.svg +6 -0
  339. package/dist-vendor/assets/ng-CLL1nzMk.svg +6 -0
  340. package/dist-vendor/assets/ng-su4NM9If.svg +6 -0
  341. package/dist-vendor/assets/nl-BnOa6UiA.svg +5 -0
  342. package/dist-vendor/assets/nl-DKN85plC.svg +5 -0
  343. package/dist-vendor/assets/no-67wnnm5y.svg +7 -0
  344. package/dist-vendor/assets/no-qf2JPO73.svg +7 -0
  345. package/dist-vendor/assets/np-B4k6qJKf.svg +18 -0
  346. package/dist-vendor/assets/np-CIuq5GKd.svg +13 -0
  347. package/dist-vendor/assets/nr-DERIdzkN.svg +12 -0
  348. package/dist-vendor/assets/nr-SnI60Bgd.svg +12 -0
  349. package/dist-vendor/assets/nu-BfgWvGcd.svg +10 -0
  350. package/dist-vendor/assets/nu-Dm-LLXct.svg +10 -0
  351. package/dist-vendor/assets/nz-5vODdBjz.svg +36 -0
  352. package/dist-vendor/assets/nz-CaLnugvK.svg +36 -0
  353. package/dist-vendor/assets/pa-BLNN9G2-.svg +14 -0
  354. package/dist-vendor/assets/pa-BzRYvRsl.svg +13 -0
  355. package/dist-vendor/assets/pc-BJpYiA9b.svg +33 -0
  356. package/dist-vendor/assets/pc-D9OuqgOn.svg +33 -0
  357. package/dist-vendor/assets/pe--eye3JWr.svg +4 -0
  358. package/dist-vendor/assets/pe-BLqhuu1C.svg +4 -0
  359. package/dist-vendor/assets/pf-C8ahG68q.svg +19 -0
  360. package/dist-vendor/assets/pf-e6q_5ubr.svg +18 -0
  361. package/dist-vendor/assets/pg-BAYpbp9Z.svg +9 -0
  362. package/dist-vendor/assets/pg-nBvUkq7v.svg +16 -0
  363. package/dist-vendor/assets/ph-B10ogxgQ.svg +6 -0
  364. package/dist-vendor/assets/ph-BEzTn62K.svg +6 -0
  365. package/dist-vendor/assets/phone-input-impl-tGfTKVIJ.js +19 -0
  366. package/dist-vendor/assets/pk-BnahYzav.svg +15 -0
  367. package/dist-vendor/assets/pk-CWMEc3ad.svg +15 -0
  368. package/dist-vendor/assets/pl-jl6riBSr.svg +6 -0
  369. package/dist-vendor/assets/pl-o38JROoc.svg +6 -0
  370. package/dist-vendor/assets/pm-CHiP5UmZ.svg +5 -0
  371. package/dist-vendor/assets/pm-CatGySkp.svg +5 -0
  372. package/dist-vendor/assets/popover-Cg1zTBmw.js +1 -0
  373. package/dist-vendor/assets/pr-B4tMV0xm.svg +13 -0
  374. package/dist-vendor/assets/pr-DjaQzs0K.svg +13 -0
  375. package/dist-vendor/assets/ps-CEUcLi5W.svg +6 -0
  376. package/dist-vendor/assets/ps-DO8YKYeS.svg +6 -0
  377. package/dist-vendor/assets/pw-CQP52WMX.svg +11 -0
  378. package/dist-vendor/assets/pw-DOQyn2PV.svg +11 -0
  379. package/dist-vendor/assets/qa-CekFoc-3.svg +4 -0
  380. package/dist-vendor/assets/qa-Dkmpc78M.svg +4 -0
  381. package/dist-vendor/assets/re-Bg1MZWMt.svg +7 -0
  382. package/dist-vendor/assets/re-Bk4ipYK1.svg +5 -0
  383. package/dist-vendor/assets/react-CZI7_Jkm.js +1 -0
  384. package/dist-vendor/assets/react-dom-cJyBB_A4.js +1 -0
  385. package/dist-vendor/assets/registry-DBG9QhcD.js +66 -0
  386. package/dist-vendor/assets/ro-C2av9jVe.svg +7 -0
  387. package/dist-vendor/assets/ro-CoSeqKY1.svg +7 -0
  388. package/dist-vendor/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  389. package/dist-vendor/assets/ru-D-4tNwXt.svg +5 -0
  390. package/dist-vendor/assets/ru-DbUtf_DX.svg +5 -0
  391. package/dist-vendor/assets/rw-CcIfVufE.svg +13 -0
  392. package/dist-vendor/assets/rw-D7nbSYKI.svg +13 -0
  393. package/dist-vendor/assets/sb-BDTYjcbk.svg +13 -0
  394. package/dist-vendor/assets/sb-Dv-Gc94i.svg +13 -0
  395. package/dist-vendor/assets/sc-CRNsSLg9.svg +7 -0
  396. package/dist-vendor/assets/sc-DFTNEfqs.svg +7 -0
  397. package/dist-vendor/assets/scroll-area-KiRIggDo.js +1 -0
  398. package/dist-vendor/assets/sd-BwHx54f9.svg +13 -0
  399. package/dist-vendor/assets/sd-ClziNjGr.svg +13 -0
  400. package/dist-vendor/assets/se-8C923vhy.svg +4 -0
  401. package/dist-vendor/assets/se-DHad7SFX.svg +4 -0
  402. package/dist-vendor/assets/sg-DGYIMG0G.svg +13 -0
  403. package/dist-vendor/assets/sg-DisnRdSe.svg +13 -0
  404. package/dist-vendor/assets/sh-DBww0RCW.svg +7 -0
  405. package/dist-vendor/assets/sh-DNImvbrE.svg +7 -0
  406. package/dist-vendor/assets/si-BDW--7ta.svg +18 -0
  407. package/dist-vendor/assets/si-BMKT-Tec.svg +18 -0
  408. package/dist-vendor/assets/sj-AM0BJ0qg.svg +7 -0
  409. package/dist-vendor/assets/sj-BFFEGknm.svg +7 -0
  410. package/dist-vendor/assets/sk-8lQCLAqV.svg +9 -0
  411. package/dist-vendor/assets/sk-K9BNIYAO.svg +9 -0
  412. package/dist-vendor/assets/sl-C0dI8IsG.svg +12 -0
  413. package/dist-vendor/assets/sl-DxLJY5vJ.svg +7 -0
  414. package/dist-vendor/assets/sn-C4abx9Xn.svg +8 -0
  415. package/dist-vendor/assets/sn-S8ipNF1U.svg +8 -0
  416. package/dist-vendor/assets/so-BpxKZJzu.svg +11 -0
  417. package/dist-vendor/assets/so-DlzA2Fco.svg +11 -0
  418. package/dist-vendor/assets/sort-rows-FW_ghcyz.js +1 -0
  419. package/dist-vendor/assets/sr-CfMKAfua.svg +6 -0
  420. package/dist-vendor/assets/sr-Co7OKBh3.svg +6 -0
  421. package/dist-vendor/assets/ss-C_PPJ8V2.svg +8 -0
  422. package/dist-vendor/assets/ss-CxVEpdPD.svg +8 -0
  423. package/dist-vendor/assets/st-AMcb9FhJ.svg +16 -0
  424. package/dist-vendor/assets/st-C1Nd1c3V.svg +16 -0
  425. package/dist-vendor/assets/sy-Dpn5i9ke.svg +6 -0
  426. package/dist-vendor/assets/sy-DwSud114.svg +6 -0
  427. package/dist-vendor/assets/td-BsuVhZpT.svg +7 -0
  428. package/dist-vendor/assets/td-Ddv_29rE.svg +7 -0
  429. package/dist-vendor/assets/tf-Co33RhQH.svg +15 -0
  430. package/dist-vendor/assets/tf-DSn8VxE3.svg +15 -0
  431. package/dist-vendor/assets/tg-BpRxi4F-.svg +14 -0
  432. package/dist-vendor/assets/tg-CP1-sc35.svg +14 -0
  433. package/dist-vendor/assets/th-DK2zZyMY.svg +7 -0
  434. package/dist-vendor/assets/th-tzq84hgd.svg +7 -0
  435. package/dist-vendor/assets/tj-BWWBVTk9.svg +26 -0
  436. package/dist-vendor/assets/tj-b-aWfOTb.svg +22 -0
  437. package/dist-vendor/assets/tk-CDucsEss.svg +5 -0
  438. package/dist-vendor/assets/tk-CZEI6mqd.svg +5 -0
  439. package/dist-vendor/assets/tl-wpo93AGk.svg +13 -0
  440. package/dist-vendor/assets/tl-zghdr7_K.svg +13 -0
  441. package/dist-vendor/assets/tn-BcKCZULf.svg +4 -0
  442. package/dist-vendor/assets/tn-DcO8DL80.svg +4 -0
  443. package/dist-vendor/assets/to-6m55WaQo.svg +10 -0
  444. package/dist-vendor/assets/to-D8uVsoxb.svg +10 -0
  445. package/dist-vendor/assets/tr-Cd6FO9Bg.svg +8 -0
  446. package/dist-vendor/assets/tr-Dgwi_nfe.svg +8 -0
  447. package/dist-vendor/assets/tt-CTnr7aY5.svg +5 -0
  448. package/dist-vendor/assets/tt-f6m2xq_2.svg +7 -0
  449. package/dist-vendor/assets/tv-DDqkVT-n.svg +9 -0
  450. package/dist-vendor/assets/tv-MqebyrVm.svg +9 -0
  451. package/dist-vendor/assets/tw-BGxVDCOL.svg +32 -0
  452. package/dist-vendor/assets/tw-d-Mf-0VT.svg +34 -0
  453. package/dist-vendor/assets/tz-BUVjlfC1.svg +15 -0
  454. package/dist-vendor/assets/tz-BjLtHeil.svg +13 -0
  455. package/dist-vendor/assets/ua-Bq0XgQqK.svg +6 -0
  456. package/dist-vendor/assets/ua-BquxXKta.svg +6 -0
  457. package/dist-vendor/assets/ug-ByL2ejGl.svg +30 -0
  458. package/dist-vendor/assets/ug-CQ8d5RQC.svg +30 -0
  459. package/dist-vendor/assets/um-Bhke9Eic.svg +9 -0
  460. package/dist-vendor/assets/um-DreQrsBl.svg +9 -0
  461. package/dist-vendor/assets/us-C73uVeEr.svg +9 -0
  462. package/dist-vendor/assets/us-DAM9Utrf.svg +9 -0
  463. package/dist-vendor/assets/useTranslation-RqY_bF-3.js +1 -0
  464. package/dist-vendor/assets/uy-B2Qs7aGx.svg +28 -0
  465. package/dist-vendor/assets/uy-DD6peej-.svg +28 -0
  466. package/dist-vendor/assets/uz-C2f-Cubn.svg +30 -0
  467. package/dist-vendor/assets/uz-rmSB_IKB.svg +30 -0
  468. package/dist-vendor/assets/vc-COpmFovN.svg +8 -0
  469. package/dist-vendor/assets/vc-DaYqUZD4.svg +8 -0
  470. package/dist-vendor/assets/ve-BSqnIB9l.svg +26 -0
  471. package/dist-vendor/assets/ve-L4X6NQ3q.svg +26 -0
  472. package/dist-vendor/assets/vn-BEAEijd0.svg +11 -0
  473. package/dist-vendor/assets/vn-CsUBJx2L.svg +11 -0
  474. package/dist-vendor/assets/vu-BIFa5Beu.svg +21 -0
  475. package/dist-vendor/assets/vu-D6k0NQlg.svg +21 -0
  476. package/dist-vendor/assets/wf-BC64oop4.svg +5 -0
  477. package/dist-vendor/assets/wf-DrxpOO_G.svg +5 -0
  478. package/dist-vendor/assets/ws-IVFNwTc1.svg +7 -0
  479. package/dist-vendor/assets/ws-vzJNwdVm.svg +7 -0
  480. package/dist-vendor/assets/xx-DHLZWhOc.svg +4 -0
  481. package/dist-vendor/assets/xx-zm_JmrXl.svg +4 -0
  482. package/dist-vendor/assets/ye-BwST9gXC.svg +7 -0
  483. package/dist-vendor/assets/ye-Ir8OtngQ.svg +7 -0
  484. package/dist-vendor/assets/yt-BGlbbiEn.svg +5 -0
  485. package/dist-vendor/assets/yt-DIfEG0ex.svg +5 -0
  486. package/dist-vendor/assets/za-BUKoH9qm.svg +17 -0
  487. package/dist-vendor/assets/za-Jz40JTrv.svg +17 -0
  488. package/dist-vendor/i18next.js +1 -1208
  489. package/dist-vendor/jsx-runtime.js +1 -6
  490. package/dist-vendor/react-dom-client.js +9 -0
  491. package/dist-vendor/react-dom.js +1 -6
  492. package/dist-vendor/react-i18next.js +1 -0
  493. package/dist-vendor/react-router-dom.js +6 -1705
  494. package/dist-vendor/react.js +1 -6
  495. package/dist-vendor/sdk.js +1 -0
  496. package/dist-vendor/web-ui/lib/oklch.js +1 -0
  497. package/dist-vendor/web-ui/render/blocks.js +1 -0
  498. package/dist-vendor/web-ui/render/core.js +11 -0
  499. package/dist-vendor/web-ui.js +1 -67946
  500. package/package.json +1 -1
  501. package/dist/assets/ChatWidget-CZFJNVBt.js +0 -5
  502. package/dist/assets/DiagnosticsPage-BRGLbMCb.js +0 -1
  503. package/dist/assets/GeoMap-B1DFGu6_.js +0 -1
  504. package/dist/assets/GeoMap-vh-t_kPv.css +0 -1
  505. package/dist/assets/MarkdownEditor-DsKPqeIt.js +0 -189
  506. package/dist/assets/NewRecordView-B1jdKkrr.js +0 -1
  507. package/dist/assets/PluginSettingsPage-Dasrpx47.js +0 -1
  508. package/dist/assets/ScanSummary-xxY2oZVM.js +0 -1
  509. package/dist/assets/SettingsForm-C-xB5cdD.js +0 -1
  510. package/dist/assets/SettingsPage-DjRQ1bY5.js +0 -3
  511. package/dist/assets/ThemeSwitcher-BJRcZMR7.js +0 -1
  512. package/dist/assets/api-QNHQU9to.js +0 -1
  513. package/dist/assets/auth-context-CoCE5oPD.js +0 -1
  514. package/dist/assets/condition-B5taAXkb.js +0 -1
  515. package/dist/assets/countries-CoGvAZ5u.js +0 -1
  516. package/dist/assets/data-size-CO-LGHbN.js +0 -1
  517. package/dist/assets/development-ChLInqDF.js +0 -1
  518. package/dist/assets/dist-COeDLrWj.js +0 -1
  519. package/dist/assets/esm-CX8ST5Fv.js +0 -1
  520. package/dist/assets/esm-YFvMvTG9.css +0 -1
  521. package/dist/assets/esm-oGoWacTd.js +0 -24
  522. package/dist/assets/extend-CHOe1AVl.js +0 -1
  523. package/dist/assets/fields-Ce51pRua.js +0 -64
  524. package/dist/assets/file-text-BdYRF4MO.js +0 -1
  525. package/dist/assets/flag-icons-CTDpPZQq.css +0 -1
  526. package/dist/assets/i18n-vendor-T6EnJ_TL.js +0 -13
  527. package/dist/assets/ical-FRtCagm-.js +0 -8
  528. package/dist/assets/icons-0CjpO0K1.js +0 -6
  529. package/dist/assets/ilamy-view-D7DQZ577.js +0 -7
  530. package/dist/assets/index-CpRTFlxk.js +0 -22
  531. package/dist/assets/index-Le8YFirR.css +0 -2
  532. package/dist/assets/input-BFMNMo6y.js +0 -1
  533. package/dist/assets/list-cache-wPeWyKg1.js +0 -1
  534. package/dist/assets/markdown-vendor-WSL3P01P.js +0 -56
  535. package/dist/assets/phone-input-3xV95mM6.js +0 -1
  536. package/dist/assets/phone-input-8QtHMHO_.js +0 -21
  537. package/dist/assets/plugin-Cjr7lgQH.js +0 -1
  538. package/dist/assets/plugin-label-CfdhA4_L.js +0 -1
  539. package/dist/assets/popover-UkAmHo3Y.js +0 -1
  540. package/dist/assets/react-vendor-CzSUaSLk.js +0 -229
  541. package/dist/assets/registration-43gjHJ3X.js +0 -1
  542. package/dist/assets/rolldown-runtime-QTnfLwEv.js +0 -1
  543. package/dist/assets/settings-BEzSaRjz.js +0 -1
  544. package/dist/assets/shelf-DjiUBfgQ.js +0 -1
  545. package/dist/assets/showcase-BeBnutzT.js +0 -1
  546. package/dist/assets/src-B-FFwJ-G.js +0 -1
  547. package/dist/assets/src-B1LWYTOR.js +0 -2
  548. package/dist/assets/src-B7dY0wwO.js +0 -4
  549. package/dist/assets/src-BDP8FIN_.js +0 -1
  550. package/dist/assets/src-BPuTgDYD.js +0 -1
  551. package/dist/assets/src-BRP-DLVM2.js +0 -1
  552. package/dist/assets/src-BU56fYCH2.js +0 -1
  553. package/dist/assets/src-BmgYgIDb.js +0 -1
  554. package/dist/assets/src-Bzgh6Ge5.js +0 -1
  555. package/dist/assets/src-C06O0ceD.js +0 -1
  556. package/dist/assets/src-CCeQIMl_.js +0 -1
  557. package/dist/assets/src-CgXkpslu.js +0 -1
  558. package/dist/assets/src-CheiTWox.js +0 -7
  559. package/dist/assets/src-CjPxrk6V.js +0 -1
  560. package/dist/assets/src-Co7xh07B.js +0 -1
  561. package/dist/assets/src-CtQWxdaS.js +0 -8
  562. package/dist/assets/src-CwyJPFKQ.js +0 -1
  563. package/dist/assets/src-Cz38tTr3.js +0 -1
  564. package/dist/assets/src-DDtMlZ03.js +0 -1
  565. package/dist/assets/src-DNx0vmvI.js +0 -1
  566. package/dist/assets/src-DjrjxzQu.js +0 -1
  567. package/dist/assets/src-Dsh4Yd_x.js +0 -6
  568. package/dist/assets/src-Du26RLvk.js +0 -1
  569. package/dist/assets/src-G94LYhEo.js +0 -1
  570. package/dist/assets/src-aPsTM6Fr.js +0 -1
  571. package/dist/assets/src-iJXhTwKd.js +0 -1
  572. package/dist/assets/src-rXsbV4Ce.js +0 -6
  573. package/dist/assets/ui-BLiPhfyz.js +0 -2
  574. package/dist/assets/ui-DL6R5B56.js +0 -2
  575. package/dist/assets/ui-jz6tZ6GD.js +0 -2
  576. package/dist/assets/ui-mefYc6et.js +0 -2
  577. package/dist/assets/ui-vendor-ByG3otld.js +0 -44
  578. package/dist-vendor/chunk-KS7C4IRE-CACNl8KN.js +0 -6349
  579. package/dist-vendor/jsx-runtime-BiMSyZU3.js +0 -22
  580. package/dist-vendor/react-Be14ySWY.js +0 -293
  581. package/dist-vendor/react-dom-Dvp3Hdeu.js +0 -131
  582. package/dist-vendor/rolldown-runtime-Dqa2HsxW.js +0 -20
  583. package/dist-vendor/web.css +0 -2
  584. /package/{dist → dist-vendor}/assets/ad-B18i8NGa.svg +0 -0
  585. /package/{dist → dist-vendor}/assets/ad-Blhdm5jl.svg +0 -0
  586. /package/{dist → dist-vendor}/assets/af-Bc2fqp73.svg +0 -0
  587. /package/{dist → dist-vendor}/assets/af-C77Rf6cE.svg +0 -0
  588. /package/{dist → dist-vendor}/assets/arab-C-KgnQEz.svg +0 -0
  589. /package/{dist → dist-vendor}/assets/arab-C4CYPgyC.svg +0 -0
  590. /package/{dist → dist-vendor}/assets/as-BTEVCXG-.svg +0 -0
  591. /package/{dist → dist-vendor}/assets/as-Dekqy8Of.svg +0 -0
  592. /package/{dist → dist-vendor}/assets/aw-CLCX8uk5.svg +0 -0
  593. /package/{dist → dist-vendor}/assets/aw-W0PWLK5p.svg +0 -0
  594. /package/{dist → dist-vendor}/assets/bm-BeYgB2z9.svg +0 -0
  595. /package/{dist → dist-vendor}/assets/bm-DvNWWcPM.svg +0 -0
  596. /package/{dist → dist-vendor}/assets/bn-B6T3O78g.svg +0 -0
  597. /package/{dist → dist-vendor}/assets/bn-CPQcA8Ol.svg +0 -0
  598. /package/{dist → dist-vendor}/assets/bo-CcUiMqkJ.svg +0 -0
  599. /package/{dist → dist-vendor}/assets/bo-Dry0C6UA.svg +0 -0
  600. /package/{dist → dist-vendor}/assets/br-Cu5YU29T.svg +0 -0
  601. /package/{dist → dist-vendor}/assets/br-Dr5rMAMb.svg +0 -0
  602. /package/{dist → dist-vendor}/assets/bt-BTo4qm10.svg +0 -0
  603. /package/{dist → dist-vendor}/assets/bt-SxWnbWW0.svg +0 -0
  604. /package/{dist → dist-vendor}/assets/bz-BCKHR4_q.svg +0 -0
  605. /package/{dist → dist-vendor}/assets/bz-CoBdB-p8.svg +0 -0
  606. /package/{dist → dist-vendor}/assets/cy-DJKnEFYW.svg +0 -0
  607. /package/{dist → dist-vendor}/assets/cy-bZuP8hmf.svg +0 -0
  608. /package/{dist → dist-vendor}/assets/dg-CJPJrjiZ.svg +0 -0
  609. /package/{dist → dist-vendor}/assets/dg-DqkWLbnk.svg +0 -0
  610. /package/{dist → dist-vendor}/assets/dm-Cbhezfe1.svg +0 -0
  611. /package/{dist → dist-vendor}/assets/dm-DPPHwW2M.svg +0 -0
  612. /package/{dist → dist-vendor}/assets/do-B86d445t.svg +0 -0
  613. /package/{dist → dist-vendor}/assets/do-DeRnbj4d.svg +0 -0
  614. /package/{dist → dist-vendor}/assets/eac-CwGQsyAM.svg +0 -0
  615. /package/{dist → dist-vendor}/assets/eac-h4QKADRE.svg +0 -0
  616. /package/{dist → dist-vendor}/assets/ec-CaVOFQ3t.svg +0 -0
  617. /package/{dist → dist-vendor}/assets/ec-cwfBJlvF.svg +0 -0
  618. /package/{dist → dist-vendor}/assets/eg-DwOkwyQ0.svg +0 -0
  619. /package/{dist → dist-vendor}/assets/eg-YC70hswZ.svg +0 -0
  620. /package/{dist → dist-vendor}/assets/es-BuSGTZm_.svg +0 -0
  621. /package/{dist → dist-vendor}/assets/es-d5m8M5h8.svg +0 -0
  622. /package/{dist → dist-vendor}/assets/es-ga-D9xG2hYr.svg +0 -0
  623. /package/{dist → dist-vendor}/assets/es-ga-DXhVZ333.svg +0 -0
  624. /package/{dist → dist-vendor}/assets/fj-DEAVMg38.svg +0 -0
  625. /package/{dist → dist-vendor}/assets/fj-u3dAPoew.svg +0 -0
  626. /package/{dist → dist-vendor}/assets/fk-B-RvQ4Hz.svg +0 -0
  627. /package/{dist → dist-vendor}/assets/fk-nuUF_Ak3.svg +0 -0
  628. /package/{dist → dist-vendor}/assets/gb-nir-D4gikpNq.svg +0 -0
  629. /package/{dist → dist-vendor}/assets/gb-nir-vEp1ZXy6.svg +0 -0
  630. /package/{dist → dist-vendor}/assets/gb-wls-Bxz9hxvX.svg +0 -0
  631. /package/{dist → dist-vendor}/assets/gb-wls-CK0XlKT-.svg +0 -0
  632. /package/{dist → dist-vendor}/assets/gq-CPnMO1hT.svg +0 -0
  633. /package/{dist → dist-vendor}/assets/gq-Cag8QTk2.svg +0 -0
  634. /package/{dist → dist-vendor}/assets/gs-DOgYbHsY.svg +0 -0
  635. /package/{dist → dist-vendor}/assets/gs-DiiNa0F5.svg +0 -0
  636. /package/{dist → dist-vendor}/assets/gt-BLpn5qMn.svg +0 -0
  637. /package/{dist → dist-vendor}/assets/gt-CJo5DI-7.svg +0 -0
  638. /package/{dist → dist-vendor}/assets/gu-Di1JYREk.svg +0 -0
  639. /package/{dist → dist-vendor}/assets/gu-SbvrH0uZ.svg +0 -0
  640. /package/{dist → dist-vendor}/assets/hr-BpiVVBoV.svg +0 -0
  641. /package/{dist → dist-vendor}/assets/hr-fzLfaANM.svg +0 -0
  642. /package/{dist → dist-vendor}/assets/ht-DIMg4gti.svg +0 -0
  643. /package/{dist → dist-vendor}/assets/ht-pweRl6ZP.svg +0 -0
  644. /package/{dist → dist-vendor}/assets/im--VPIqfkF.svg +0 -0
  645. /package/{dist → dist-vendor}/assets/im-Dd9p-0-T.svg +0 -0
  646. /package/{dist → dist-vendor}/assets/io-13HOfeJD.svg +0 -0
  647. /package/{dist → dist-vendor}/assets/io-BImhNBcd.svg +0 -0
  648. /package/{dist → dist-vendor}/assets/ir-Q03Mij62.svg +0 -0
  649. /package/{dist → dist-vendor}/assets/ir-cCIgaNf6.svg +0 -0
  650. /package/{dist → dist-vendor}/assets/je-DyWbhIiC.svg +0 -0
  651. /package/{dist → dist-vendor}/assets/je-vXe0Dr49.svg +0 -0
  652. /package/{dist → dist-vendor}/assets/kg-B0FsxZiL.svg +0 -0
  653. /package/{dist → dist-vendor}/assets/kg-CjfitMyT.svg +0 -0
  654. /package/{dist → dist-vendor}/assets/kh-BBvObpUS.svg +0 -0
  655. /package/{dist → dist-vendor}/assets/kh-BeWfuE30.svg +0 -0
  656. /package/{dist → dist-vendor}/assets/ki-fuIMkEYQ.svg +0 -0
  657. /package/{dist → dist-vendor}/assets/ki-p_fAQGbS.svg +0 -0
  658. /package/{dist → dist-vendor}/assets/ky-BqaZHuhf.svg +0 -0
  659. /package/{dist → dist-vendor}/assets/ky-Dpsu1myA.svg +0 -0
  660. /package/{dist → dist-vendor}/assets/kz-CwKXYZ8s.svg +0 -0
  661. /package/{dist → dist-vendor}/assets/kz-Dkyx6q-p.svg +0 -0
  662. /package/{dist → dist-vendor}/assets/li-CHdhvNcr.svg +0 -0
  663. /package/{dist → dist-vendor}/assets/li-CMlf0YU8.svg +0 -0
  664. /package/{dist → dist-vendor}/assets/lk-DSQoDxn_.svg +0 -0
  665. /package/{dist → dist-vendor}/assets/lk-DUkgV9Tq.svg +0 -0
  666. /package/{dist → dist-vendor}/assets/md-DRlxvNwm.svg +0 -0
  667. /package/{dist → dist-vendor}/assets/md-DTi94M3M.svg +0 -0
  668. /package/{dist → dist-vendor}/assets/me-CfGorN3b.svg +0 -0
  669. /package/{dist → dist-vendor}/assets/me-Cv4Gwqah.svg +0 -0
  670. /package/{dist → dist-vendor}/assets/mp-CrOApEqW.svg +0 -0
  671. /package/{dist → dist-vendor}/assets/mp-CuaQmCLf.svg +0 -0
  672. /package/{dist → dist-vendor}/assets/ms-B-w7hFKu.svg +0 -0
  673. /package/{dist → dist-vendor}/assets/ms-DxciGbUu.svg +0 -0
  674. /package/{dist → dist-vendor}/assets/mt-YDa8zgzO.svg +0 -0
  675. /package/{dist → dist-vendor}/assets/mt-YqzKx9xl.svg +0 -0
  676. /package/{dist → dist-vendor}/assets/mx-Cc8Ccfe8.svg +0 -0
  677. /package/{dist → dist-vendor}/assets/mx-CvCwYHGF.svg +0 -0
  678. /package/{dist → dist-vendor}/assets/nf-DGrQb42O.svg +0 -0
  679. /package/{dist → dist-vendor}/assets/nf-Dl00mlk2.svg +0 -0
  680. /package/{dist → dist-vendor}/assets/ni-BX2WCaNt.svg +0 -0
  681. /package/{dist → dist-vendor}/assets/ni-CcFCSQxm.svg +0 -0
  682. /package/{dist → dist-vendor}/assets/om-DcqxRdQL.svg +0 -0
  683. /package/{dist → dist-vendor}/assets/om-nN8zP2Bu.svg +0 -0
  684. /package/{dist → dist-vendor}/assets/pn-BPAlH32D.svg +0 -0
  685. /package/{dist → dist-vendor}/assets/pn-DgxdtieE.svg +0 -0
  686. /package/{dist → dist-vendor}/assets/pt-BTevY6N2.svg +0 -0
  687. /package/{dist → dist-vendor}/assets/pt-DZ2ADgIR.svg +0 -0
  688. /package/{dist → dist-vendor}/assets/py-BKi5dxWt.svg +0 -0
  689. /package/{dist → dist-vendor}/assets/py-mNzh0mZC.svg +0 -0
  690. /package/{dist → dist-vendor}/assets/rs-BfwKwXtn.svg +0 -0
  691. /package/{dist → dist-vendor}/assets/rs-CnTO3ehk.svg +0 -0
  692. /package/{dist → dist-vendor}/assets/sa-Dh79zbT9.svg +0 -0
  693. /package/{dist → dist-vendor}/assets/sa-DnlyVVKx.svg +0 -0
  694. /package/{dist → dist-vendor}/assets/sh-ac-D-aE2xRW.svg +0 -0
  695. /package/{dist → dist-vendor}/assets/sh-ac-FjwY7RYr.svg +0 -0
  696. /package/{dist → dist-vendor}/assets/sh-hl-CgxUDvtv.svg +0 -0
  697. /package/{dist → dist-vendor}/assets/sh-hl-CqtQPzWZ.svg +0 -0
  698. /package/{dist → dist-vendor}/assets/sh-ta-BFo5zkKU.svg +0 -0
  699. /package/{dist → dist-vendor}/assets/sh-ta-CPJublpi.svg +0 -0
  700. /package/{dist → dist-vendor}/assets/sm-BKrUHzrq.svg +0 -0
  701. /package/{dist → dist-vendor}/assets/sm-DGBIRFB_.svg +0 -0
  702. /package/{dist → dist-vendor}/assets/sv-CJIHhYwF.svg +0 -0
  703. /package/{dist → dist-vendor}/assets/sv-RZ39q5hO.svg +0 -0
  704. /package/{dist → dist-vendor}/assets/sx-RKKs0ph6.svg +0 -0
  705. /package/{dist → dist-vendor}/assets/sx-nDhIaDNb.svg +0 -0
  706. /package/{dist → dist-vendor}/assets/sz-D39eIL5d.svg +0 -0
  707. /package/{dist → dist-vendor}/assets/sz-qxMwa2gs.svg +0 -0
  708. /package/{dist → dist-vendor}/assets/tc-CJHJmJj1.svg +0 -0
  709. /package/{dist → dist-vendor}/assets/tc-dtelpZmc.svg +0 -0
  710. /package/{dist → dist-vendor}/assets/tm-C_WSgUcv.svg +0 -0
  711. /package/{dist → dist-vendor}/assets/tm-DGBJvQay.svg +0 -0
  712. /package/{dist → dist-vendor}/assets/un-Bqg4Cbbh.svg +0 -0
  713. /package/{dist → dist-vendor}/assets/un-DabL4p35.svg +0 -0
  714. /package/{dist → dist-vendor}/assets/va-B9-hqIE-.svg +0 -0
  715. /package/{dist → dist-vendor}/assets/va-s7kyhqIM.svg +0 -0
  716. /package/{dist → dist-vendor}/assets/vg-C7xY6pic.svg +0 -0
  717. /package/{dist → dist-vendor}/assets/vg-ClZ-0KpG.svg +0 -0
  718. /package/{dist → dist-vendor}/assets/vi-BC_zcciE.svg +0 -0
  719. /package/{dist → dist-vendor}/assets/vi-BSdsyIxY.svg +0 -0
  720. /package/{dist → dist-vendor}/assets/xk-Bj15g7cp.svg +0 -0
  721. /package/{dist → dist-vendor}/assets/xk-Cdz2uTvR.svg +0 -0
  722. /package/{dist → dist-vendor}/assets/zm-BmsW91ne.svg +0 -0
  723. /package/{dist → dist-vendor}/assets/zm-D8B-0kdx.svg +0 -0
  724. /package/{dist → dist-vendor}/assets/zw-CSuuaw9K.svg +0 -0
  725. /package/{dist → dist-vendor}/assets/zw-U0m7oJ5e.svg +0 -0
@@ -0,0 +1,6 @@
1
+ import{defineLibrary as s}from"@coffer-org/sdk/library";import{defineShelf as t}from"@coffer-org/sdk/shelf";import{field as e,fromShelf as i}from"@coffer-org/sdk/fields";import{definePlugin as l}from"@coffer-org/sdk/plugin";var n=t({shelf:"item",library:"things",label:"things.item.label",icon:"lucide:package",agent:"A physical item. name \u2014 the title. type \u2014 an optional FAMILY classifier (extends can add types, e.g. device). subtype \u2014 an optional LEAF within that family (e.g. type=device, subtype=vtx for a video transmitter); an empty subtype is a valid state. Nothing validates that the pair is coherent, so when you set one, set the other consistently with it. store \u2014 a relation to things/store; store_legacy is hidden pre-migration free text kept only as a one-release rollback safety net, never write to it.",views:{list:["type","subtype","brand","model","location"],groupBy:["type","subtype","paymentStatus","condition","owner","location","store","madeIn","tags"]},fields:{name:e.title({label:"core.fields.name"}),about:e.illustrated({label:"things.item.fields.about",fields:{image:e.avatar({}),text:e.text({rules:{max:1e3}})}}),properties:e.properties({columns:4,fields:{type:e.string({label:"core.fields.type",options:[{value:"clothing",title:"things.item.options.type.clothing"},{value:"bag",title:"things.item.options.type.bag"},{value:"cable",title:"things.item.options.type.cable"},{value:"tool",title:"things.item.options.type.tool"},{value:"furniture",title:"things.item.options.type.furniture"},{value:"appliance",title:"things.item.options.type.appliance"},{value:"household",title:"things.item.options.type.household"},{value:"consumable",title:"things.item.options.type.consumable"},{value:"personal_care",title:"things.item.options.type.personal_care"},{value:"sports",title:"things.item.options.type.sports"},{value:"hobby",title:"things.item.options.type.hobby"},{value:"hardware",title:"things.item.options.type.hardware"},{value:"decor",title:"things.item.options.type.decor"},{value:"stationery",title:"things.item.options.type.stationery"},{value:"other",title:"things.item.options.type.other"}],strict:!0,noSearch:!0,ui:{span:3}}),subtype:e.string({label:"core.fields.subtype",options:[],strict:!0,noSearch:!0,ui:{span:3}}),status:e.status({source:{condition:e.string({label:"things.item.fields.condition",strict:!0,noSearch:!0,ui:{span:3},options:[{value:"new",title:"things.item.options.condition.new"},{value:"good",title:"things.item.options.condition.good"},{value:"fair",title:"things.item.options.condition.fair"},{value:"poor",title:"things.item.options.condition.poor"}]})}}),quantity:e.int({label:"things.item.fields.quantity",rules:{min:0},ui:{span:3}}),owner:e.relation({label:"things.item.fields.owner",options:i({library:"people",shelf:"person"}),ui:{span:3}}),location:e.relation({label:"things.item.fields.location",options:i({library:"things",shelf:"storage_location"}),ui:{span:3}}),brand:e.string({label:"things.item.fields.brand",rules:{max:100},ui:{span:3}}),model:e.string({label:"things.item.fields.model",rules:{max:100},ui:{span:3}})}}),warrantyExpires:e.reminder({label:"things.item.fields.warrantyExpires",rules:{lead:30},agent:"When the warranty EXPIRES \u2014 not when the item was bought."}),group:e.group({label:"things.item.groups.specs",icon:"lucide:ruler",scope:"hoist",fields:{serialNumber:e.identifier({label:"things.item.fields.serialNumber",rules:{max:80},ui:{span:4}}),weight:e.weight({label:"things.item.fields.weight",ui:{span:4}}),dimensions:e.dimensions({label:"things.item.fields.dimensions",ui:{span:4}}),color:e.string({label:"things.item.fields.color",rules:{max:120},ui:{span:4}}),material:e.string({label:"things.item.fields.material",rules:{max:80},ui:{span:4}}),madeIn:e.country({label:"things.item.fields.madeIn",ui:{span:4}})}}),group2:e.group({label:"things.item.groups.purchase",icon:"lucide:shopping-cart",scope:"hoist",fields:{purchaseDate:e.date({label:"things.item.fields.purchaseDate",ui:{span:4}}),purchasePrice:e.money({label:"things.item.fields.purchasePrice",ui:{span:2}}),currency:e.currency({label:"core.fields.currency",default:"UAH",ui:{span:2}}),paymentStatus:e.string({label:"things.item.fields.paymentStatus",strict:!0,noSearch:!0,ui:{span:4},options:[{value:"bought",title:"things.item.options.paymentStatus.bought"},{value:"installment",title:"things.item.options.paymentStatus.installment"},{value:"credit",title:"things.item.options.paymentStatus.credit"}]}),store:e.relation({label:"things.item.fields.store",options:i({library:"things",shelf:"store"}),ui:{span:6}}),store_legacy:e.string({label:"things.item.fields.store_legacy",ui:{hidden:!0},rules:{max:100}}),orderNumber:e.string({label:"things.item.fields.orderNumber",rules:{max:100},ui:{span:6}}),link:e.link({label:"things.item.fields.link",ui:{span:12}}),receipt:e.image({label:"things.item.fields.receipt"})}}),group3:e.group({label:"things.item.groups.media",icon:"lucide:images",scope:"hoist",fields:{manual:e.document({label:"things.item.fields.manual",ui:{span:6}}),photos:e.image({label:"things.item.fields.photos",multiple:!0})}}),tags:e.tags({label:"things.item.fields.tags"}),notes:e.text({label:"things.item.fields.notes",rules:{max:2e3}})}}),o=t({shelf:"storage_location",library:"things",label:"things.storage_location.label",icon:"lucide:map-pin",agent:"A storage location for items. name \u2014 what we call the place. path \u2014 hierarchy levels in order (room, furniture, shelf, container), free-form.",views:{list:["path"]},fields:{name:e.title({label:"core.fields.name"}),description:e.text({label:"things.storage_location.fields.description",rules:{max:1e3}}),path:e.path({label:"things.storage_location.fields.path",rules:{max:120}}),contents:e.backrefs({label:"things.storage_location.fields.contents",from:{library:"things",shelf:"item",field:"location"}}),notes:e.text({label:"things.storage_location.fields.notes",rules:{max:2e3}})}}),a=t({shelf:"store",library:"things",label:"things.store.label",icon:"lucide:store",agent:`A shop, marketplace or seller a thing was bought from; things/item.store points here.
2
+ scripts \u2014 a collection of page-extraction scripts for this shop. Each row's script field is
3
+ plain JavaScript text, readable in one record read, and is written by uploading a file or
4
+ through the API \u2014 never hand-edited in the web form. urlPattern is a human hint about which
5
+ pages a script applies to; nothing matches against it automatically. account holds a login or
6
+ a loyalty-card number and is stored in the clear \u2014 never write a password there.`,views:{list:["type","country","status","rating"],inline:["logo","name"],groupBy:["type","status","country","tags"]},fields:{name:e.title({label:"core.fields.name"}),logo:e.avatar({label:"things.store.fields.logo"}),description:e.text({label:"things.store.fields.description",rules:{max:1e3}}),group:e.group({label:"things.store.groups.place",icon:"lucide:map-pin",scope:"hoist",fields:{address:e.string({label:"things.store.fields.address",rules:{max:200},ui:{span:6}}),geo:e.geo({label:"things.store.fields.geo",ui:{span:6}}),hours:e.keyed({label:"things.store.fields.hours",fields:{day:e.string({label:"core.fields.weekday",options:"weekdays",strict:!0,noSearch:!0}),open:e.time({label:"things.store.fields.open"}),close:e.time({label:"things.store.fields.close"})},by:"day",unique:["day"]})}}),links:e.group({scope:"nest",label:"things.store.groups.links",icon:"lucide:link",multiple:!0,fields:{kind:e.string({label:"things.store.fields.linkKind",options:[{value:"site",title:"things.store.options.linkKind.site"},{value:"account",title:"things.store.options.linkKind.account"},{value:"orders",title:"things.store.options.linkKind.orders"},{value:"support",title:"things.store.options.linkKind.support"},{value:"other",title:"things.store.options.linkKind.other"}],strict:!0,noSearch:!0}),url:e.link({label:"things.store.fields.url"})}}),account:e.string({label:"things.store.fields.account",rules:{max:100}}),scripts:e.group({scope:"nest",label:"things.store.groups.scripts",icon:"lucide:code",multiple:!0,fields:{title:e.string({label:"things.store.fields.scriptTitle",rules:{max:100}}),kind:e.string({label:"things.store.fields.scriptKind",options:[{value:"product",title:"things.store.options.scriptKind.product"},{value:"orders",title:"things.store.options.scriptKind.orders"},{value:"receipt",title:"things.store.options.scriptKind.receipt"},{value:"search",title:"things.store.options.scriptKind.search"},{value:"other",title:"things.store.options.scriptKind.other"}],strict:!0,noSearch:!0}),urlPattern:e.string({label:"things.store.fields.urlPattern",rules:{max:200}}),script:e.source({label:"things.store.fields.script",rules:{ext:"js"}}),note:e.text({label:"things.store.fields.scriptNote",rules:{max:500}})}}),photos:e.image({label:"things.store.fields.photos",multiple:!0}),properties:e.properties({columns:4,fields:{type:e.string({label:"core.fields.type",options:[{value:"marketplace",title:"things.store.options.type.marketplace"},{value:"online_store",title:"things.store.options.type.online_store"},{value:"retail",title:"things.store.options.type.retail"},{value:"secondhand",title:"things.store.options.type.secondhand"},{value:"manufacturer",title:"things.store.options.type.manufacturer"}],strict:!0,noSearch:!0,ui:{span:3}}),country:e.country({label:"things.store.fields.country",ui:{span:3}}),rating:e.rating({label:"things.store.fields.rating",ui:{span:3}}),status:e.string({label:"things.store.fields.status",options:[{value:"active",title:"things.store.options.status.active"},{value:"rare",title:"things.store.options.status.rare"},{value:"abandoned",title:"things.store.options.status.abandoned"}],strict:!0,noSearch:!0,ui:{span:3}})}}),tags:e.tags({label:"things.store.fields.tags"}),notes:e.text({label:"things.store.fields.notes",rules:{max:2e3}})}}),r=l({id:"things",version:"1.0.0",dependsOn:["people"],label:"things.plugin.label",description:"things.plugin.description",libraries:[{meta:s({id:"things",label:"things.library.label",icon:"lucide:package",agent:{description:"Belongings and where they are stored (item, storage_location, store). Also hosts network hosts (device_info) and drone builds.",instructions:"item: quantity {value,unit}, location (relation to storage_location), condition, warrantyExpires (ISO date). Find an item via list_records things/item (filters or text q). When an item is moved/changes condition/is repaired \u2014 update location/condition/quantity via update_record; on purchase \u2014 purchaseDate/warrantyExpires."},starterHint:"what's about to warranty-expire"}),shelves:[n,o,a]}]});export{r as default};
@@ -0,0 +1 @@
1
+ import{a as _,i as y,n as w,o as x,r as m,s as I,t as S}from"./schemas-Ddd48n1f.js";import{t as L}from"./compat-nvzWPAqF.js";import{i as P,r as f,s as E}from"./data-size-B_xeY3eQ.js";import{defineLibrary as T}from"@coffer-org/sdk/library";import{defineShelf as A}from"@coffer-org/sdk/shelf";import{applyMultiple as n,field as e,fromShelf as Z,jsonValue as O,optionalize as o,vmsg as d,wrapKey as v}from"@coffer-org/sdk/fields";import{definePlugin as V}from"@coffer-org/sdk/plugin";import{defineSettings as q}from"@coffer-org/sdk/settings";import{normalizeOpts as u}from"@coffer-org/sdk/fields/normalize";import{defineExtend as K}from"@coffer-org/sdk/extend";import{defineShowcase as G}from"@coffer-org/sdk/showcase";var F=(s,i)=>I().superRefine((t,c)=>{s.safeParse(O(t)).success||c.addIssue({code:L.custom,message:d(i)})}),h=()=>m().int().min(0).max(255),a=()=>m().int().min(0).max(65535),M=x([h(),h(),h(),h()]),$=x([a(),a(),a(),a(),a(),a(),a(),a()]),C=y({v:w(4),a:M}),z=y({v:w(6),a:$}),U=S("v",[C,z]);function r(s){const i=u(s),t=F(U,"ip_structure");return v(void 0,i,n({kind:"ip",label:i.label??"",prim:"ip",column:"text",hints:{},zod:o(t)},i.multiple??!1))}var H=/^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;function b(s){const i=u(s),t=_().regex(H,{message:d("pattern",{messageKey:"core.presets.mac"})});return v(void 0,i,n({kind:"text",label:i.label??"",prim:"text",column:"text",hints:{mask:"macAddress",voice:"data"},zod:o(t)},i.multiple??!1))}var Y=/^[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?(\.[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)*$/;function g(s){const i=u(s),t=_().regex(Y,{message:d("pattern",{messageKey:"core.presets.hostname"})});return v(void 0,i,n({kind:"text",label:i.label??"",prim:"text",column:"text",hints:{voice:"data"},zod:o(t)},i.multiple??!1))}var B=/^\d{15}$/;function W(s){let i=0,t=!1;for(let c=s.length-1;c>=0;c--){let p=s.charCodeAt(c)-48;t&&(p*=2,p>9&&(p-=9)),i+=p,t=!t}return i%10===0}function N(s){const i=u(s),t=_().regex(B,{message:d("pattern",{messageKey:"core.presets.imei"})}).refine(W,{message:d("pattern",{messageKey:"core.presets.imei"})});return v(void 0,i,n({kind:"text",label:i.label??"",prim:"text",column:"text",hints:{voice:"data"},zod:o(t)},i.multiple??!1))}var j=S("v",[C.extend({p:m().int().min(0).max(32)}),z.extend({p:m().int().min(0).max(128)})]);function k(s){const i=u(s),t=F(j,"cidr_structure");return v(void 0,i,n({kind:"cidr",label:i.label??"",prim:"cidr",column:"text",hints:{},zod:o(t)},i.multiple??!1))}var Q=A({shelf:"network",library:"devices",label:"devices.network.label",icon:"lucide:globe",agent:"A network segment. subnet \u2014 CIDR. gateway \u2014 the gateway. domain \u2014 the segment's DNS suffix (e.g. lan \u2192 host FQDN = hostname.lan).",views:{list:["subnet","gateway","dnsPrimary"]},fields:{name:e.title({label:"core.fields.name"}),description:e.text({label:"devices.network.fields.description",rules:{max:1e3}}),facets:e.facet({multiple:!0,fields:{vlan:e.int({label:"devices.network.fields.vlan",rules:{min:1,max:4094}}),domain:g({label:"devices.network.fields.domain"})}}),ledger:e.ledger({fields:{subnet:k({label:"devices.network.fields.subnet"}),gateway:r({label:"devices.network.fields.gateway"}),dnsPrimary:r({label:"devices.network.fields.dnsPrimary"}),dnsFallback:r({label:"devices.network.fields.dnsFallback"}),poolStart:r({label:"devices.network.fields.poolStart"}),poolEnd:r({label:"devices.network.fields.poolEnd"})}}),notes:e.text({label:"devices.network.fields.notes",rules:{max:2e3}})}}),J=["access","infra","monitoring","database","automation","network","media","lighting","files","backup","downloads","finance","calendars","communication","web","ai","devices","other"].map(s=>({value:s,title:`devices.service.cat.${s}`})),X=[{value:"http",title:"devices.accessTypes.http"},{value:"https",title:"devices.accessTypes.https"},{value:"ssh",title:"devices.accessTypes.ssh"},{value:"mysql",title:"devices.accessTypes.mysql"},{value:"mqtt",title:"devices.accessTypes.mqtt"},{value:"ws",title:"devices.accessTypes.ws"},{value:"dns",title:"devices.accessTypes.dns"},{value:"other",title:"devices.accessTypes.other"}],ee={http:"http",https:"https",ssh:"ssh",mysql:"mysql",mqtt:"mqtt",ws:"ws",wss:"ws",dns:"dns"},ie=A({shelf:"service",library:"devices",label:"devices.service_catalog.label",icon:"lucide:layers",agent:"Catalog of network service types. name \u2014 human-readable name (custom, not translated). code \u2014 slug (auto-link key from the scanner). category \u2014 tag slugs (multi; SERVICE_CATEGORIES as hints). description_mode \u2014 description source: 'key' (i18n key in the description field) or 'own' (free text in the description_text field). SERVICE_META defaults \u2192 'key' + devices.service.desc.<code>; user records are usually 'own'.",views:{list:["code","category"]},fields:{name:e.title({label:"core.fields.name"}),description_mode:e.string({label:"devices.service.description_mode",options:[{value:"key",title:"devices.service.description_mode_key"},{value:"own",title:"devices.service.description_mode_own"}],default:"key",strict:!0,noSearch:!0}),description:e.i18n({label:"devices.service.description",rules:{max:1e3},ui:{hidden:{description_mode:{$ne:"key"}}}}),description_text:e.text({label:"devices.service.description",rules:{max:1e3},ui:{hidden:{description_mode:{$ne:"own"}}}}),code:e.string({label:"devices.service.code",rules:{max:60}}),category:e.string({label:"devices.service.category",options:[...J],multiple:!0,strict:!0,noSearch:!0})}}),D=(s,i)=>{const t=s?.[i];return typeof t=="number"&&Number.isFinite(t)&&t>=0?t:null},R=({parent:s})=>{const i=D(s,"used"),t=D(s,"free");return i==null||t==null||i+t===0?null:Math.round(i/(i+t)*1e3)/10},se=80,te=95,le=s=>{const i=R(s);return typeof i!="number"?null:i>=te?"full":i>=se?"warn":"ok"},ae=K({id:"device_info",label:"devices.device_info.label",icon:"lucide:monitor",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"device"},agent:{description:"Network and technical specs of a device. hostname \u2014 FQDN on the LAN. addresses[] \u2014 network addresses (ip/mac, multi-NIC). group \u2014 human-friendly. services[] \u2014 inline services (type/title/links[]/secrets[]). disks_usage[] \u2014 disk usage (SSH).",instructions:'Find a host via list_records things/item with filters: { type: "device" } \u2014 network fields live under _extends.device_info on each returned record. When the software/address/location changes \u2014 update via update_record.'},fields:{facets:e.facet({multiple:!0,fields:{group:e.string({label:"devices.device_info.fields.group",options:"device-groups",strict:!0,noSearch:!0}),arch:e.string({label:"devices.device_info.fields.arch",rules:{max:30}})}}),ledger:e.ledger({fields:{hostname:e.string({label:"devices.device_info.fields.hostname",rules:{max:120}}),vendor:e.string({label:"devices.device_info.fields.vendor",rules:{max:80}}),model:e.string({label:"devices.device_info.fields.model",rules:{max:120}}),os:e.string({label:"devices.device_info.fields.os",rules:{max:100}}),kernel:e.string({label:"devices.device_info.fields.kernel",rules:{max:100}}),cpu:e.string({label:"devices.device_info.fields.cpu",rules:{max:150}}),gpu:e.string({label:"devices.device_info.fields.gpu",rules:{max:150}}),ram:E({label:"devices.device_info.fields.ram"})}}),addresses:e.row({scope:"nest",multiple:!0,label:"devices.device_info.fields.addresses",icon:"lucide:network",fields:{ip:r({label:"devices.device_info.fields.ip"}),mac:b({label:"devices.device_info.fields.mac"})}}),disks_usage:e.group({scope:"nest",label:"devices.device_info.fields.disks_usage",icon:"lucide:hard-drive",multiple:!0,fields:{mount:e.string({label:"devices.device_info.disk.mount",rules:{max:255}}),size:f({label:"devices.device_info.disk.size",system:"binary",unit:"GiB"}),used:f({label:"devices.device_info.disk.used",system:"binary",unit:"GiB",mutate:[".usage"]}),free:f({label:"devices.device_info.disk.free",system:"binary",unit:"GiB",mutate:[".usage"]}),usage:e.real({label:"devices.device_info.disk.usage",rules:{min:0,max:100},value:R,mutate:[".state"]}),state:e.string({label:"devices.device_info.disk.state",options:[{value:"ok",title:"devices.device_info.disk_state.ok",icon:{kind:"icon",value:"lucide:check"}},{value:"warn",title:"devices.device_info.disk_state.warn",icon:{kind:"icon",value:"lucide:minus"}},{value:"full",title:"devices.device_info.disk_state.full",icon:{kind:"icon",value:"lucide:x"}}],value:le,strict:!0,noSearch:!0})}}),services:e.keyed({label:"devices.device_info.fields.services",icon:"lucide:server",fields:{service:e.relation({label:"devices.service.type",options:Z({library:"devices",shelf:"service"})}),description:e.smallText({label:"devices.service.description",rules:{max:500}}),hide:e.boolean({label:"devices.service.hide"}),links:e.row({scope:"nest",multiple:!0,label:"devices.service.links",icon:"lucide:link",fields:{url:e.url({label:"devices.service.url"}),access:e.string({label:"devices.service.access",options:"access-types",strict:!0,noSearch:!0}),visibility:e.string({label:"devices.service.visibility",options:"visibility-types",strict:!0,noSearch:!0})}}),secrets:e.keyValue({label:"devices.service.secrets",fields:{value:e.password({})},multiple:!0,ui:{keyLabel:"devices.service.secretName",valueLabel:"devices.service.secretValue"}})},by:"service"})}}),l={ssh_config_path:"~/.ssh/config",pihole_conf_path:"",syncthing_ini_path:"~/.config/syncthingtray.ini",gtk_bookmarks_path:"~/.config/gtk-3.0/bookmarks",kodi_sources_path:"~/.local/share/kodi/userdata/sources.xml",krdc_bookmarks_path:"~/.local/share/krdc/bookmarks.xml",rclone_config_path:"~/.config/rclone/rclone.conf",remmina_dir:"~/.local/share/remmina",remoteview_dir:"~/.local/share/remoteview",delfin_config_path:"~/.config/delfin/config.toml"},re="docker compose exec pihole pihole reloaddns",ce={ip:r,cidr:k,mac:b,hostname:g,imei:N,dataSize:f,ram:E,diskSize:P},ne=V({id:"devices",version:"1.0.0",dependsOn:["things"],label:"devices.plugin.label",description:"devices.plugin.description",settings:q({label:"devices.settings.label",icon:"lucide:radar",fields:{info:e.info("devices.settings.scan_info"),button:e.button({label:"devices.settings.scan_button",value:"devices.runScan",icon:"lucide:radar"}),info2:e.info("devices.settings.secrets_help"),info3:e.info("devices.settings.sync_targets_info"),ssh_config_path:e.localFile({label:"devices.settings.ssh_config_path",default:l.ssh_config_path}),pihole_conf_path:e.localFile({label:"devices.settings.pihole_conf_path",default:l.pihole_conf_path}),pihole_reload_cmd:e.string({label:"devices.settings.pihole_reload_cmd",default:re}),syncthing_ini_path:e.localFile({label:"devices.settings.syncthing_ini_path",default:l.syncthing_ini_path}),gtk_bookmarks_path:e.localFile({label:"devices.settings.gtk_bookmarks_path",default:l.gtk_bookmarks_path}),kodi_sources_path:e.localFile({label:"devices.settings.kodi_sources_path",default:l.kodi_sources_path}),krdc_bookmarks_path:e.localFile({label:"devices.settings.krdc_bookmarks_path",default:l.krdc_bookmarks_path}),rclone_config_path:e.localFile({label:"devices.settings.rclone_config_path",default:l.rclone_config_path}),remmina_dir:e.localDir({label:"devices.settings.remmina_dir",default:l.remmina_dir}),remoteview_dir:e.localDir({label:"devices.settings.remoteview_dir",default:l.remoteview_dir}),delfin_config_path:e.localFile({label:"devices.settings.delfin_config_path",default:l.delfin_config_path})}}),libraries:[{meta:T({id:"devices",label:"devices.library.label",icon:"lucide:globe",agent:"Network subnets and the service catalog (network, service)."}),shelves:[Q,ie]},{meta:T({id:"hardware",label:"devices.hardware.label",icon:"lucide:monitor",agent:"All owned devices (a view over things/item where type=device). No shelves of its own."}),shelves:[]}],extends_:[ae],showcases:[G({id:"fleet",library:"devices",label:"devices.fleet.label",icon:"lucide:server",source:{library:"things",shelf:"item"},filter:{type:"device",tags:{$contains:"network"}},columns:["subtype","brand","model","location","condition"],createDefaults:{type:"device"}}),G({id:"all",library:"hardware",label:"devices.all.label",icon:"lucide:monitor",source:{library:"things",shelf:"item"},filter:{type:"device"},columns:["subtype","brand","model","location","condition"],createDefaults:{type:"device"}})],fieldContribs:[{library:"things",shelf:"item",field:"type",options:[{value:"device",title:"devices.device_info.label"}]},{library:"things",shelf:"item",field:"subtype",options:[{value:"pc",title:"devices.deviceGroups.pc",when:{type:"device"}},{value:"server",title:"devices.deviceGroups.server",when:{type:"device"}},{value:"mobile",title:"devices.deviceGroups.mobile",when:{type:"device"}},{value:"tv",title:"devices.deviceGroups.tv",when:{type:"device"}},{value:"printer",title:"devices.deviceGroups.printer",when:{type:"device"}},{value:"iot",title:"devices.deviceGroups.iot",when:{type:"device"}},{value:"network",title:"devices.deviceGroups.network",when:{type:"device"}},{value:"other",title:"devices.deviceGroups.other",when:{type:"device"}}]}],optionLists:[{name:"access-types",options:[...X]},{name:"visibility-types",options:[{value:"lan",title:"devices.visibilityTypes.lan"},{value:"public",title:"devices.visibilityTypes.public"},{value:"other",title:"devices.visibilityTypes.other"}]},{name:"device-groups",options:[{value:"pc",title:"devices.deviceGroups.pc"},{value:"server",title:"devices.deviceGroups.server"},{value:"mobile",title:"devices.deviceGroups.mobile"},{value:"tv",title:"devices.deviceGroups.tv"},{value:"printer",title:"devices.deviceGroups.printer"},{value:"iot",title:"devices.deviceGroups.iot"},{value:"network",title:"devices.deviceGroups.network"},{value:"other",title:"devices.deviceGroups.other"}]}]});export{g as a,b as c,k as i,ne as n,N as o,ee as r,r as s,ce as t};
@@ -0,0 +1 @@
1
+ import{defineLibrary as x}from"@coffer-org/sdk/library";import{defineShelf as p}from"@coffer-org/sdk/shelf";import{WEEKDAY_OPTIONS as k,field as e,fromShelf as r}from"@coffer-org/sdk/fields";import{definePlugin as w}from"@coffer-org/sdk/plugin";import{defineSettings as A}from"@coffer-org/sdk/settings";import{defineExtend as S}from"@coffer-org/sdk/extend";import{localDay as c}from"@coffer-org/sdk/dates";var P=new Map(k.map((t,l)=>[t.value,l])),D=864e5,u=7;function N(t){const l=[0,0,0,0,0,0,0];if(!Array.isArray(t))return l;for(const n of t){const a=n?.value;if(Array.isArray(a))for(const h of a){const s=h,o=typeof s?.day=="string"?P.get(s.day):void 0;if(o===void 0)continue;const i=Number(s?.value);Number.isFinite(i)&&i>0&&(l[o]=l[o]+i)}}return l}function O(){return c()}function E(t){return c(new Date(t))}function m(t){const l=t instanceof Date?c(t):typeof t=="string"?t.slice(0,10):null;if(l===null||!/^\d{4}-\d{2}-\d{2}$/.test(l))return null;const n=Date.parse(l);return Number.isNaN(n)?null:n}function q(t,l,n){const a=Math.round((n-l)/D);if(!Number.isFinite(a)||a<=0)return 0;const h=t.reduce((i,d)=>i+d,0);let s=Math.floor(a/u)*h;const o=(new Date(l).getUTCDay()+6)%u;for(let i=1;i<=a%u;i++)s+=t[(o+i)%u];return s}function C(t,l,n,a){const h=Number(t);if(!Number.isFinite(h))return null;const s=N(l),o=s.reduce((v,g)=>v+g,0);if(o<=0)return null;const i=m(n),d=m(a),y=i===null||d===null?0:q(s,i,d),_=Math.max(0,h-y);return Math.floor(_/(o/u))}function L(t){return typeof t!="number"||!Number.isFinite(t)?null:t<=0?"out":t<7?"low":"enough"}var f=({record:t})=>C(t.quantity,t.dose,t.quantityCheckedAt,O()),M=t=>L(f(t)),T=p({shelf:"medicine",library:"health",label:"health.medicine.label",icon:"lucide:pill",views:{list:["type","form","quantity"]},fields:{name:e.title({label:"core.fields.name"}),stock:e.stats({fields:{quantity:e.int({label:"health.medicine.fields.quantity",rules:{min:0,max:1e5},mutate:["daysLeft","quantityCheckedAt"]}),meter:e.meter({source:{daysLeft:e.int({label:"health.medicine.fields.daysLeft",value:f,cache:3600,mutate:["supply_state"]})},min:0,max:30}),status:e.status({source:{supply_state:e.string({label:"health.medicine.fields.supply_state",options:[{value:"enough",title:"health.medicine.options.supply_state.enough",icon:{kind:"icon",value:"lucide:check"},tone:"success"},{value:"low",title:"health.medicine.options.supply_state.low",icon:{kind:"icon",value:"lucide:minus"},tone:"warning"},{value:"out",title:"health.medicine.options.supply_state.out",icon:{kind:"icon",value:"lucide:x"},tone:"danger"}],value:M,cache:3600,strict:!0,noSearch:!0})}}),countdown:e.countdown({source:{quantityCheckedAt:e.date({label:"health.medicine.fields.quantityCheckedAt",value:t=>E(t.now),mutate:["daysLeft"]})},caption:"units.days"})}}),hairline:e.divider({}),about:e.illustrated({label:"health.medicine.fields.about",fields:{image:e.image({}),text:e.text({rules:{max:1e3}})}}),photos:e.image({label:"health.medicine.fields.photos",multiple:!0}),dose:e.keyed({label:"health.medicine.fields.dose",icon:"lucide:pill",fields:{person:e.relation({label:"health.medicine.fields.dose_person",options:r({library:"people",shelf:"person"})}),value:e.perWeekday({label:"health.medicine.fields.dose_value",rules:{min:0,max:20,step:.5},mutate:["daysLeft"]})},by:"person"}),intakeTimes:e.string({label:"health.medicine.fields.intakeTimes",options:"day-periods",multiple:!0,strict:!0,noSearch:!0}),intakePeriods:e.period({label:"health.medicine.fields.intakePeriods",multiple:!0}),properties:e.properties({columns:2,fields:{type:e.string({label:"core.fields.type",strict:!0,noSearch:!0,ui:{span:6},options:[{value:"vitamin",title:"health.medicine.options.type.vitamin"},{value:"supplement",title:"health.medicine.options.type.supplement"},{value:"medication",title:"health.medicine.options.type.medication"},{value:"antibiotic",title:"health.medicine.options.type.antibiotic"},{value:"hormone",title:"health.medicine.options.type.hormone"},{value:"painkiller",title:"health.medicine.options.type.painkiller"},{value:"homeopathy",title:"health.medicine.options.type.homeopathy"},{value:"herbal",title:"health.medicine.options.type.herbal"}]}),form:e.string({label:"health.medicine.fields.form",strict:!0,noSearch:!0,ui:{span:6},options:[{value:"tablet",title:"health.medicine.options.form.tablet"},{value:"capsule",title:"health.medicine.options.form.capsule"},{value:"syrup",title:"health.medicine.options.form.syrup"},{value:"drops",title:"health.medicine.options.form.drops"},{value:"ointment",title:"health.medicine.options.form.ointment"},{value:"gel",title:"health.medicine.options.form.gel"},{value:"spray",title:"health.medicine.options.form.spray"},{value:"injection",title:"health.medicine.options.form.injection"},{value:"powder",title:"health.medicine.options.form.powder"},{value:"suppository",title:"health.medicine.options.form.suppository"}]})}}),purchase:e.group({label:"health.medicine.groups.purchase",icon:"lucide:shopping-cart",scope:"hoist",fields:{link:e.link({label:"health.medicine.fields.link",ui:{span:12}}),store:e.relation({label:"health.medicine.fields.store",options:r({library:"things",shelf:"store"}),ui:{span:6}}),orderNumber:e.string({label:"health.medicine.fields.orderNumber",rules:{max:100},ui:{span:6}}),purchaseDate:e.date({label:"health.medicine.fields.purchaseDate",ui:{span:4}}),purchasePrice:e.money({label:"health.medicine.fields.purchasePrice",ui:{span:4}}),currency:e.currency({label:"core.fields.currency",default:"UAH",ui:{span:4}})}}),notes:e.text({label:"health.medicine.fields.notes",rules:{max:2e3}})}}),I=p({shelf:"health_visit",library:"health",label:"health.health_visit.label",icon:"lucide:stethoscope",views:{list:["date","person","specialty"]},fields:{name:e.title({label:"core.fields.name"}),description:e.text({label:"health.health_visit.fields.description",rules:{max:1e3}}),timeline:e.timeline({fields:{date:e.date({label:"health.health_visit.fields.date"}),nextVisit:e.reminder({label:"health.health_visit.fields.nextVisit",rules:{lead:14}})}}),reason:e.text({label:"health.health_visit.fields.reason",rules:{max:1e3}}),result:e.text({label:"health.health_visit.fields.result",rules:{max:2e3}}),next_step:e.text({label:"health.health_visit.fields.next_step",rules:{max:1e3}}),specialist:e.string({label:"health.health_visit.fields.specialist",rules:{max:200},ui:{span:4}}),specialty:e.string({label:"health.health_visit.fields.specialty",rules:{max:100},ui:{span:4}}),clinic:e.string({label:"health.health_visit.fields.clinic",rules:{max:200},ui:{span:4}}),cost:e.money({label:"health.health_visit.fields.cost",ui:{span:3}}),currency:e.currency({label:"core.fields.currency",default:"UAH",ui:{span:3}}),medicines:e.relation({label:"health.health_visit.fields.medicines",options:r({library:"health",shelf:"medicine"}),multiple:!0,ui:{span:6}}),people:e.people({source:{person:e.relation({label:"health.health_visit.fields.person",options:r({library:"people",shelf:"person"})})}}),files:e.file({label:"health.health_visit.fields.files",multiple:!0}),photos:e.image({label:"health.health_visit.fields.photos",multiple:!0}),notes:e.text({label:"health.health_visit.fields.notes",rules:{max:2e3}})}}),W=p({shelf:"health_test",library:"health",label:"health.health_test.label",icon:"lucide:flask-conical",views:{list:["date","person","status"]},fields:{name:e.title({label:"core.fields.name"}),description:e.text({label:"health.health_test.fields.description",rules:{max:1e3}}),date:e.date({label:"health.health_test.fields.date",ui:{span:4}}),clinic:e.string({label:"health.health_test.fields.clinic",rules:{max:200},ui:{span:4}}),person:e.relation({label:"health.health_test.fields.person",options:r({library:"people",shelf:"person"}),ui:{span:4}}),indicators:e.assay({label:"health.health_test.fields.indicators",icon:"lucide:activity",analyte:"analyte",value:"value",unit:"unit",low:"low",high:"high",source:{indicators:e.group({scope:"nest",multiple:!0,fields:{analyte:e.string({label:"health.health_test.fields.analyte",rules:{max:100}}),value:e.real({label:"health.health_test.fields.value"}),unit:e.string({label:"health.health_test.fields.unit",rules:{max:20}}),low:e.real({label:"health.health_test.fields.low"}),high:e.real({label:"health.health_test.fields.high"})}})}}),result:e.text({label:"health.health_test.fields.result",rules:{max:5e3}}),attachments:e.image({label:"health.health_test.fields.attachments",multiple:!0}),properties:e.properties({columns:2,fields:{status:e.string({label:"health.health_test.fields.status",strict:!0,noSearch:!0,ui:{span:6},options:[{value:"ordered",title:"health.health_test.options.status.ordered"},{value:"completed",title:"health.health_test.options.status.completed"},{value:"cancelled",title:"health.health_test.options.status.cancelled"}]}),test_type:e.string({label:"health.health_test.fields.test_type",strict:!0,noSearch:!0,ui:{span:6},options:[{value:"blood",title:"health.health_test.options.test_type.blood"},{value:"urine",title:"health.health_test.options.test_type.urine"},{value:"ultrasound",title:"health.health_test.options.test_type.ultrasound"},{value:"xray",title:"health.health_test.options.test_type.xray"},{value:"mri",title:"health.health_test.options.test_type.mri"},{value:"other",title:"health.health_test.options.test_type.other"}]})}}),notes:e.text({label:"health.health_test.fields.notes",rules:{max:2e3}})}}),K=S({id:"person_body",label:"health.person_body.label",icon:"lucide:ruler",attachTo:[{library:"people",shelf:"person"}],agent:"Person's body measurements. weightKg \u2014 weight in kg. heightCm \u2014 height in cm. bloodGroup \u2014 ABO/Rh blood type. allergies \u2014 list of allergens.",fields:{weightKg:e.real({label:"health.person_body.fields.weightKg",rules:{min:1,max:500}}),heightCm:e.int({label:"health.person_body.fields.heightCm",rules:{min:50,max:250}}),bloodGroup:e.string({label:"health.person_body.fields.bloodGroup",strict:!0,noSearch:!0,options:["O-","O+","A-","A+","B-","B+","AB-","AB+"]}),allergies:e.string({label:"health.person_body.fields.allergies",multiple:!0})}}),b=[{value:"any",title:"health.dayPeriods.any"},{value:"before_breakfast",title:"health.dayPeriods.before_breakfast"},{value:"with_breakfast",title:"health.dayPeriods.with_breakfast"},{value:"after_breakfast",title:"health.dayPeriods.after_breakfast"},{value:"with_food",title:"health.dayPeriods.with_food"},{value:"after_lunch",title:"health.dayPeriods.after_lunch"},{value:"evening",title:"health.dayPeriods.evening"},{value:"before_bed",title:"health.dayPeriods.before_bed"},{value:"as_needed",title:"health.dayPeriods.as_needed"}],Y={before_breakfast:"07:30",with_breakfast:"08:00",after_breakfast:"08:30",any:"09:00",with_food:"13:00",after_lunch:"14:00",evening:"19:00",before_bed:"22:00"},B=w({id:"health",version:"1.0.0",dependsOn:["people","things","dav"],label:"health.plugin.label",description:"health.plugin.description",optionLists:[{name:"day-periods",options:[...b]}],libraries:[{meta:x({id:"health",label:"health.library.label",icon:"lucide:hospital",agent:{description:"Medical tests, doctor visits, and medicines \u2014 each linked to a person.",instructions:'Records link to a person (relation to people). Count upcoming/overdue visits by the date field. medicine.quantity is a SNAPSHOT dated by medicine.quantityCheckedAt ("this many as of that date"), and daysLeft subtracts everything the dose schedule has consumed since it \u2014 so when a medicine is taken or restocked, ALWAYS write quantityCheckedAt (today) in the same update_record call as quantity. Writing quantity alone dates the new count to the old checkpoint and can immediately report the pack as out. After a visit \u2014 result/nextVisit.'},starterHint:"appointments coming up, or test results worth revisiting"}),shelves:[T,I,W]}],extends_:[K],settings:A({label:"health.settings.label",fields:{...Object.fromEntries(b.filter(t=>t.value!=="as_needed").map(t=>[`time_${t.value}`,e.time({label:`health.settings.time_${t.value}`,default:Y[t.value],rules:{granularity:"minute"}})]))}})});export{B as default};
@@ -0,0 +1,6 @@
1
+ import{defineLibrary as n}from"@coffer-org/sdk/library";import{defineShelf as r}from"@coffer-org/sdk/shelf";import{field as e}from"@coffer-org/sdk/fields";import{definePlugin as d}from"@coffer-org/sdk/plugin";import{addDays as s}from"@coffer-org/sdk/dates";function o(a,l){const t=Number(l);return typeof a!="string"||!Number.isFinite(t)||t<=0?null:s(a,t)}var i=(a,l)=>({record:t})=>o(t[a],t[l]),g=r({shelf:"plant",library:"garden",label:"garden.plant.label",icon:"lucide:sprout",agent:`A houseplant. title \u2014 name. variety \u2014 cultivar/subspecies. location \u2014 where it stands.
2
+ wateringDays \u2014 watering interval (days). lastWatered \u2014 date of last watering.
3
+ fertilizerDays \u2014 fertilizing interval. lastFertilized \u2014 last date.
4
+ planted \u2014 date planted/acquired.
5
+ nextWatering/nextFertilizing are COMPUTED by the server (last date + interval) and rejected on write:
6
+ to move them, write lastWatered/lastFertilized.`,views:{list:["variety","location","wateringDays","lastWatered"]},fields:{name:e.title({label:"core.fields.name"}),due:e.stats({fields:{nextWatering:e.reminder({label:"garden.plant.fields.nextWatering",rules:{lead:3},value:i("lastWatered","wateringDays")}),nextFertilizing:e.reminder({label:"garden.plant.fields.nextFertilizing",rules:{lead:7},value:i("lastFertilized","fertilizerDays")}),planted:e.date({label:"garden.plant.fields.planted",rules:{min:"2000-01-01",max:"today"}})}}),hairline:e.divider({}),specimen:e.specimen({title:{variety:e.string({label:"garden.plant.fields.variety",rules:{max:100}})},subtitle:{location:e.string({label:"garden.plant.fields.location",strict:!0,noSearch:!0,options:[{value:"windowsill",title:"garden.plant.options.location.windowsill"},{value:"balcony",title:"garden.plant.options.location.balcony"},{value:"hanging",title:"garden.plant.options.location.hanging"},{value:"floor",title:"garden.plant.options.location.floor"},{value:"other",title:"garden.plant.options.location.other"}]})},conditions:{sunlight:e.string({label:"garden.plant.fields.sunlight",strict:!0,noSearch:!0,options:[{value:"shade",title:"garden.plant.options.sunlight.shade"},{value:"partial",title:"garden.plant.options.sunlight.partial"},{value:"indirect",title:"garden.plant.options.sunlight.indirect"},{value:"direct",title:"garden.plant.options.sunlight.direct"}]}),pot:e.string({label:"garden.plant.fields.pot",rules:{max:100}})}}),about:e.illustrated({label:"garden.plant.fields.about",fields:{image:e.avatar({}),text:e.text({rules:{max:1e3}})}}),watering:e.grid({columns:3,fields:{button:e.button({label:"garden.plant.actions.watered",value:"garden.watered",icon:"lucide:droplet"}),lastWatered:e.date({label:"garden.plant.fields.lastWatered",rules:{max:"today"},mutate:["nextWatering"]}),wateringDays:e.int({label:"garden.plant.fields.wateringDays",rules:{min:1,max:365},mutate:["nextWatering"]})}}),feeding:e.grid({columns:3,fields:{button2:e.button({label:"garden.plant.actions.fertilized",value:"garden.fertilized",icon:"lucide:flask-conical"}),lastFertilized:e.date({label:"garden.plant.fields.lastFertilized",rules:{max:"today"},mutate:["nextFertilizing"]}),fertilizerDays:e.int({label:"garden.plant.fields.fertilizerDays",rules:{min:1,max:365},mutate:["nextFertilizing"]})}}),photos:e.image({label:"garden.plant.fields.photos",multiple:!0}),tags:e.tags({label:"garden.plant.fields.tags"}),notes:e.text({label:"garden.plant.fields.notes",rules:{max:500}})}}),u=d({id:"garden",version:"1.0.0",dependsOn:["things"],label:"garden.plugin.label",description:"garden.plugin.description",libraries:[{meta:n({id:"garden",label:"garden.library.label",icon:"lucide:sprout",agent:{description:"Garden plants (plant) \u2014 watering and fertilizing schedule.",instructions:"To find what needs watering \u2014 compare nextWatering with today. When watered/fertilized \u2014 update lastWatered/lastFertilized via update_record; nextWatering/nextFertilizing are computed by the server from those dates and the interval, and are rejected if you write them."},starterHint:"plants due for watering or fertilizing"}),shelves:[g]}],fieldContribs:[{library:"things",shelf:"item",field:"type",options:[{value:"garden",title:"garden.contrib.type.garden"}]}]});export{u as default};
@@ -0,0 +1,2 @@
1
+ import{defineLibrary as n}from"@coffer-org/sdk/library";import{defineShelf as o}from"@coffer-org/sdk/shelf";import{field as e,fromShelf as t}from"@coffer-org/sdk/fields";import{definePlugin as s}from"@coffer-org/sdk/plugin";import{defineExtend as a}from"@coffer-org/sdk/extend";var i=o({shelf:"personal_document",library:"documents",label:"documents.personal_document.label",icon:"lucide:id-card",views:{list:["owner","type","surname","expires"]},fields:{name:e.title({label:"core.fields.name"}),about:e.illustrated({label:"documents.personal_document.fields.about",fields:{image:e.avatar({}),text:e.text({rules:{max:1e3}})}}),idcard:e.idcard({overline:{type:e.string({label:"core.fields.type",strict:!0,noSearch:!0,options:[{value:"P",title:"documents.personal_document.options.type.P",face:"passport"},{value:"PA",title:"documents.personal_document.options.type.PA",face:"biometric"},{value:"ID",title:"documents.personal_document.options.type.ID",face:"idcard"},{value:"DL",title:"documents.personal_document.options.type.DL",face:"licence"},{value:"RP",title:"documents.personal_document.options.type.RP",face:"residence"},{value:"TP",title:"documents.personal_document.options.type.TP",face:"protection"},{value:"MIL",title:"documents.personal_document.options.type.MIL",face:"military"},{value:"TIN",title:"documents.personal_document.options.type.TIN",face:"tax"},{value:"SSN",title:"documents.personal_document.options.type.SSN",face:"social"},{value:"V",title:"documents.personal_document.options.type.V",face:"visa"},{value:"WP",title:"documents.personal_document.options.type.WP",face:"workpermit"},{value:"MC",title:"documents.personal_document.options.type.MC",face:"medical"},{value:"INS",title:"documents.personal_document.options.type.INS",face:"insurance"},{value:"BR",title:"documents.personal_document.options.type.BR",face:"birth"},{value:"MAR",title:"documents.personal_document.options.type.MAR",face:"marriage"},{value:"DIV",title:"documents.personal_document.options.type.DIV",face:"divorce"},{value:"DEA",title:"documents.personal_document.options.type.DEA",face:"death"},{value:"EDU",title:"documents.personal_document.options.type.EDU",face:"diploma"},{value:"VAC",title:"documents.personal_document.options.type.VAC",face:"vaccination"},{value:"OT",title:"documents.personal_document.options.type.OT"}]})},number:{number:e.identifier({label:"documents.personal_document.fields.number",rules:{max:50}})},photo:{portrait:e.image({label:"documents.personal_document.fields.portrait"})},meta:{surname:e.string({label:"documents.personal_document.fields.surname",rules:{max:100},ui:{span:6}}),given_names:e.string({label:"documents.personal_document.fields.given_names",rules:{max:200},ui:{span:6}}),birth_date:e.date({label:"documents.personal_document.fields.birth_date",ui:{span:4}}),sex:e.string({label:"documents.personal_document.fields.sex",strict:!0,noSearch:!0,options:[{value:"M",title:"documents.personal_document.options.sex.M"},{value:"F",title:"documents.personal_document.options.sex.F"}],ui:{span:4,faces:["passport","biometric","idcard","licence","residence","protection","military","visa"]}}),nationality:e.string({label:"documents.personal_document.fields.nationality",options:"countries",strict:!0,noSearch:!0,ui:{span:4,faces:["passport","biometric","idcard","licence","residence","protection","military","visa"]}})},footer:{issued:e.date({label:"documents.personal_document.fields.issued",ui:{span:4}}),authority:e.string({label:"documents.personal_document.fields.authority",rules:{max:200},ui:{span:4}}),record_no:e.string({label:"documents.personal_document.fields.record_no",rules:{max:50},ui:{span:4}})},mrz:{mrz:e.mrz({label:"documents.personal_document.fields.mrz",rules:{max:200}})}}),expires:e.reminder({label:"documents.personal_document.fields.expires",rules:{lead:60}}),owner:e.relation({label:"documents.personal_document.fields.owner",options:t({library:"people",shelf:"person"}),ui:{span:6}}),storage:e.relation({label:"documents.personal_document.fields.storage",options:t({library:"things",shelf:"storage_location"}),ui:{span:6}}),photos:e.image({label:"documents.personal_document.fields.photos",multiple:!0}),tags:e.tags({label:"documents.personal_document.fields.tags"}),notes:e.text({label:"documents.personal_document.fields.notes",rules:{max:1e3}})}}),l=a({id:"person_identity",label:"documents.person_identity.label",icon:"lucide:globe",attachTo:[{library:"people",shelf:"person"}],agent:`Canonical person identity (not tied to a physical document).
2
+ nationality \u2014 ISO alpha-2. variants \u2014 given/family name per language (field.keyed by lang: name+surname).`,fields:{nationality:e.string({label:"documents.person_identity.fields.nationality",options:"countries",strict:!0,noSearch:!0}),variants:e.keyed({label:"documents.person_identity.fields.variants",icon:"lucide:languages",fields:{lang:e.string({label:"documents.person_identity.variants.lang",options:"languages",strict:!0,noSearch:!0}),name:e.string({label:"documents.person_identity.variants.name"}),surname:e.string({label:"documents.person_identity.variants.surname"})},by:"lang"})}}),r=s({id:"documents",version:"1.0.0",dependsOn:["people","things"],label:"documents.plugin.label",description:"documents.plugin.description",libraries:[{meta:n({id:"documents",label:"documents.library.label",icon:"lucide:id-card",agent:{description:"Personal documents \u2014 IDs, passports, licences (personal_document); tracks expiry.",instructions:"Expiring documents \u2014 count by expires. When a document is reissued \u2014 update number/issued/expires via update_record."},starterHint:"documents that are about to expire"}),shelves:[i]}],extends_:[l]});export{r as default};
@@ -0,0 +1 @@
1
+ import{defineLibrary as p}from"@coffer-org/sdk/library";import{defineShelf as a}from"@coffer-org/sdk/shelf";import{field as e,fromShelf as r}from"@coffer-org/sdk/fields";import{definePlugin as f}from"@coffer-org/sdk/plugin";var h=(t,i)=>(t??[]).reduce((n,d)=>{const o=d?.[i];return n+(Number(o&&typeof o=="object"?o.value:o)||0)},0),m=t=>t&&typeof t=="object"?t.unit??null:null,s=()=>e.string({options:"cooking",value:({record:t})=>m(t.quantity),strict:!0}),k=(t,i)=>(t??[]).map(n=>n?.[i]==null?"":String(n[i])).filter(n=>n!=="").sort()[0]??null,l=t=>{const i=t?.value;return typeof i=="number"&&Number.isFinite(i)?i:null},g=({record:t})=>{const i=l(t.minQuantity);return i==null?"ok":(l(t.quantity)??0)<i?"low":"ok"},b=a({shelf:"food_item",library:"kitchen",label:"kitchen.food_item.label",icon:"lucide:soup",agent:'A kitchen product is generic (buckwheat, milk), and its `variants` rows are the actual goods on the shelf. The unit is declared once on the product, inside its stock: `quantity` is written as `{"unit": "<unit>"}` \u2014 the unit alone, never a value. Every amount below it \u2014 `minQuantity`, each variant row\'s `quantity` \u2014 is written as `{"value": <number>}` alone, on that scale. Do NOT send a unit inside those amounts: the server fills it in from the product\'s `quantity.unit` and discards anything you put there. Reads hand them back as `{"value": \u2026, "unit": \u2026}`, which you may echo unchanged. The `value` of the product\'s `quantity`, and `expires`, are computed from the variants and MUST NOT be written \u2014 to record a purchase or a write-off, change the `quantity` of the relevant variant row, or add a variant row for a good that is not there yet. A variant with quantity 0 means "this good is known, none in stock" and is a shopping-list candidate, so do not delete it.',views:{list:["subcategory","quantity","expires"]},fields:{name:e.title({label:"core.fields.name"}),stock:e.stats({fields:{quantity:e.measured({label:"kitchen.food_item.fields.quantity",units:"cooking",rules:{min:0},fields:{value:e.real({value:({record:t})=>h(t.variants,"quantity"),mutate:["stockState"]}),unit:e.string({options:"cooking",strict:!0,mutate:["minQuantity.unit","variants.quantity.unit"]})}}),status:e.status({source:{stockState:e.string({label:"kitchen.food_item.fields.stockState",value:g,strict:!0,noSearch:!0,options:[{value:"ok",title:"kitchen.food_item.options.stockState.ok",tone:"success"},{value:"low",title:"kitchen.food_item.options.stockState.low",tone:"danger"}]})}}),minQuantity:e.measured({label:"kitchen.food_item.fields.minQuantity",units:"cooking",rules:{min:0},fields:{unit:s(),value:e.real({rules:{min:0},mutate:["stockState"]})}}),expires:e.reminder({label:"kitchen.food_item.fields.expires",rules:{lead:14},value:({record:t})=>k(t.variants,"expires")})}}),hairline:e.divider({}),about:e.illustrated({label:"kitchen.food_item.fields.about",fields:{image:e.avatar({}),text:e.text({rules:{max:1e3}})}}),photos:e.image({label:"kitchen.food_item.fields.photos",multiple:!0}),variants:e.row({scope:"nest",multiple:!0,label:"kitchen.food_item.fields.variants",icon:"lucide:package",fields:{name:e.string({label:"kitchen.food_item.variant.name",rules:{max:200}}),quantity:e.measured({label:"kitchen.food_item.variant.quantity",units:"cooking",rules:{min:0},fields:{unit:s(),value:e.real({rules:{min:0},mutate:["quantity.value"]})}}),expires:e.reminder({label:"kitchen.food_item.variant.expires",rules:{lead:14},mutate:["expires"]}),location:e.relation({label:"kitchen.food_item.variant.location",options:r({library:"things",shelf:"storage_location"})}),shops:e.link({label:"kitchen.food_item.variant.shops",multiple:!0}),photo:e.image({label:"kitchen.food_item.variant.photo"})}}),subcategory:e.string({label:"kitchen.food_item.fields.subcategory",rules:{max:100}}),tags:e.tags({label:"kitchen.food_item.fields.tags"}),notes:e.text({label:"kitchen.food_item.fields.notes",rules:{max:2e3}})}}),_=async({ref:t})=>{const i=(await t?.("product"))?.quantity;return i&&typeof i=="object"?i.unit??null:null},c=t=>{const i=t?.value;return typeof i=="number"&&Number.isFinite(i)?i:null},u=async({ref:t})=>(await t?.("product"))?.quantity??null,v=async t=>{const i=c(await u(t));if(i==null)return null;const n=c(t.parent?.amount);return n==null?i>0?null:"missing":i>=n?"enough":i>0?"partial":"missing"},y=({record:t})=>(t.ingredients??[]).filter(i=>!i.optional).every(i=>i.stock_state==="enough")?"ready":"not_ready",w=a({shelf:"food_recipe",library:"kitchen",label:"kitchen.food_recipe.label",icon:"lucide:clipboard-list",views:{list:["category","description","prep_time","cook_time"]},fields:{name:e.title({label:"core.fields.name"}),cooking:e.stats({fields:{status:e.status({source:{readiness:e.string({label:"kitchen.food_recipe.fields.readiness",value:y,strict:!0,noSearch:!0,options:[{value:"ready",title:"kitchen.food_recipe.options.readiness.ready",tone:"success"},{value:"not_ready",title:"kitchen.food_recipe.options.readiness.not_ready",tone:"danger"}]})}}),servings:e.int({label:"kitchen.food_recipe.fields.servings",rules:{min:1,max:100}}),prep_time:e.duration({label:"kitchen.food_recipe.fields.prep_time"}),cook_time:e.duration({label:"kitchen.food_recipe.fields.cook_time"})}}),hairline:e.divider({}),description:e.text({label:"kitchen.food_recipe.fields.description",rules:{max:500}}),images:e.image({label:"kitchen.food_recipe.fields.images",multiple:!0}),ingredients:e.row({scope:"nest",multiple:!0,label:"kitchen.food_recipe.fields.ingredients",icon:"lucide:carrot",rules:{unique:["product"]},fields:{product:e.relation({label:"kitchen.food_recipe.ingredient.product",options:r({library:"kitchen",shelf:"food_item"})}),amount:e.measured({label:"kitchen.food_recipe.ingredient.amount",units:"cooking",rules:{min:0},fields:{unit:e.string({options:"cooking",value:_,strict:!0,cache:0}),value:e.real({rules:{min:0},mutate:[".stock_state"]})}}),stock:e.measured({label:"kitchen.food_recipe.ingredient.stock",units:"cooking",cache:0,value:u}),stock_state:e.string({label:"kitchen.food_recipe.ingredient.stock_state",cache:0,value:v,mutate:["readiness"],strict:!0,noSearch:!0,options:[{value:"enough",title:"kitchen.food_recipe.options.stock_state.enough",icon:{kind:"icon",value:"lucide:check"},tone:"success"},{value:"partial",title:"kitchen.food_recipe.options.stock_state.partial",icon:{kind:"icon",value:"lucide:minus"},tone:"danger"},{value:"missing",title:"kitchen.food_recipe.options.stock_state.missing",icon:{kind:"icon",value:"lucide:x"},tone:"danger"}]}),optional:e.boolean({label:"kitchen.food_recipe.ingredient.optional",mutate:["readiness"]})}}),ingredients_free:e.row({scope:"nest",multiple:!0,label:"kitchen.food_recipe.fields.ingredients_free",icon:"lucide:list",rules:{unique:["product"]},fields:{product:e.string({label:"kitchen.food_recipe.ingredient_free.product",rules:{max:200}}),amount:e.amount({label:"kitchen.food_recipe.ingredient_free.amount",unitFrom:"unit",rules:{min:0}}),unit:e.unit({label:"kitchen.food_recipe.ingredient_free.unit",options:"cooking"}),optional:e.boolean({label:"kitchen.food_recipe.ingredient_free.optional"})}}),steps:e.step({label:"kitchen.food_recipe.fields.steps",multiple:!0,fields:{text:e.markdown({label:"kitchen.food_recipe.fields.step",rules:{max:5e3}})}}),storage:e.text({label:"kitchen.food_recipe.fields.storage",rules:{max:1e3}}),steps_legacy:e.markdown({label:"kitchen.food_recipe.fields.steps_legacy",noSearch:!0,agent:"Transitional, emptied at startup. Never read or write it; the steps are the `steps` rows.",ui:{hidden:!0}}),properties:e.properties({columns:2,fields:{category:e.string({label:"kitchen.food_recipe.fields.category",multiple:!0,strict:!0,noSearch:!0,ui:{span:6},options:[{value:"first",title:"kitchen.food_recipe.options.category.first"},{value:"main",title:"kitchen.food_recipe.options.category.main"},{value:"salad",title:"kitchen.food_recipe.options.category.salad"},{value:"appetizer",title:"kitchen.food_recipe.options.category.appetizer"},{value:"side",title:"kitchen.food_recipe.options.category.side"},{value:"dessert",title:"kitchen.food_recipe.options.category.dessert"},{value:"drink",title:"kitchen.food_recipe.options.category.drink"},{value:"sauce",title:"kitchen.food_recipe.options.category.sauce"}]}),difficulty:e.string({label:"kitchen.food_recipe.fields.difficulty",strict:!0,noSearch:!0,ui:{span:6},options:[{value:"easy",title:"kitchen.food_recipe.options.difficulty.easy"},{value:"medium",title:"kitchen.food_recipe.options.difficulty.medium"},{value:"hard",title:"kitchen.food_recipe.options.difficulty.hard"}]})}}),tags:e.tags({label:"kitchen.food_recipe.fields.tags"}),notes:e.text({label:"kitchen.food_recipe.fields.notes",rules:{max:1e3}})}}),x=a({shelf:"preferences",library:"kitchen",label:"kitchen.preferences.label",icon:"lucide:notebook-pen",single:!0,agent:"One record. The household food habits, diets and allergies; where groceries are bought, what is bought there and in what volumes; which kitchen appliances exist and which do not. Read it before suggesting recipes, building a shopping list, or planning a menu. An appliance listed as absent is a fact, not a gap \u2014 do not propose recipes that need it.",fields:{preferences:e.markdown({label:"kitchen.preferences.fields.preferences",rules:{max:1e4}}),shops:e.markdown({label:"kitchen.preferences.fields.shops",rules:{max:1e4}}),equipment:e.markdown({label:"kitchen.preferences.fields.equipment",rules:{max:1e4}}),notes:e.text({label:"kitchen.preferences.fields.notes",rules:{max:1e4}})}}),q=f({id:"kitchen",version:"1.0.0",dependsOn:["things"],label:"kitchen.plugin.label",description:"kitchen.plugin.description",libraries:[{meta:p({id:"kitchen",label:"kitchen.library.label",icon:"lucide:cooking-pot",agent:{description:"Food inventory and recipes \u2014 what is in stock, what is expiring, what can be cooked.",instructions:"Read kitchen/preferences before creating, merging or renaming a product: it records how this household splits products from variants, which units each family of goods uses, and why. It governs \u2014 these rules are the mechanics, that record is the intent."},starterHint:"what's expiring soon, or what can be cooked from what's in stock"}),shelves:[b,w,x]}],fieldContribs:[{library:"things",shelf:"item",field:"type",options:[{value:"kitchenware",title:"kitchen.contrib.type.kitchenware"}]}]});export{q as default};
@@ -0,0 +1 @@
1
+ import{field as a}from"@coffer-org/sdk/fields";import{definePlugin as l}from"@coffer-org/sdk/plugin";import{defineSettings as o}from"@coffer-org/sdk/settings";var t=32e3,s=64e3,n="claude-sonnet-5",i="claude-opus-5",r=[{value:"haiku",id:"claude-haiku-4-5",name:"Haiku 4.5",effort:"",reasoning:!1,maxOutput:s},{value:"sonnet-low",id:n,name:"Sonnet 5",effort:"low",reasoning:!1,maxOutput:t},{value:"sonnet-medium",id:n,name:"Sonnet 5",effort:"medium",reasoning:!1,maxOutput:t},{value:"sonnet-high",id:n,name:"Sonnet 5",effort:"high",reasoning:!0,maxOutput:t},{value:"opus-low",id:i,name:"Opus 5",effort:"low",reasoning:!1,maxOutput:t},{value:"opus-medium",id:i,name:"Opus 5",effort:"medium",reasoning:!0,maxOutput:t},{value:"opus-high",id:i,name:"Opus 5",effort:"high",reasoning:!0,maxOutput:t}];function d(e){return[e.effort,e.reasoning?"thinking":""].filter(Boolean).join(" \xB7 ")}var g=l({id:"claude-agent",version:"1.0.0",dependsOn:[],label:"claude-agent.plugin.label",description:"claude-agent.plugin.description",fieldContribs:[{library:"_settings",shelf:"system",field:"agent_id",options:[{value:"claude-agent",title:"claude-agent.plugin.label"}]}],settings:o({label:"claude-agent.settings.label",fields:{group:a.group({label:"claude-agent.settings.groups.runtime",icon:"lucide:bot",scope:"hoist",fields:{auth_mode:a.string({label:"claude-agent.settings.auth_mode",default:"subscription",strict:!0,noSearch:!0,options:[{value:"subscription",title:"claude-agent.settings.auth_mode_subscription"},{value:"api_key",title:"claude-agent.settings.auth_mode_api_key"}]}),anthropic_api_key:a.password({label:"claude-agent.settings.anthropic_api_key",ui:{hidden:{auth_mode:{$ne:"api_key"}}}}),claude_model:a.string({label:"claude-agent.settings.claude_model",default:"haiku",strict:!0,noSearch:!0,options:r.map(e=>{const u=d(e);return{value:e.value,title:e.name,...u?{subtitle:u}:{}}})})}})}})});export{g as default};
@@ -0,0 +1 @@
1
+ import{n as a,r,t as s}from"./src-CgOvTEkQ.js";export{a as default,s as fin,r as iban};
@@ -0,0 +1 @@
1
+ import{defineLibrary as c}from"@coffer-org/sdk/library";import{defineShelf as p}from"@coffer-org/sdk/shelf";import{field as e,fromShelf as o}from"@coffer-org/sdk/fields";import{definePlugin as f}from"@coffer-org/sdk/plugin";import{defineExtend as r}from"@coffer-org/sdk/extend";import{defineShowcase as m}from"@coffer-org/sdk/showcase";var g=r({id:"drone",label:"drone.drone.label",icon:"tb:drone",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["aircraft","rtf"]}},agent:{description:`FPV drone technical characteristics. frame_size \u2014 frame size (e.g. 3.5"). motors \u2014 motors. firmware \u2014 firmware (Betaflight/INAV). camera/flight_controller/vtx/gps_module link to things/item[type=drone] records of the matching subtype. A drone whose parts cannot be separate records is subtype='rtf' instead, and carries the component extends directly.`,instructions:"drone references the components; specs live in each module's fields. When you replace a component or update the firmware \u2014 update the relevant fields via update_record."},fields:{bento:e.bento({fields:{group:{span:"2x1",el:e.group({scope:"hoist",fields:{motors:e.string({label:"drone.drone.fields.motors",rules:{max:150}}),props:e.string({label:"drone.drone.fields.props",rules:{max:80}}),camera:e.relation({label:"drone.drone.fields.camera",options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"camera"}})})}})},group2:e.group({scope:"hoist",fields:{power_module:e.string({label:"drone.drone.fields.power_module",rules:{max:60}}),vtx:e.relation({label:"drone.drone.fields.vtx",options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"vtx"}})})}}),group3:e.group({scope:"hoist",fields:{flight_time:e.string({label:"drone.drone.fields.flight_time",rules:{max:60}}),firmware:e.string({label:"drone.drone.fields.firmware",options:"drone-firmware",strict:!0,noSearch:!0}),firmware_version:e.string({label:"drone.drone.fields.firmware_version",rules:{max:40}}),firmware_target:e.string({label:"drone.drone.fields.firmware_target",rules:{max:80}})}}),group4:e.group({scope:"hoist",fields:{frame_size:e.string({label:"drone.drone.fields.frame_size",rules:{max:40}}),purpose:e.string({label:"drone.drone.fields.purpose",rules:{max:200}})}}),group5:e.group({scope:"hoist",fields:{flight_controller:e.relation({label:"drone.drone.fields.flight_controller",options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"flight_controller"}})}),gps_module:e.relation({label:"drone.drone.fields.gps_module",options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"gps"}})})}}),group6:e.group({scope:"hoist",fields:{radio_link:e.string({label:"drone.drone.fields.radio_link",options:"drone-radio-links",multiple:!0,strict:!0,noSearch:!0}),receiver:e.string({label:"drone.drone.fields.receiver",rules:{max:80}}),video_system:e.string({label:"drone.drone.fields.video_system",options:"drone-video-systems",strict:!0,noSearch:!0})}})}}),snippets:e.group({scope:"nest",label:"drone.drone.groups.snippets",icon:"lucide:terminal",multiple:!0,fields:{title:e.string({label:"drone.drone.fields.snippet_title",rules:{max:100}}),summary:e.text({label:"drone.drone.fields.snippet_summary",rules:{max:500}}),snippet:e.source({label:"drone.drone.fields.snippet",rules:{ext:"md"}})}}),flights:e.backrefs({label:"drone.drone.fields.flights",from:{library:"drone",shelf:"flight",field:"aircraft"}}),notes:e.text({label:"drone.drone.fields.notes",rules:{max:2e3}})}}),b=r({id:"drone_battery",label:"drone.drone_battery.label",icon:"lucide:battery-full",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["battery","rtf"]}},agent:"FPV drone battery characteristics. cells \u2014 number of cells (1S/3S/4S). capacity \u2014 capacity in mAh. c_rate \u2014 discharge current. auw \u2014 all-up weight of the assembly in flight.",fields:{charger:e.string({label:"drone.drone_battery.fields.charger",rules:{max:100}}),cells:e.string({label:"drone.drone_battery.fields.cells",options:"drone-cells",strict:!0,noSearch:!0}),capacity:e.measured({label:"drone.drone_battery.fields.capacity",units:"energy"}),c_rate:e.string({label:"drone.drone_battery.fields.c_rate",rules:{max:20}}),auw:e.string({label:"drone.drone_battery.fields.auw",rules:{max:40}}),flights:e.backrefs({label:"drone.drone_battery.fields.flights",from:{library:"drone",shelf:"flight",field:"batteries"}}),notes:e.text({label:"drone.drone_battery.fields.notes",rules:{max:2e3}})}}),_=r({id:"drone_vtx",label:"drone.drone_vtx.label",icon:"lucide:radio-tower",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["vtx","rtf"]}},agent:"FPV video transmitter characteristics. input_voltage \u2014 input voltage. protocol \u2014 control protocols, codes from the drone-vtx-protocols list. frequency_groups \u2014 Betaflight band letters. channel_count \u2014 number of channels.",fields:{input_voltage:e.string({label:"drone.drone_vtx.fields.input_voltage",rules:{max:40}}),protocol:e.string({label:"drone.drone_vtx.fields.protocol",options:"drone-vtx-protocols",multiple:!0,strict:!0,noSearch:!0}),antenna_interface:e.string({label:"drone.drone_vtx.fields.antenna_interface",options:"drone-rf-connectors",strict:!0,noSearch:!0}),channel_count:e.int({label:"drone.drone_vtx.fields.channel_count",rules:{min:0}}),mounting:e.string({label:"drone.drone_vtx.fields.mounting",options:"drone-mounting",multiple:!0,strict:!0,noSearch:!0}),built_in_microphone:e.boolean({label:"drone.drone_vtx.fields.built_in_microphone"}),frequency_groups:e.string({label:"drone.drone_vtx.fields.frequency_groups",options:"drone-bands",multiple:!0,strict:!0,noSearch:!0}),power_levels:e.keyed({label:"drone.drone_vtx.groups.power_levels",icon:"lucide:zap",container:e.row,fields:{level:e.string({label:"drone.drone_vtx.fields.power_level",options:"drone-vtx-power",strict:!0,noSearch:!0}),current_ma:e.int({label:"drone.drone_vtx.fields.current_ma",rules:{min:0}}),dbm:e.real({label:"drone.drone_vtx.fields.dbm"})},by:"level"}),notes:e.text({label:"drone.drone_vtx.fields.notes",rules:{max:2e3}})}}),h=r({id:"drone_gps",label:"drone.drone_gps.label",icon:"lucide:satellite",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["gps","rtf"]}},agent:"FPV drone GPS module characteristics. gnss_chip \u2014 chipset. compass_chip \u2014 magnetometer. satellite_systems \u2014 supported satellite systems.",fields:{gnss_chip:e.string({label:"drone.drone_gps.fields.gnss_chip",rules:{max:80}}),compass_chip:e.string({label:"drone.drone_gps.fields.compass_chip",rules:{max:60}}),barometer:e.boolean({label:"drone.drone_gps.fields.barometer"}),interface:e.string({label:"drone.drone_gps.fields.interface",options:"drone-serial-interfaces",multiple:!0,strict:!0,noSearch:!0}),input_voltage:e.string({label:"drone.drone_gps.fields.input_voltage",rules:{max:40}}),update_rate_hz:e.int({label:"drone.drone_gps.fields.update_rate_hz",rules:{min:0}}),receiving_channels:e.int({label:"drone.drone_gps.fields.receiving_channels",rules:{min:0}}),supported_protocols:e.string({label:"drone.drone_gps.fields.supported_protocols",options:"drone-gnss-protocols",multiple:!0,strict:!0,noSearch:!0}),baud_rates:e.string({label:"drone.drone_gps.fields.baud_rates",options:"drone-baud-rates",multiple:!0,strict:!0,noSearch:!0}),satellite_systems:e.string({label:"drone.drone_gps.fields.satellite_systems",options:"drone-gnss-systems",multiple:!0,strict:!0,noSearch:!0}),notes:e.text({label:"drone.drone_gps.fields.notes",rules:{max:2e3}})}}),v=r({id:"drone_flight_controller",label:"drone.drone_flight_controller.label",icon:"lucide:sliders-horizontal",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["flight_controller","rtf"]}},agent:"FPV drone flight controller characteristics. mcu \u2014 processor (STM32F411/F405). gyro \u2014 gyroscope. supported_firmware \u2014 compatible firmware (Betaflight, INAV).",fields:{mcu:e.string({label:"drone.drone_flight_controller.fields.mcu",options:"drone-fc-mcu",strict:!0,noSearch:!0}),gyro:e.string({label:"drone.drone_flight_controller.fields.gyro",options:"drone-gyro",multiple:!0,strict:!0,noSearch:!0}),barometer:e.boolean({label:"drone.drone_flight_controller.fields.barometer"}),osd_chip:e.string({label:"drone.drone_flight_controller.fields.osd_chip",options:"drone-osd-chip",strict:!0,noSearch:!0}),blackbox:e.string({label:"drone.drone_flight_controller.fields.blackbox",options:"drone-blackbox",strict:!0,noSearch:!0}),bluetooth:e.boolean({label:"drone.drone_flight_controller.fields.bluetooth"}),wifi:e.boolean({label:"drone.drone_flight_controller.fields.wifi"}),current_sensor_input:e.boolean({label:"drone.drone_flight_controller.fields.current_sensor_input"}),power_input:e.string({label:"drone.drone_flight_controller.fields.power_input",rules:{max:40}}),constant_current:e.string({label:"drone.drone_flight_controller.fields.constant_current",rules:{max:20}}),peak_current:e.string({label:"drone.drone_flight_controller.fields.peak_current",rules:{max:20}}),bec_5v:e.string({label:"drone.drone_flight_controller.fields.bec_5v",rules:{max:20}}),bec_9v:e.string({label:"drone.drone_flight_controller.fields.bec_9v",rules:{max:20}}),mounting:e.string({label:"drone.drone_flight_controller.fields.mounting",options:"drone-mounting",multiple:!0,strict:!0,noSearch:!0}),uart_count:e.int({label:"drone.drone_flight_controller.fields.uart_count",rules:{min:0}}),supported_firmware:e.string({label:"drone.drone_flight_controller.fields.supported_firmware",options:"drone-firmware",multiple:!0,strict:!0,noSearch:!0}),firmware_target:e.string({label:"drone.drone_flight_controller.fields.firmware_target",rules:{max:80}}),build_role:e.string({label:"drone.drone_flight_controller.fields.build_role",rules:{max:200}}),notes:e.text({label:"drone.drone_flight_controller.fields.notes",rules:{max:2e3}})}}),y=r({id:"drone_goggles",label:"drone.drone_goggles.label",icon:"lucide:glasses",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:"goggles"},agent:"FPV goggles characteristics. display_size \u2014 display diagonal. frequency_bands \u2014 supported radio bands. battery_life \u2014 runtime on battery.",fields:{display_size:e.string({label:"drone.drone_goggles.fields.display_size",rules:{max:20}}),display_resolution:e.string({label:"drone.drone_goggles.fields.display_resolution",rules:{max:40}}),display_brightness:e.string({label:"drone.drone_goggles.fields.display_brightness",rules:{max:30}}),view_angle:e.string({label:"drone.drone_goggles.fields.view_angle",rules:{max:20}}),antenna:e.string({label:"drone.drone_goggles.fields.antenna",rules:{max:80}}),frequency_bands:e.string({label:"drone.drone_goggles.fields.frequency_bands",options:"drone-bands",multiple:!0,strict:!0,noSearch:!0}),battery:e.string({label:"drone.drone_goggles.fields.battery",rules:{max:60}}),battery_life:e.string({label:"drone.drone_goggles.fields.battery_life",rules:{max:40}}),charging:e.string({label:"drone.drone_goggles.fields.charging",rules:{max:60}}),band_channels:e.keyed({label:"drone.drone_goggles.groups.band_channels",icon:"lucide:radio",container:e.row,fields:{band:e.string({label:"drone.drone_goggles.fields.band",options:"drone-bands",strict:!0,noSearch:!0}),channels:e.int({label:"drone.drone_goggles.fields.channels",multiple:!0})},by:"band"}),notes:e.text({label:"drone.drone_goggles.fields.notes",rules:{max:2e3}})}}),x=r({id:"drone_antenna",label:"drone.drone_antenna.label",icon:"lucide:radio",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["antenna","rtf"]}},agent:"FPV antenna characteristics. rf_band \u2014 the bands it covers, codes from drone-rf-bands. polarization \u2014 RHCP/LHCP/linear; a video link needs the SAME polarization on both ends. antenna_type \u2014 the radiating structure. connector \u2014 one model often ships in several connector variants.",fields:{rf_band:e.string({label:"drone.drone_antenna.fields.rf_band",options:"drone-rf-bands",multiple:!0,strict:!0,noSearch:!0}),polarization:e.string({label:"drone.drone_antenna.fields.polarization",options:"drone-polarization",strict:!0,noSearch:!0}),antenna_type:e.string({label:"drone.drone_antenna.fields.antenna_type",options:"drone-antenna-types",strict:!0,noSearch:!0}),connector:e.string({label:"drone.drone_antenna.fields.connector",options:"drone-rf-connectors",multiple:!0,strict:!0,noSearch:!0}),gain_dbi:e.real({label:"drone.drone_antenna.fields.gain_dbi"}),cable_length:e.int({label:"drone.drone_antenna.fields.cable_length",rules:{min:0}}),notes:e.text({label:"drone.drone_antenna.fields.notes",rules:{max:2e3}})}}),w=r({id:"drone_receiver",label:"drone.drone_receiver.label",icon:"lucide:antenna",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["receiver","rtf"]}},agent:"RC receiver characteristics. radio_link \u2014 the protocol it binds with (ExpressLRS, Crossfire\u2026). output_protocol \u2014 how it talks to the flight controller (CRSF, SBUS\u2026). diversity \u2014 two antennas with active switching.",fields:{radio_link:e.string({label:"drone.drone_receiver.fields.radio_link",options:"drone-radio-links",strict:!0,noSearch:!0}),rf_band:e.string({label:"drone.drone_receiver.fields.rf_band",options:"drone-rf-bands",multiple:!0,strict:!0,noSearch:!0}),output_protocol:e.string({label:"drone.drone_receiver.fields.output_protocol",options:"drone-rx-outputs",multiple:!0,strict:!0,noSearch:!0}),antenna_connector:e.string({label:"drone.drone_receiver.fields.antenna_connector",options:"drone-rf-connectors",strict:!0,noSearch:!0}),antenna_count:e.int({label:"drone.drone_receiver.fields.antenna_count",rules:{min:0}}),telemetry:e.boolean({label:"drone.drone_receiver.fields.telemetry"}),diversity:e.boolean({label:"drone.drone_receiver.fields.diversity"}),input_voltage:e.string({label:"drone.drone_receiver.fields.input_voltage",rules:{max:40}}),firmware_version:e.string({label:"drone.drone_receiver.fields.firmware_version",rules:{max:40}}),notes:e.text({label:"drone.drone_receiver.fields.notes",rules:{max:2e3}})}}),S=r({id:"drone_camera",label:"drone.drone_camera.label",icon:"lucide:camera",attachTo:[{library:"things",shelf:"item"}],showWhen:{type:"drone",subtype:{$in:["camera","rtf"]}},agent:"FPV camera characteristics. sensor \u2014 the sensor model (free text, e.g. Sony Super HAD II). resolution_tvl \u2014 analog horizontal resolution in TVL. aspect_ratio \u2014 4:3 / 16:9 / switchable. output \u2014 the video signal it produces (analog CVBS or a digital HD system).",fields:{sensor:e.string({label:"drone.drone_camera.fields.sensor",rules:{max:100}}),resolution_tvl:e.int({label:"drone.drone_camera.fields.resolution_tvl",rules:{min:0}}),aspect_ratio:e.string({label:"drone.drone_camera.fields.aspect_ratio",options:"drone-camera-aspect",strict:!0,noSearch:!0}),lens_mm:e.real({label:"drone.drone_camera.fields.lens_mm"}),fov_deg:e.int({label:"drone.drone_camera.fields.fov_deg",rules:{min:0}}),output:e.string({label:"drone.drone_camera.fields.output",options:"drone-camera-output",strict:!0,noSearch:!0}),camera_size:e.string({label:"drone.drone_camera.fields.camera_size",options:"drone-camera-sizes",strict:!0,noSearch:!0}),input_voltage:e.string({label:"drone.drone_camera.fields.input_voltage",rules:{max:40}}),notes:e.text({label:"drone.drone_camera.fields.notes",rules:{max:2e3}})}}),d=["ok","low_voltage","crash","lost"],k=[{value:"ok",title:"drone.options.outcome.ok",tone:"success"},{value:"low_voltage",title:"drone.options.outcome.low_voltage",tone:"warning"},{value:"crash",title:"drone.options.outcome.crash",tone:"danger"},{value:"lost",title:"drone.options.outcome.lost",tone:"danger"}],u=t=>Array.isArray(t)?t.filter(i=>i&&typeof i=="object"):[];function M(t,i){const l=[];for(const a of u(t)){const n=a[i];if(n==null||n==="")continue;const s=Number(n);Number.isFinite(s)&&(l.includes(s)||l.push(s))}return l}function z(t,i="outcome"){let l=-1;for(const a of u(t)){const n=d.indexOf(a[i]);n>l&&(l=n)}return l<0?null:d[l]}var T=p({shelf:"flight",library:"drone",label:"drone.flight.label",icon:"lucide:plane-takeoff",agent:"A flying session, not a single sortie: one record is one outing \u2014 date, place, aircraft \u2014 and each battery pack flown is a row of `packs` (battery, duration in seconds, outcome, notes). `batteries` and `outcome` are SERVER-OWNED derivations over those rows and are rejected if sent: `batteries` indexes the distinct batteries used, `outcome` is the worst row outcome. Record a crash by setting that pack's outcome and listing the broken parts in `damage`, not by prose in `notes`. The `aircraft` picker only offers things/item[subtype='aircraft'] \u2014 a ready-to-fly kit (subtype='rtf') cannot be selected there today, so log its flights against an 'aircraft'-subtype record instead.",views:{title:"date",listKind:"map",list:["aircraft","place","outcome"],inline:["date","aircraft"]},fields:{date:e.date({label:"drone.flight.fields.date",rules:{min:"2000-01-01",max:"today"},ui:{span:4}}),description:e.text({label:"drone.flight.fields.description",rules:{max:1e3}}),place:e.geo({label:"drone.flight.fields.place"}),aircraft:e.relation({label:"drone.flight.fields.aircraft",options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"aircraft"}})}),batteries:e.relation({label:"drone.flight.fields.batteries",multiple:!0,options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"battery"}}),value:({record:t})=>M(t.packs,"battery")}),weather:e.group({scope:"hoist",label:"drone.flight.groups.weather",icon:"lucide:cloud-sun",fields:{temp:e.measured({label:"drone.flight.fields.temp",units:"temperature",ui:{span:4}}),wind:e.measured({label:"drone.flight.fields.wind",units:"speed",ui:{span:4}}),sky:e.string({label:"drone.flight.fields.sky",options:"drone-sky",strict:!0,noSearch:!0})}}),packs:e.row({scope:"nest",multiple:!0,label:"drone.flight.fields.packs",icon:"lucide:battery-charging",fields:{battery:e.relation({label:"drone.flight.fields.battery",options:o({library:"things",shelf:"item",filter:{type:"drone",subtype:"battery"}}),mutate:["batteries"]}),duration:e.duration({label:"drone.flight.fields.duration"}),outcome:e.string({label:"drone.flight.fields.pack_outcome",options:"drone-outcomes",strict:!0,noSearch:!0,mutate:["outcome"]}),notes:e.text({label:"drone.flight.fields.pack_notes",rules:{max:500}})}}),outcome:e.string({label:"drone.flight.fields.outcome",options:"drone-outcomes",strict:!0,noSearch:!0,value:({record:t})=>z(t.packs)}),setup:e.group({scope:"hoist",label:"drone.flight.groups.setup",icon:"lucide:sliders-horizontal",fields:{firmware_version:e.string({label:"drone.flight.fields.firmware_version",rules:{max:40}}),tune:e.text({label:"drone.flight.fields.tune",rules:{max:2e3}})}}),damage:e.relation({label:"drone.flight.fields.damage",multiple:!0,options:o({library:"things",shelf:"item",filter:{type:"drone"}})}),video:e.video({label:"drone.flight.fields.video",multiple:!0}),photos:e.image({label:"drone.flight.fields.photos",multiple:!0}),edit_link:e.link({label:"drone.flight.fields.edit_link"}),tags:e.tags({label:"drone.flight.fields.tags"}),notes:e.text({label:"drone.flight.fields.notes",rules:{max:2e3}})}}),F=f({id:"drone",version:"1.0.0",dependsOn:["things","geo"],label:"drone.plugin.label",description:"drone.plugin.description",libraries:[{meta:c({id:"drone",label:"drone.library.label",icon:"tb:drone",agent:"FPV drones and their components. A component is a things/item row with type=drone \u2014 this library owns no table for those. A FLIGHT is different: it is an event, not a thing, and it is this library's one table (flight): one record per outing, with the battery packs flown as rows inside it."}),shelves:[T]}],extends_:[g,b,_,h,v,y,x,w,S],showcases:[m({id:"fleet",library:"drone",label:"drone.fleet.label",icon:"lucide:plane",source:{library:"things",shelf:"item"},filter:{type:"drone"},columns:["subtype","brand","model","location","condition"],defaultGroupBy:"subtype",createDefaults:{type:"drone"}})],optionLists:[{name:"drone-bands",options:[{value:"A",title:"A"},{value:"B",title:"B"},{value:"E",title:"E"},{value:"F",title:"F"},{value:"R",title:"R"},{value:"L",title:"L"},{value:"U",title:"U"},{value:"O",title:"O"},{value:"H",title:"H"}]},{name:"drone-vtx-power",options:[{value:"pit",title:"PIT"},{value:"25mw",title:"25 mW"},{value:"100mw",title:"100 mW"},{value:"200mw",title:"200 mW"},{value:"350mw",title:"350 mW"},{value:"400mw",title:"400 mW"},{value:"600mw",title:"600 mW"},{value:"800mw",title:"800 mW"},{value:"1000mw",title:"1 W"},{value:"1600mw",title:"1.6 W"},{value:"2500mw",title:"2.5 W"}]},{name:"drone-vtx-protocols",options:[{value:"smartaudio_1_0",title:"SmartAudio 1.0"},{value:"smartaudio_2_0",title:"SmartAudio 2.0"},{value:"smartaudio_2_1",title:"SmartAudio 2.1"},{value:"tramp",title:"IRC Tramp"},{value:"msp_displayport",title:"MSP DisplayPort"},{value:"none",title:"drone.options.none"}]},{name:"drone-rf-connectors",options:[{value:"ipex_mhf1",title:"IPEX / MHF1 (U.FL)"},{value:"ipex_mhf3",title:"IPEX MHF3"},{value:"mmcx",title:"MMCX"},{value:"sma",title:"SMA"},{value:"rp_sma",title:"RP-SMA"},{value:"ufl_solder",title:"U.FL (soldered)"}]},{name:"drone-mounting",options:[{value:"16x16_m2",title:"16\xD716 mm M2"},{value:"20x20_m2",title:"20\xD720 mm M2"},{value:"20x20_m3",title:"20\xD720 mm M3"},{value:"25.5x25.5_m2",title:"25.5\xD725.5 mm M2"},{value:"30.5x30.5_m3",title:"30.5\xD730.5 mm M3"},{value:"adhesive",title:"drone.options.adhesive"}]},{name:"drone-firmware",options:[{value:"betaflight",title:"Betaflight"},{value:"inav",title:"INAV"},{value:"ardupilot",title:"ArduPilot"},{value:"emuflight",title:"EmuFlight"},{value:"rotorflight",title:"Rotorflight"},{value:"kiss",title:"KISS"},{value:"cleanflight",title:"Cleanflight"}]},{name:"drone-fc-mcu",options:[{value:"stm32f411",title:"STM32F411"},{value:"stm32f405",title:"STM32F405"},{value:"stm32f722",title:"STM32F722"},{value:"stm32f745",title:"STM32F745"},{value:"stm32f765",title:"STM32F765"},{value:"stm32h743",title:"STM32H743"},{value:"stm32h750",title:"STM32H750"},{value:"at32f435",title:"AT32F435"},{value:"gd32f405",title:"GD32F405"}]},{name:"drone-gyro",options:[{value:"mpu6000",title:"MPU6000"},{value:"mpu6500",title:"MPU6500"},{value:"icm20602",title:"ICM20602"},{value:"icm20689",title:"ICM20689"},{value:"icm42688p",title:"ICM42688-P"},{value:"icm42605",title:"ICM42605"},{value:"bmi270",title:"BMI270"},{value:"bmi160",title:"BMI160"}]},{name:"drone-osd-chip",options:[{value:"at7456e",title:"AT7456E"},{value:"max7456",title:"MAX7456"},{value:"msp_displayport",title:"MSP DisplayPort"},{value:"none",title:"drone.options.none"}]},{name:"drone-blackbox",options:[{value:"none",title:"drone.options.none"},{value:"flash_8mb",title:"Flash 8 MB"},{value:"flash_16mb",title:"Flash 16 MB"},{value:"flash_32mb",title:"Flash 32 MB"},{value:"sd_card",title:"microSD"}]},{name:"drone-gnss-systems",options:[{value:"gps",title:"GPS"},{value:"glonass",title:"GLONASS"},{value:"galileo",title:"Galileo"},{value:"beidou",title:"BeiDou"},{value:"qzss",title:"QZSS"},{value:"sbas",title:"SBAS"},{value:"navic",title:"NavIC"}]},{name:"drone-gnss-protocols",options:[{value:"ubx",title:"UBX"},{value:"nmea",title:"NMEA"},{value:"rtcm3",title:"RTCM3"},{value:"msp",title:"MSP"}]},{name:"drone-baud-rates",options:[{value:"4800",title:"4800"},{value:"9600",title:"9600"},{value:"19200",title:"19200"},{value:"38400",title:"38400"},{value:"57600",title:"57600"},{value:"115200",title:"115200"},{value:"230400",title:"230400"},{value:"460800",title:"460800"},{value:"921600",title:"921600"}]},{name:"drone-serial-interfaces",options:[{value:"uart",title:"UART"},{value:"i2c",title:"I2C"},{value:"spi",title:"SPI"},{value:"can",title:"CAN"}]},{name:"drone-video-systems",options:[{value:"analog_5_8",title:"drone.options.videoSystems.analog_5_8"},{value:"dji_v1_v2",title:"DJI V1/V2"},{value:"dji_o3",title:"DJI O3"},{value:"dji_o4",title:"DJI O4"},{value:"walksnail_avatar",title:"Walksnail Avatar"},{value:"hdzero",title:"HDZero"}]},{name:"drone-radio-links",options:[{value:"elrs_2_4",title:"ExpressLRS 2.4 GHz"},{value:"elrs_900",title:"ExpressLRS 868/915 MHz"},{value:"crossfire",title:"TBS Crossfire"},{value:"tracer",title:"TBS Tracer"},{value:"ghost",title:"ImmersionRC Ghost"},{value:"frsky_d16",title:"FrSky D16"},{value:"frsky_d8",title:"FrSky D8"},{value:"dsmx",title:"Spektrum DSMX"},{value:"dji",title:"DJI"}]},{name:"drone-rf-bands",options:[{value:"5_8ghz",title:"5.8 GHz"},{value:"2_4ghz",title:"2.4 GHz"},{value:"1_2ghz",title:"1.2 GHz"},{value:"900mhz",title:"868/915 MHz"},{value:"433mhz",title:"433 MHz"}]},{name:"drone-polarization",options:[{value:"rhcp",title:"drone.options.polarization.rhcp"},{value:"lhcp",title:"drone.options.polarization.lhcp"},{value:"linear",title:"drone.options.polarization.linear"}]},{name:"drone-antenna-types",options:[{value:"omni",title:"drone.options.antennaTypes.omni"},{value:"patch",title:"drone.options.antennaTypes.patch"},{value:"helical",title:"drone.options.antennaTypes.helical"},{value:"pagoda",title:"drone.options.antennaTypes.pagoda"},{value:"cloverleaf",title:"drone.options.antennaTypes.cloverleaf"},{value:"monopole",title:"drone.options.antennaTypes.monopole"},{value:"whip",title:"drone.options.antennaTypes.whip"}]},{name:"drone-cells",options:[{value:"1s",title:"1S"},{value:"2s",title:"2S"},{value:"3s",title:"3S"},{value:"4s",title:"4S"},{value:"5s",title:"5S"},{value:"6s",title:"6S"},{value:"7s",title:"7S"},{value:"8s",title:"8S"},{value:"12s",title:"12S"}]},{name:"drone-rx-outputs",options:[{value:"crsf",title:"CRSF"},{value:"sbus",title:"SBUS"},{value:"ibus",title:"IBUS"},{value:"ppm",title:"PPM"},{value:"pwm",title:"PWM"},{value:"spektrum",title:"Spektrum"},{value:"ghst",title:"GHST"}]},{name:"drone-camera-aspect",options:[{value:"4_3",title:"4:3"},{value:"16_9",title:"16:9"},{value:"switchable",title:"drone.options.cameraAspect.switchable"}]},{name:"drone-camera-output",options:[{value:"analog_cvbs",title:"drone.options.cameraOutput.analog_cvbs"},{value:"dji",title:"DJI"},{value:"walksnail",title:"Walksnail"},{value:"hdzero",title:"HDZero"}]},{name:"drone-camera-sizes",options:[{value:"nano",title:"Nano"},{value:"micro",title:"Micro"},{value:"mini",title:"Mini"},{value:"full",title:"Full-size"},{value:"whoop",title:"Whoop"}]},{name:"drone-outcomes",options:[...k]},{name:"drone-sky",options:[{value:"clear",title:"drone.options.sky.clear"},{value:"cloudy",title:"drone.options.sky.cloudy"},{value:"overcast",title:"drone.options.sky.overcast"},{value:"fog",title:"drone.options.sky.fog"},{value:"rain",title:"drone.options.sky.rain"},{value:"snow",title:"drone.options.sky.snow"}]}],fieldContribs:[{library:"things",shelf:"item",field:"type",options:[{value:"drone",title:"drone.drone.label"}]},{library:"things",shelf:"item",field:"subtype",options:[{value:"aircraft",title:"drone.contrib.subtype.aircraft",when:{type:"drone"}},{value:"battery",title:"drone.drone_battery.label",when:{type:"drone"}},{value:"vtx",title:"drone.drone_vtx.label",when:{type:"drone"}},{value:"gps",title:"drone.drone_gps.label",when:{type:"drone"}},{value:"flight_controller",title:"drone.drone_flight_controller.label",when:{type:"drone"}},{value:"goggles",title:"drone.drone_goggles.label",when:{type:"drone"}},{value:"radio",title:"drone.contrib.subtype.radio",when:{type:"drone"}},{value:"camera",title:"drone.drone_camera.label",when:{type:"drone"}},{value:"antenna",title:"drone.drone_antenna.label",when:{type:"drone"}},{value:"receiver",title:"drone.drone_receiver.label",when:{type:"drone"}},{value:"frame",title:"drone.contrib.subtype.frame",when:{type:"drone"}},{value:"rtf",title:"drone.contrib.subtype.rtf",when:{type:"drone"}},{value:"accessory",title:"drone.contrib.subtype.accessory",when:{type:"drone"}}]}]});export{F as default};
@@ -0,0 +1,4 @@
1
+ import{defineLibrary as t}from"@coffer-org/sdk/library";import{defineShelf as a}from"@coffer-org/sdk/shelf";import{field as e,fromShelf as l}from"@coffer-org/sdk/fields";import{definePlugin as i}from"@coffer-org/sdk/plugin";var r=a({shelf:"meter_reading",library:"home",label:"home.meter_reading.label",icon:"lucide:gauge",agent:`Utility meter readings for a date. name \u2014 reading period, e.g. "2026-05".
2
+ date \u2014 reading date. cold_water/hot_water \u2014 water meter readings (m\xB3).
3
+ electricity \u2014 electricity meter reading (kWh). gas \u2014 gas meter reading (m\xB3).
4
+ Stores RAW cumulative readings, not consumption (the difference is a derived calculation).`,views:{title:"date",inline:["date"],list:["cold_water","hot_water","electricity","gas"]},fields:{date:e.date({label:"home.meter_reading.fields.date",rules:{min:"2000-01-01",max:"today"},ui:{span:12}}),cold_water:e.real({label:"home.meter_reading.fields.cold_water",rules:{min:0},ui:{span:3}}),hot_water:e.real({label:"home.meter_reading.fields.hot_water",rules:{min:0},ui:{span:3}}),electricity:e.real({label:"home.meter_reading.fields.electricity",rules:{min:0},ui:{span:3}}),gas:e.real({label:"home.meter_reading.fields.gas",rules:{min:0},ui:{span:3}}),notes:e.text({label:"home.meter_reading.fields.notes",rules:{max:500}})}}),o=a({shelf:"room",library:"home",label:"home.room.label",icon:"lucide:door-open",agent:"A room/space in the apartment. name \u2014 name (Bedroom, Kitchen). area \u2014 area (m\xB2). This is a reference list of places: a target for relations from material (where a material was used). Does not store the materials themselves.",views:{inline:["name"],list:["area"]},fields:{name:e.title({label:"core.fields.name"}),description:e.text({label:"home.room.fields.description",rules:{max:1e3}}),area:e.measured({label:"home.room.fields.area",units:"area",rules:{min:0}}),notes:e.text({label:"home.room.fields.notes",rules:{max:500}})}}),m=a({shelf:"material",library:"home",label:"home.material.label",icon:"lucide:paint-roller",agent:'A material/paint used in renovation. One record = a specific product (e.g. "Dulux Easycare, RAL 9010"). name \u2014 name, type \u2014 category, brand \u2014 manufacturer, color/color_code \u2014 color and tint code. rooms \u2014 relation to home/room (where used, can be several). price/quantity/store/bought_date/link \u2014 purchase data. photo/rating/notes \u2014 photos and impressions. Does NOT store a work log/timeline \u2014 only a catalog of "what was bought and where it is used".',views:{inline:["name","color"],list:["type","color","brand","rooms"]},fields:{name:e.title({label:"core.fields.name"}),description:e.text({label:"home.material.fields.description",rules:{max:1e3}}),group:e.group({label:"home.material.group.identity",icon:"lucide:tag",scope:"hoist",fields:{type:e.string({label:"core.fields.type",strict:!0,noSearch:!0,options:[{value:"paint",title:"home.material.options.type.paint"},{value:"primer",title:"home.material.options.type.primer"},{value:"lacquer",title:"home.material.options.type.lacquer"},{value:"enamel",title:"home.material.options.type.enamel"},{value:"plaster",title:"home.material.options.type.plaster"},{value:"tile",title:"home.material.options.type.tile"},{value:"laminate",title:"home.material.options.type.laminate"},{value:"wallpaper",title:"home.material.options.type.wallpaper"},{value:"skirting",title:"home.material.options.type.skirting"},{value:"panel",title:"home.material.options.type.panel"},{value:"putty",title:"home.material.options.type.putty"},{value:"glue",title:"home.material.options.type.glue"},{value:"cement",title:"home.material.options.type.cement"},{value:"drywall",title:"home.material.options.type.drywall"},{value:"insulation",title:"home.material.options.type.insulation"},{value:"fixture",title:"home.material.options.type.fixture"},{value:"plumbing",title:"home.material.options.type.plumbing"},{value:"other",title:"home.material.options.type.other"}]}),brand:e.string({label:"home.material.fields.brand",rules:{max:120}}),color:e.color({label:"home.material.fields.color"}),color_code:e.string({label:"home.material.fields.color_code",rules:{max:60}}),rooms:e.relation({label:"home.material.fields.rooms",options:l({library:"home",shelf:"room"}),multiple:!0})}}),ledger:e.ledger({label:"home.material.group.purchase",icon:"lucide:shopping-cart",fields:{price:e.measured({label:"home.material.fields.price",units:"currency",rules:{min:0}}),quantity:e.measured({label:"home.material.fields.quantity",units:[{value:"l",label:"core.units.l"},{value:"kg",label:"core.units.kg"},{value:"m2",label:"core.units.m2"},{value:"pcs",label:"core.units.pcs"}],rules:{min:0}}),store:e.string({label:"home.material.fields.store",rules:{max:120}}),bought_date:e.date({label:"home.material.fields.bought_date",rules:{max:"today"}}),link:e.link({label:"home.material.fields.link"})}}),group2:e.group({label:"home.material.group.media",icon:"lucide:image",scope:"hoist",fields:{photo:e.image({label:"home.material.fields.photo",multiple:!0}),rating:e.rating({label:"home.material.fields.rating",rules:{max:5}})}}),notes:e.text({label:"home.material.fields.notes",rules:{max:2e3}})}}),n=i({id:"home",version:"1.0.0",dependsOn:[],label:"home.plugin.label",description:"home.plugin.description",libraries:[{meta:t({id:"home",label:"home.library.label",icon:"lucide:house",agent:{description:"The home itself \u2014 renovation materials, utility meter readings, rooms.",instructions:"meter_reading readings are cumulative; consumption over a period = difference between adjacent dates. New meter readings \u2014 create_record meter_reading (do NOT edit old ones); used up a material \u2014 update material.quantity via update_record."},starterHint:"meter readings that are overdue, or renovation materials running low"}),shelves:[r,o,m]}]});export{n as default};
@@ -0,0 +1 @@
1
+ import{u as p}from"./ical-BRrjpmRX.js";import{a as h}from"./schemas-Ddd48n1f.js";import{t as y}from"./compat-nvzWPAqF.js";import{collectionBlock as v,field as i,group as k,isNamedField as E,optionalize as g,vmsg as _,wrapKey as b}from"@coffer-org/sdk/fields";import{normalizeOpts as x}from"@coffer-org/sdk/fields/normalize";import{defineExtend as z}from"@coffer-org/sdk/extend";function d(e){if(e.multiple)throw new Error("cal.recurrence: `multiple` is not supported \u2014 a record holds one series");const r=x(e),t=h().superRefine((a,n)=>{p(a)&&n.addIssue({code:y.custom,message:_("pattern",{messageKey:"calendar.validation.rrule"})})});return b(void 0,r,{kind:"recurrence",label:r.label??"",prim:"recurrence",column:"text",hints:{...e.exdates?{exdates:e.exdates}:{},...e.overrides?{overrides:e.overrides}:{},...e.allDay?{allDay:e.allDay}:{},...e.rdates?{rdates:e.rdates}:{},...e.tz?{tz:e.tz}:{},...e.uid?{uid:e.uid}:{},...e.raw?{raw:e.raw}:{},...e.color?{color:e.color}:{},...e.alarms?{alarms:e.alarms}:{},...e.type?{type:e.type}:{},...e.location?{location:e.location}:{}},zod:g(t)})}var R=["when","allDay","tz","recurrence"];function T(e){const r=R.filter(t=>e?.fields?.[t]==null);if(r.length)throw new Error(`cal.when: missing ${r.map(t=>`'${t}'`).join(", ")} in \`fields\``);return{...k({fields:e.fields,ui:{kind:"cal.when"}}),view:{kind:"cal.when"}}}var m=["person","name","email","role","status","rsvp"],u=["action","offset","at","related","text"],f=["uri","label"];function s(e,r,t){const a=v(e,t?.source,void 0,{kind:e,...Object.fromEntries(r.map(l=>[l,t[l]]))}),n=new Set(a.fields.filter(E).map(l=>l.key)),o=r.filter(l=>{const c=t[l];return typeof c!="string"||!n.has(c)});if(o.length)throw new Error(`${e}: ${o.map(l=>`'${l}'`).join(", ")} must name a field of the '${a.key}' collection`);return a}function A(e){return s("cal.attendees",m,e)}function S(e){return s("cal.alarms",u,e)}function $(e){return s("cal.conference",f,e)}var D={recurrence:d,when:T,attendees:A,alarms:S,conference:$},N=z({id:"task_details",label:"calendar.task_details.label",icon:"lucide:check-square",attachTo:[{library:"calendar",shelf:"entry"}],showWhen:{type:"task"},fields:{priority:i.int({label:"calendar.task_details.fields.priority",rules:{min:0,max:9}}),percent:i.percent({label:"calendar.task_details.fields.percent"}),completed:i.datetime({label:"calendar.task_details.fields.completed"})}});export{D as a,f as i,u as n,d as o,m as r,N as t};
@@ -0,0 +1,66 @@
1
+ const xe=(e,a=xe,t=a.f||(a.f=["assets/ilamy-view-CF9TS3xK.js","assets/rolldown-runtime-B-1-B7_t.js","assets/ical-BRrjpmRX.js","assets/ui-vendor-Dz7FZUpP.js","assets/rule-form-DY07mdut.js"]))=>e.map(n=>t[n]);import{r as ie}from"./rolldown-runtime-B-1-B7_t.js";import{t as C}from"./createLucideIcon-0HK7VRhx.js";import{t as dt}from"./check-DSh5VTB0.js";import{t as ct}from"./x-Tw9OswUb.js";import{t as ut}from"./preload-helper-DxWiKyOd.js";import{_ as mt,d as yt,f as _e,g as ft,h as pt,l as ht,o as vt}from"./ical-BRrjpmRX.js";import{c as ke,n as gt,o as bt,s as wt,t as xt}from"./rule-form-DY07mdut.js";import{i as _t,n as kt,r as Nt,t as Dt}from"./task_details-3QyVdhd4.js";import{Suspense as zt,createContext as Mt,lazy as Tt,useCallback as Ne,useContext as St,useEffect as De,useId as Et,useMemo as J,useRef as ze,useState as X}from"react";import{Link as de}from"react-router-dom";import{useTranslation as q}from"react-i18next";import{Button as Me,DateControl as Ct,FieldFrame as Rt,GroupField as Te,Notice as $t,OptionIconView as At,SectionShell as Lt,Slot as I,buttonVariants as Pt,clearRecordByIdCache as It,definePluginUI as Ot,formatDateWith as A,getShelf as Se,hasValue as Q,listRecords as Ee,parseIso as Ce,parseJSON as Ft,recordOption as Yt,registerRenderer as ee,todayIso as qt,useGroupEdit as jt,useRecordsByIds as Re,useSlot as ce,useTranslation as $e,weekStart as Wt,weekdayNames as Ae}from"@coffer-org/web-ui";import{Fragment as Le,jsx as r,jsxs as y}from"react/jsx-runtime";import{fieldMap as Bt,recordTitle as Ut}from"@coffer-org/sdk/shelf";import{isNamedField as Ht}from"@coffer-org/sdk/fields";import{extendMatches as Vt}from"@coffer-org/sdk/extend";/**
2
+ * @license lucide-react v1.24.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */var Zt=C("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
7
+ * @license lucide-react v1.24.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */var Kt=C("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
12
+ * @license lucide-react v1.24.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */var Gt=C("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/**
17
+ * @license lucide-react v1.24.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */var Pe=C("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/**
22
+ * @license lucide-react v1.24.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */var Jt=C("calendar-days",[["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"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/**
27
+ * @license lucide-react v1.24.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */var Xt=C("circle-dashed",[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]);/**
32
+ * @license lucide-react v1.24.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */var Qt=C("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"}]]);/**
37
+ * @license lucide-react v1.24.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */var ea=C("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);/**
42
+ * @license lucide-react v1.24.0 - ISC
43
+ *
44
+ * This source code is licensed under the ISC license.
45
+ * See the LICENSE file in the root directory of this source tree.
46
+ */var ta=C("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/**
47
+ * @license lucide-react v1.24.0 - ISC
48
+ *
49
+ * This source code is licensed under the ISC license.
50
+ * See the LICENSE file in the root directory of this source tree.
51
+ */var aa=C("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);/**
52
+ * @license lucide-react v1.24.0 - ISC
53
+ *
54
+ * This source code is licensed under the ISC license.
55
+ * See the LICENSE file in the root directory of this source tree.
56
+ */var na=C("repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/**
57
+ * @license lucide-react v1.24.0 - ISC
58
+ *
59
+ * This source code is licensed under the ISC license.
60
+ * See the LICENSE file in the root directory of this source tree.
61
+ */var ra=C("user-plus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
62
+ * @license lucide-react v1.24.0 - ISC
63
+ *
64
+ * This source code is licensed under the ISC license.
65
+ * See the LICENSE file in the root directory of this source tree.
66
+ */var oa=C("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),la={uk:{calendar:{plugin:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440",description:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0456, \u043F\u043E\u0434\u0456\u0457 \u0442\u0430 \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F."},library:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440"},settings:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440",defaultTz:"\u0427\u0430\u0441\u043E\u0432\u0438\u0439 \u043F\u043E\u044F\u0441 \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C"},entry:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440",fields:{summary:"\u041D\u0430\u0437\u0432\u0430",description:"\u041E\u043F\u0438\u0441",when:"\u041A\u043E\u043B\u0438",allDay:"\u0423\u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",tz:"\u0427\u0430\u0441\u043E\u0432\u0438\u0439 \u043F\u043E\u044F\u0441",location:"\u041C\u0456\u0441\u0446\u0435",recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F",exdates:"\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0456 \u0434\u0430\u0442\u0438",rdates:"\u0414\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0456 \u0434\u0430\u0442\u0438",geo:"\u041C\u0456\u0441\u0446\u0435 \u043D\u0430 \u043C\u0430\u043F\u0456",url:"\u041F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F",conference:"\u0412\u0456\u0434\u0435\u043E\u0434\u0437\u0432\u0456\u043D\u043E\u043A",conference_uri:"\u041F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F",conference_label:"\u041D\u0430\u0437\u0432\u0430",color:"\u041A\u043E\u043B\u0456\u0440",transp:"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u044F\u043A",class:"\u0412\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C",comment:"\u041A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0456",contact:"\u041A\u043E\u043D\u0442\u0430\u043A\u0442",resources:"\u0420\u0435\u0441\u0443\u0440\u0441\u0438",master:"\u0421\u0435\u0440\u0456\u044F",recurrenceId:"\u0417\u0430\u043C\u0456\u043D\u044E\u0454 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440",status:"\u0421\u0442\u0430\u0442\u0443\u0441",uid:"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0456\u0437\u0430\u0446\u0456\u0457",ics:"\u0414\u0430\u043D\u0456 \u043A\u043B\u0456\u0454\u043D\u0442\u0430",organizerName:"\u041E\u0440\u0433\u0430\u043D\u0456\u0437\u0430\u0442\u043E\u0440",organizerEmail:"\u0410\u0434\u0440\u0435\u0441\u0430 \u043E\u0440\u0433\u0430\u043D\u0456\u0437\u0430\u0442\u043E\u0440\u0430",organizerPerson:"\u041E\u0440\u0433\u0430\u043D\u0456\u0437\u0430\u0442\u043E\u0440 (\u043B\u044E\u0434\u0438\u043D\u0430)",attendees:"\u0423\u0447\u0430\u0441\u043D\u0438\u043A\u0438",attendee_person:"\u041B\u044E\u0434\u0438\u043D\u0430",attendee_name:"\u0406\u043C'\u044F",attendee_email:"\u0410\u0434\u0440\u0435\u0441\u0430",attendee_role:"\u0420\u043E\u043B\u044C",attendee_status:"\u0412\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C",attendee_rsvp:"\u041F\u043E\u0442\u0440\u0456\u0431\u043D\u0430 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C",alarms:"\u041D\u0430\u0433\u0430\u0434\u0443\u0432\u0430\u043D\u043D\u044F",alarm_action:"\u042F\u043A",alarm_offset:"\u0425\u0432\u0438\u043B\u0438\u043D\u0438 (\u043C\u0456\u043D\u0443\u0441 \u2014 \u0434\u043E)",alarm_related:"\u0412\u0456\u0434\u043D\u043E\u0441\u043D\u043E",alarm_at:"\u041A\u043E\u043B\u0438",alarm_text:"\u0422\u0435\u043A\u0441\u0442",alarm_uid:"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043D\u0430\u0433\u0430\u0434\u0443\u0432\u0430\u043D\u043D\u044F",attachments:"\u0412\u043A\u043B\u0430\u0434\u0435\u043D\u043D\u044F",image:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",tags:"\u0422\u0435\u0433\u0438",notes:"\u041D\u043E\u0442\u0430\u0442\u043A\u0438"},options:{type:{event:"\u041F\u043E\u0434\u0456\u044F",task:"\u0417\u0430\u0432\u0434\u0430\u043D\u043D\u044F"},status:{tentative:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E",confirmed:"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043E",needs_action:"\u0422\u0440\u0435\u0431\u0430 \u0437\u0440\u043E\u0431\u0438\u0442\u0438",in_process:"\u0423 \u043F\u0440\u043E\u0446\u0435\u0441\u0456",completed:"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u043E",cancelled:"\u0421\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u043E"},transp:{busy:"\u0417\u0430\u0439\u043D\u044F\u0442\u0438\u0439",free:"\u0412\u0456\u043B\u044C\u043D\u0438\u0439"},class:{public:"\u041F\u0443\u0431\u043B\u0456\u0447\u043D\u0435",private:"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u0435",confidential:"\u041A\u043E\u043D\u0444\u0456\u0434\u0435\u043D\u0446\u0456\u0439\u043D\u0435"},role:{chair:"\u0413\u043E\u043B\u043E\u0432\u0430",required:"\u041E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u043E",optional:"\u0417\u0430 \u0431\u0430\u0436\u0430\u043D\u043D\u044F\u043C",info:"\u0414\u043E \u0432\u0456\u0434\u043E\u043C\u0430"},partstat:{needs_action:"\u0411\u0435\u0437 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0456",accepted:"\u041F\u0440\u0438\u0439\u043D\u044F\u0442\u043E",declined:"\u0412\u0456\u0434\u0445\u0438\u043B\u0435\u043D\u043E",tentative:"\u041C\u043E\u0436\u043B\u0438\u0432\u043E",delegated:"\u0414\u0435\u043B\u0435\u0433\u043E\u0432\u0430\u043D\u043E"},alarm:{display:"\u0421\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F",audio:"\u0417\u0432\u0443\u043A",email:"\u041B\u0438\u0441\u0442"},related:{start:"\u041F\u043E\u0447\u0430\u0442\u043A\u0443",end:"\u041A\u0456\u043D\u0446\u044F"}}},task_details:{label:"\u0417\u0430\u0432\u0434\u0430\u043D\u043D\u044F",fields:{priority:"\u041F\u0440\u0456\u043E\u0440\u0438\u0442\u0435\u0442",percent:"\u041F\u0440\u043E\u0433\u0440\u0435\u0441",completed:"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u043E \u043E"}},validation:{rrule:"\u041D\u0435\u043A\u043E\u0440\u0435\u043A\u0442\u043D\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F"},view:{today:"\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456",scale:{day:"\u0414\u0435\u043D\u044C",week:"\u0422\u0438\u0436\u0434\u0435\u043D\u044C",month:"\u041C\u0456\u0441\u044F\u0446\u044C",year:"\u0420\u0456\u043A"},lib:{previous:"\u041D\u0430\u0437\u0430\u0434",next:"\u0412\u043F\u0435\u0440\u0435\u0434",new:"\u041D\u043E\u0432\u0438\u0439 \u0437\u0430\u043F\u0438\u0441",event:"\u043F\u043E\u0434\u0456\u044F",events:"\u043F\u043E\u0434\u0456\u0457",more:"\u0449\u0435"},withoutDate:"\u0411\u0435\u0437 \u0434\u0430\u0442\u0438",repeatsFailed:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440 \u043D\u0435 \u0437\u043C\u0456\u0433 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F: \u043F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u043D\u0456 \u0437\u0430\u043F\u0438\u0441\u0438 \u043F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u043B\u0438\u0448\u0435 \u0437 \u043F\u0435\u0440\u0448\u043E\u044E \u0434\u0430\u0442\u043E\u044E.",form:{createTitle:"\u041D\u043E\u0432\u0438\u0439 \u0437\u0430\u043F\u0438\u0441",editTitle:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F",summary:"\u041D\u0430\u0437\u0432\u0430",type:"\u0422\u0438\u043F",event:"\u041F\u043E\u0434\u0456\u044F",task:"\u0417\u0430\u0432\u0434\u0430\u043D\u043D\u044F",allDay:"\u0423\u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",start:"\u041F\u043E\u0447\u0430\u0442\u043E\u043A",end:"\u041A\u0456\u043D\u0435\u0446\u044C",due:"\u0422\u0435\u0440\u043C\u0456\u043D",location:"\u041C\u0456\u0441\u0446\u0435",color:"\u041A\u043E\u043B\u0456\u0440",colorNone:"\u0411\u0435\u0437 \u043A\u043E\u043B\u044C\u043E\u0440\u0443",repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F",repeatNone:"\u041D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u044E\u0454\u0442\u044C\u0441\u044F",repeatDaily:"\u0429\u043E\u0434\u043D\u044F",repeatWeekly:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",repeatMonthly:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",repeatYearly:"\u0429\u043E\u0440\u043E\u043A\u0443",repeatCustom:"\u0412\u043B\u0430\u0441\u043D\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u043E",yours:"\u0443 \u0432\u0430\u0441",save:"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438",delete:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",open:"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438",conflict:"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u043D\u0430 \u0456\u043D\u0448\u043E\u043C\u0443 \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u0457 \u2014 \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043E.",failed:"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0449\u0435 \u0440\u0430\u0437.",dismiss:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438"},scope:{editTitle:"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u0430\u043F\u0438\u0441, \u0449\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u044E\u0454\u0442\u044C\u0441\u044F",deleteTitle:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0437\u0430\u043F\u0438\u0441, \u0449\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u044E\u0454\u0442\u044C\u0441\u044F",this:"\u041B\u0438\u0448\u0435 \u0446\u0435\u0439",following:"\u0426\u0435\u0439 \u0456 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456",all:"\u0423\u0441\u0456",cancel:"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",discards_one:"{{count}} \u0437\u043C\u0456\u043D\u0435\u043D\u0438\u0439 \u043F\u043E\u0432\u0442\u043E\u0440 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u043E",discards_few:"{{count}} \u0437\u043C\u0456\u043D\u0435\u043D\u0456 \u043F\u043E\u0432\u0442\u043E\u0440\u0438 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u043E",discards_many:"{{count}} \u0437\u043C\u0456\u043D\u0435\u043D\u0438\u0445 \u043F\u043E\u0432\u0442\u043E\u0440\u0456\u0432 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u043E",discards_other:"{{count}} \u0437\u043C\u0456\u043D\u0435\u043D\u043E\u0433\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u0443 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u043E"}},recurrence:{never:"\u041D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u044E\u0454\u0442\u044C\u0441\u044F",freq:"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u0442\u0438",daily:"\u0429\u043E\u0434\u043D\u044F",weekly:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",monthly:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",yearly:"\u0429\u043E\u0440\u043E\u043A\u0443",interval:"\u041A\u043E\u0436\u043D\u0456",ends:"\u0417\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F",endsNever:"\u041D\u0456\u043A\u043E\u043B\u0438",endsAfter:"\u041F\u0456\u0441\u043B\u044F",endsOn:"\u041D\u0430 \u0434\u0430\u0442\u0443",times:"\u0440\u0430\u0437\u0456\u0432",raw:"\u041F\u0440\u0430\u0432\u0438\u043B\u043E (RRULE)",exceptions:"\u0412\u0438\u043D\u044F\u0442\u043A\u0438",sentence:{every:{daily_one:"\u0429\u043E\u0434\u043D\u044F",daily_few:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0434\u043D\u0456",daily_many:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0434\u043D\u0456\u0432",daily_other:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0434\u043D\u0456\u0432",weekly_one:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",weekly_few:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0442\u0438\u0436\u043D\u0456",weekly_many:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0442\u0438\u0436\u043D\u0456\u0432",weekly_other:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0442\u0438\u0436\u043D\u0456\u0432",monthly_one:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",monthly_few:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u043C\u0456\u0441\u044F\u0446\u0456",monthly_many:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u043C\u0456\u0441\u044F\u0446\u0456\u0432",monthly_other:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u043C\u0456\u0441\u044F\u0446\u0456\u0432",yearly_one:"\u0429\u043E\u0440\u043E\u043A\u0443",yearly_few:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0440\u043E\u043A\u0438",yearly_many:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0440\u043E\u043A\u0456\u0432",yearly_other:"\u041A\u043E\u0436\u043D\u0456 {{count}} \u0440\u043E\u043A\u0456\u0432"},on:"{{every}} \u0443 {{days}}",times_one:"{{count}} \u0440\u0430\u0437",times_few:"{{count}} \u0440\u0430\u0437\u0438",times_many:"{{count}} \u0440\u0430\u0437\u0456\u0432",times_other:"{{count}} \u0440\u0430\u0437\u0456\u0432",until:"\u0434\u043E {{date}}"}},daysIn:{mo:"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A",tu:"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A",we:"\u0441\u0435\u0440\u0435\u0434\u0443",th:"\u0447\u0435\u0442\u0432\u0435\u0440",fr:"\u043F'\u044F\u0442\u043D\u0438\u0446\u044E",sa:"\u0441\u0443\u0431\u043E\u0442\u0443",su:"\u043D\u0435\u0434\u0456\u043B\u044E"},record:{range:"{{from}} \u2013 {{until}} \xB7 {{duration}}",zone:"{{zone}} \xB7 \u0443 \u0432\u0430\u0441 {{from}}\u2013{{until}}",zoneAt:"{{zone}} \xB7 \u0443 \u0432\u0430\u0441 {{time}}",due:"\u0442\u0435\u0440\u043C\u0456\u043D {{date}}, {{time}}",dueDate:"\u0442\u0435\u0440\u043C\u0456\u043D {{date}}",ends:"\u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F {{date}}, {{time}}",endsDate:"\u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F {{date}}",setTime:"\u0412\u043A\u0430\u0437\u0430\u0442\u0438 \u0447\u0430\u0441",allDay:"\u0423\u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",timed:"\u041F\u0435\u0432\u043D\u0438\u0439 \u0447\u0430\u0441",floating:"\u041F\u043B\u0430\u0432\u0430\u044E\u0447\u0438\u0439 \u0447\u0430\u0441",zoneSame:"{{zone}} \xB7 \u0432\u0430\u0448 \u043F\u043E\u044F\u0441",next:"\u0434\u0430\u043B\u0456: {{dates}}",left:"\u0449\u0435 {{days}}",overdue:"\u043F\u0440\u043E\u0441\u0442\u0440\u043E\u0447\u0435\u043D\u043E \u043D\u0430 {{days}}",today:"\u0442\u0435\u0440\u043C\u0456\u043D \u0441\u044C\u043E\u0433\u043E\u0434\u043D\u0456",percent:"{{percent}} %",overrideOf:"\u0417\u043C\u0456\u043D\u0435\u043D\u0438\u0439 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0441\u0435\u0440\u0456\u0457 \u201E{{summary}}\u201C \u043D\u0430 {{date}}",toSeries:"\u2192 \u0441\u0435\u0440\u0456\u044F",overrides:"\u0417\u043C\u0456\u043D\u0435\u043D\u0456 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0438",overridesFailed:"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437\u043C\u0456\u043D\u0435\u043D\u0456 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0438",duration:{hours_one:"{{count}} \u0433\u043E\u0434",hours_few:"{{count}} \u0433\u043E\u0434",hours_many:"{{count}} \u0433\u043E\u0434",hours_other:"{{count}} \u0433\u043E\u0434",minutes_one:"{{count}} \u0445\u0432",minutes_few:"{{count}} \u0445\u0432",minutes_many:"{{count}} \u0445\u0432",minutes_other:"{{count}} \u0445\u0432",days_one:"{{count}} \u0434\u0435\u043D\u044C",days_few:"{{count}} \u0434\u043D\u0456",days_many:"{{count}} \u0434\u043D\u0456\u0432",days_other:"{{count}} \u0434\u043D\u044F"},alarm:{atStart:"\u043D\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u0443",atEnd:"\u043D\u0430\u043F\u0440\u0438\u043A\u0456\u043D\u0446\u0456",beforeStart:"\u0437\u0430 {{duration}} \u0434\u043E \u043F\u043E\u0447\u0430\u0442\u043A\u0443",beforeEnd:"\u0437\u0430 {{duration}} \u0434\u043E \u043A\u0456\u043D\u0446\u044F",afterStart:"{{duration}} \u043F\u0456\u0441\u043B\u044F \u043F\u043E\u0447\u0430\u0442\u043A\u0443",afterEnd:"{{duration}} \u043F\u0456\u0441\u043B\u044F \u043A\u0456\u043D\u0446\u044F",at:"\u043E {{time}}, {{date}}"},attendee:{link:"\u041F\u043E\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0437 \u043B\u044E\u0434\u0438\u043D\u043E\u044E",create:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043B\u044E\u0434\u0438\u043D\u0443 \u0437 \u0446\u044C\u043E\u0433\u043E",noMatch:"\u041D\u0435\u043C\u0430\u0454 \u043B\u044E\u0434\u0438\u043D\u0438 \u0437 \u0446\u0456\u0454\u044E \u0430\u0434\u0440\u0435\u0441\u043E\u044E",manyMatches:"\u0426\u044E \u0430\u0434\u0440\u0435\u0441\u0443 \u043C\u0430\u044E\u0442\u044C \u043A\u0456\u043B\u044C\u043A\u0430 \u043B\u044E\u0434\u0435\u0439",failed:"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043B\u044E\u0434\u0438\u043D\u0443",lookupFailed:"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u043F\u043E\u0448\u0443\u043A \u043B\u044E\u0434\u0438\u043D\u0438"},join:"\u041F\u0440\u0438\u0454\u0434\u043D\u0430\u0442\u0438\u0441\u044F",joinLabel:"\u041F\u0440\u0438\u0454\u0434\u043D\u0430\u0442\u0438\u0441\u044F \xB7 {{label}}",sections:{organizer:"\u041E\u0440\u0433\u0430\u043D\u0456\u0437\u0430\u0442\u043E\u0440",recurrence:"\u0414\u0435\u0442\u0430\u043B\u0456 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F",other:"\u0406\u043D\u0448\u0435",sync:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0456\u0437\u0430\u0446\u0456\u044F"}}}},ru:{calendar:{plugin:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",description:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438, \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0438 \u0437\u0430\u0434\u0430\u0447\u0438."},library:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C"},settings:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",defaultTz:"\u0427\u0430\u0441\u043E\u0432\u043E\u0439 \u043F\u043E\u044F\u0441 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},entry:{label:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",fields:{summary:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",description:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",when:"\u041A\u043E\u0433\u0434\u0430",allDay:"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",tz:"\u0427\u0430\u0441\u043E\u0432\u043E\u0439 \u043F\u043E\u044F\u0441",location:"\u041C\u0435\u0441\u0442\u043E",recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",exdates:"\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043D\u044B\u0435 \u0434\u0430\u0442\u044B",rdates:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0434\u0430\u0442\u044B",geo:"\u041C\u0435\u0441\u0442\u043E \u043D\u0430 \u043A\u0430\u0440\u0442\u0435",url:"\u0421\u0441\u044B\u043B\u043A\u0430",conference:"\u0412\u0438\u0434\u0435\u043E\u0437\u0432\u043E\u043D\u043E\u043A",conference_uri:"\u0421\u0441\u044B\u043B\u043A\u0430",conference_label:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",color:"\u0426\u0432\u0435\u0442",transp:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043A\u0430\u043A",class:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C",comment:"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438",contact:"\u041A\u043E\u043D\u0442\u0430\u043A\u0442",resources:"\u0420\u0435\u0441\u0443\u0440\u0441\u044B",master:"\u0421\u0435\u0440\u0438\u044F",recurrenceId:"\u0417\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440",status:"\u0421\u0442\u0430\u0442\u0443\u0441",uid:"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438",ics:"\u0414\u0430\u043D\u043D\u044B\u0435 \u043A\u043B\u0438\u0435\u043D\u0442\u0430",organizerName:"\u041E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0442\u043E\u0440",organizerEmail:"\u0410\u0434\u0440\u0435\u0441 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0442\u043E\u0440\u0430",organizerPerson:"\u041E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0442\u043E\u0440 (\u0447\u0435\u043B\u043E\u0432\u0435\u043A)",attendees:"\u0423\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u0438",attendee_person:"\u0427\u0435\u043B\u043E\u0432\u0435\u043A",attendee_name:"\u0418\u043C\u044F",attendee_email:"\u0410\u0434\u0440\u0435\u0441",attendee_role:"\u0420\u043E\u043B\u044C",attendee_status:"\u041E\u0442\u0432\u0435\u0442",attendee_rsvp:"\u041D\u0443\u0436\u0435\u043D \u043E\u0442\u0432\u0435\u0442",alarms:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",alarm_action:"\u041A\u0430\u043A",alarm_offset:"\u041C\u0438\u043D\u0443\u0442\u044B (\u043C\u0438\u043D\u0443\u0441 \u2014 \u0434\u043E)",alarm_related:"\u041E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E",alarm_at:"\u041A\u043E\u0433\u0434\u0430",alarm_text:"\u0422\u0435\u043A\u0441\u0442",alarm_uid:"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",attachments:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F",image:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",tags:"\u0422\u0435\u0433\u0438",notes:"\u0417\u0430\u043C\u0435\u0442\u043A\u0438"},options:{type:{event:"\u0421\u043E\u0431\u044B\u0442\u0438\u0435",task:"\u0417\u0430\u0434\u0430\u0447\u0430"},status:{tentative:"\u041F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E",confirmed:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E",needs_action:"\u041D\u0443\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C",in_process:"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",completed:"\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E",cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E"},transp:{busy:"\u0417\u0430\u043D\u044F\u0442",free:"\u0421\u0432\u043E\u0431\u043E\u0434\u0435\u043D"},class:{public:"\u041F\u0443\u0431\u043B\u0438\u0447\u043D\u043E\u0435",private:"\u041B\u0438\u0447\u043D\u043E\u0435",confidential:"\u041A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0435"},role:{chair:"\u041F\u0440\u0435\u0434\u0441\u0435\u0434\u0430\u0442\u0435\u043B\u044C",required:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",optional:"\u041F\u043E \u0436\u0435\u043B\u0430\u043D\u0438\u044E",info:"\u0414\u043B\u044F \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F"},partstat:{needs_action:"\u0411\u0435\u0437 \u043E\u0442\u0432\u0435\u0442\u0430",accepted:"\u041F\u0440\u0438\u043D\u044F\u0442\u043E",declined:"\u041E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u043E",tentative:"\u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E",delegated:"\u0414\u0435\u043B\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u043E"},alarm:{display:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0435",audio:"\u0417\u0432\u0443\u043A",email:"\u041F\u0438\u0441\u044C\u043C\u043E"},related:{start:"\u041D\u0430\u0447\u0430\u043B\u0430",end:"\u041A\u043E\u043D\u0446\u0430"}}},task_details:{label:"\u0417\u0430\u0434\u0430\u0447\u0430",fields:{priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",percent:"\u041F\u0440\u043E\u0433\u0440\u0435\u0441\u0441",completed:"\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E \u0432"}},validation:{rrule:"\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F"},view:{today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",scale:{day:"\u0414\u0435\u043D\u044C",week:"\u041D\u0435\u0434\u0435\u043B\u044F",month:"\u041C\u0435\u0441\u044F\u0446",year:"\u0413\u043E\u0434"},lib:{previous:"\u041D\u0430\u0437\u0430\u0434",next:"\u0412\u043F\u0435\u0440\u0451\u0434",new:"\u041D\u043E\u0432\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C",event:"\u0441\u043E\u0431\u044B\u0442\u0438\u0435",events:"\u0441\u043E\u0431\u044B\u0442\u0438\u044F",more:"\u0435\u0449\u0451"},withoutDate:"\u0411\u0435\u0437 \u0434\u0430\u0442\u044B",repeatsFailed:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u043D\u0435 \u0441\u043C\u043E\u0433 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F: \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u0437\u0430\u043F\u0438\u0441\u0438 \u043F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0441 \u043F\u0435\u0440\u0432\u043E\u0439 \u0434\u0430\u0442\u043E\u0439.",form:{createTitle:"\u041D\u043E\u0432\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C",editTitle:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",summary:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",type:"\u0422\u0438\u043F",event:"\u0421\u043E\u0431\u044B\u0442\u0438\u0435",task:"\u0417\u0430\u0434\u0430\u0447\u0430",allDay:"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",start:"\u041D\u0430\u0447\u0430\u043B\u043E",end:"\u041A\u043E\u043D\u0435\u0446",due:"\u0421\u0440\u043E\u043A",location:"\u041C\u0435\u0441\u0442\u043E",color:"\u0426\u0432\u0435\u0442",colorNone:"\u0411\u0435\u0437 \u0446\u0432\u0435\u0442\u0430",repeat:"\u041F\u043E\u0432\u0442\u043E\u0440",repeatNone:"\u041D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0435\u0442\u0441\u044F",repeatDaily:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",repeatWeekly:"\u041A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",repeatMonthly:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",repeatYearly:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",repeatCustom:"\u0421\u0432\u043E\u0451 \u043F\u0440\u0430\u0432\u0438\u043B\u043E",yours:"\u0443 \u0432\u0430\u0441",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",open:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C",conflict:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u2014 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E.",failed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.",dismiss:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C"},scope:{editTitle:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0443\u044E\u0441\u044F \u0437\u0430\u043F\u0438\u0441\u044C",deleteTitle:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0443\u044E\u0441\u044F \u0437\u0430\u043F\u0438\u0441\u044C",this:"\u0422\u043E\u043B\u044C\u043A\u043E \u044D\u0442\u043E\u0442",following:"\u042D\u0442\u043E\u0442 \u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435",all:"\u0412\u0441\u0435",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",discards_one:"{{count}} \u0438\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0439 \u043F\u043E\u0432\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D",discards_few:"{{count}} \u0438\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0445 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u044B",discards_many:"{{count}} \u0438\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0445 \u043F\u043E\u0432\u0442\u043E\u0440\u043E\u0432 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u044B",discards_other:"{{count}} \u0438\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u043E\u0433\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u044B"}},recurrence:{never:"\u041D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0435\u0442\u0441\u044F",freq:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u0442\u044C",daily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",weekly:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E",monthly:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",yearly:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E",interval:"\u041A\u0430\u0436\u0434\u044B\u0435",ends:"\u0417\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F",endsNever:"\u041D\u0438\u043A\u043E\u0433\u0434\u0430",endsAfter:"\u041F\u043E\u0441\u043B\u0435",endsOn:"\u0412 \u0434\u0430\u0442\u0443",times:"\u0440\u0430\u0437",raw:"\u041F\u0440\u0430\u0432\u0438\u043B\u043E (RRULE)",exceptions:"\u0418\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F",sentence:{every:{daily_one:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",daily_few:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u0434\u043D\u044F",daily_many:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u0434\u043D\u0435\u0439",daily_other:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u0434\u043D\u0435\u0439",weekly_one:"\u041A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",weekly_few:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043D\u0435\u0434\u0435\u043B\u0438",weekly_many:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043D\u0435\u0434\u0435\u043B\u044C",weekly_other:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043D\u0435\u0434\u0435\u043B\u044C",monthly_one:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",monthly_few:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043C\u0435\u0441\u044F\u0446\u0430",monthly_many:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043C\u0435\u0441\u044F\u0446\u0435\u0432",monthly_other:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043C\u0435\u0441\u044F\u0446\u0435\u0432",yearly_one:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",yearly_few:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u0433\u043E\u0434\u0430",yearly_many:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043B\u0435\u0442",yearly_other:"\u041A\u0430\u0436\u0434\u044B\u0435 {{count}} \u043B\u0435\u0442"},on:"{{every}} \u0432 {{days}}",times_one:"{{count}} \u0440\u0430\u0437",times_few:"{{count}} \u0440\u0430\u0437\u0430",times_many:"{{count}} \u0440\u0430\u0437",times_other:"{{count}} \u0440\u0430\u0437",until:"\u0434\u043E {{date}}"}},daysIn:{mo:"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A",tu:"\u0432\u0442\u043E\u0440\u043D\u0438\u043A",we:"\u0441\u0440\u0435\u0434\u0443",th:"\u0447\u0435\u0442\u0432\u0435\u0440\u0433",fr:"\u043F\u044F\u0442\u043D\u0438\u0446\u0443",sa:"\u0441\u0443\u0431\u0431\u043E\u0442\u0443",su:"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435"},record:{range:"{{from}} \u2013 {{until}} \xB7 {{duration}}",zone:"{{zone}} \xB7 \u0443 \u0432\u0430\u0441 {{from}}\u2013{{until}}",zoneAt:"{{zone}} \xB7 \u0443 \u0432\u0430\u0441 {{time}}",due:"\u0441\u0440\u043E\u043A {{date}}, {{time}}",dueDate:"\u0441\u0440\u043E\u043A {{date}}",ends:"\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F {{date}}, {{time}}",endsDate:"\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F {{date}}",setTime:"\u0423\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u044F",allDay:"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",timed:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",floating:"\u041F\u043B\u0430\u0432\u0430\u044E\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F",zoneSame:"{{zone}} \xB7 \u0432\u0430\u0448 \u043F\u043E\u044F\u0441",next:"\u0434\u0430\u043B\u0435\u0435: {{dates}}",left:"\u0435\u0449\u0451 {{days}}",overdue:"\u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E \u043D\u0430 {{days}}",today:"\u0441\u0440\u043E\u043A \u0441\u0435\u0433\u043E\u0434\u043D\u044F",percent:"{{percent}} %",overrideOf:"\u0418\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0439 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0441\u0435\u0440\u0438\u0438 \u201E{{summary}}\u201C \u043D\u0430 {{date}}",toSeries:"\u2192 \u0441\u0435\u0440\u0438\u044F",overrides:"\u0418\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B",overridesFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B",duration:{hours_one:"{{count}} \u0447",hours_few:"{{count}} \u0447",hours_many:"{{count}} \u0447",hours_other:"{{count}} \u0447",minutes_one:"{{count}} \u043C\u0438\u043D",minutes_few:"{{count}} \u043C\u0438\u043D",minutes_many:"{{count}} \u043C\u0438\u043D",minutes_other:"{{count}} \u043C\u0438\u043D",days_one:"{{count}} \u0434\u0435\u043D\u044C",days_few:"{{count}} \u0434\u043D\u044F",days_many:"{{count}} \u0434\u043D\u0435\u0439",days_other:"{{count}} \u0434\u043D\u044F"},alarm:{atStart:"\u0432 \u043D\u0430\u0447\u0430\u043B\u0435",atEnd:"\u0432 \u043A\u043E\u043D\u0446\u0435",beforeStart:"\u0437\u0430 {{duration}} \u0434\u043E \u043D\u0430\u0447\u0430\u043B\u0430",beforeEnd:"\u0437\u0430 {{duration}} \u0434\u043E \u043A\u043E\u043D\u0446\u0430",afterStart:"{{duration}} \u043F\u043E\u0441\u043B\u0435 \u043D\u0430\u0447\u0430\u043B\u0430",afterEnd:"{{duration}} \u043F\u043E\u0441\u043B\u0435 \u043A\u043E\u043D\u0446\u0430",at:"\u0432 {{time}}, {{date}}"},attendee:{link:"\u0421\u0432\u044F\u0437\u0430\u0442\u044C \u0441 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u043E\u043C",create:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u0438\u0437 \u044D\u0442\u043E\u0433\u043E",noMatch:"\u041D\u0435\u0442 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u0441 \u044D\u0442\u0438\u043C \u0430\u0434\u0440\u0435\u0441\u043E\u043C",manyMatches:"\u042D\u0442\u043E\u0442 \u0430\u0434\u0440\u0435\u0441 \u0443 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0447\u0435\u043B\u043E\u0432\u0435\u043A",failed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430",lookupFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430"},join:"\u041F\u0440\u0438\u0441\u043E\u0435\u0434\u0438\u043D\u0438\u0442\u044C\u0441\u044F",joinLabel:"\u041F\u0440\u0438\u0441\u043E\u0435\u0434\u0438\u043D\u0438\u0442\u044C\u0441\u044F \xB7 {{label}}",sections:{organizer:"\u041E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0442\u043E\u0440",recurrence:"\u0414\u0435\u0442\u0430\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F",other:"\u041F\u0440\u043E\u0447\u0435\u0435",sync:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F"}}}},en:{calendar:{plugin:{label:"Calendar",description:"Calendars, events and tasks."},library:{label:"Calendar"},settings:{label:"Calendar",defaultTz:"Default time zone"},entry:{label:"Calendar",fields:{summary:"Title",description:"Description",when:"When",allDay:"All day",tz:"Time zone",location:"Location",recurrence:"Repeats",exdates:"Skipped dates",rdates:"Extra dates",geo:"Place on the map",url:"Link",conference:"Video call",conference_uri:"Link",conference_label:"Name",color:"Color",transp:"Show as",class:"Visibility",comment:"Comments",contact:"Contact",resources:"Resources",master:"Series",recurrenceId:"Replaces the instance of",status:"Status",uid:"Sync id",ics:"Client data",organizerName:"Organizer",organizerEmail:"Organizer's address",organizerPerson:"Organizer (person)",attendees:"Attendees",attendee_person:"Person",attendee_name:"Name",attendee_email:"Address",attendee_role:"Role",attendee_status:"Response",attendee_rsvp:"Reply requested",alarms:"Reminders",alarm_action:"How",alarm_offset:"Minutes (negative = before)",alarm_related:"Relative to",alarm_at:"At",alarm_text:"Text",alarm_uid:"Reminder id",attachments:"Attachments",image:"Picture",tags:"Tags",notes:"Notes"},options:{type:{event:"Event",task:"Task"},status:{tentative:"Tentative",confirmed:"Confirmed",needs_action:"To do",in_process:"In progress",completed:"Done",cancelled:"Cancelled"},transp:{busy:"Busy",free:"Free"},class:{public:"Public",private:"Private",confidential:"Confidential"},role:{chair:"Chair",required:"Required",optional:"Optional",info:"For information"},partstat:{needs_action:"No answer",accepted:"Accepted",declined:"Declined",tentative:"Maybe",delegated:"Delegated"},alarm:{display:"Notification",audio:"Sound",email:"Email"},related:{start:"Start",end:"End"}}},task_details:{label:"Task",fields:{priority:"Priority",percent:"Progress",completed:"Completed at"}},validation:{rrule:"Not a valid repeat rule"},view:{today:"Today",scale:{day:"Day",week:"Week",month:"Month",year:"Year"},lib:{previous:"Previous",next:"Next",new:"New entry",event:"event",events:"events",more:"more"},withoutDate:"Without a date",repeatsFailed:"The calendar could not load its repeats: repeating entries show only their first date.",form:{createTitle:"New entry",editTitle:"Edit entry",summary:"Title",type:"Type",event:"Event",task:"Task",allDay:"All day",start:"Starts",end:"Ends",due:"Due",location:"Location",color:"Color",colorNone:"No color",repeat:"Repeat",repeatNone:"Does not repeat",repeatDaily:"Every day",repeatWeekly:"Every week",repeatMonthly:"Every month",repeatYearly:"Every year",repeatCustom:"Custom rule",yours:"yours",save:"Save",delete:"Delete",open:"Open",conflict:"Changed on another device \u2014 reloaded.",failed:"Could not save. Try again.",dismiss:"Dismiss"},scope:{editTitle:"Change a repeating entry",deleteTitle:"Delete a repeating entry",this:"This one",following:"This and following",all:"All",cancel:"Cancel",discards_one:"{{count}} changed instance will be discarded",discards_other:"{{count}} changed instances will be discarded"}},recurrence:{never:"Does not repeat",freq:"Repeat",daily:"Daily",weekly:"Weekly",monthly:"Monthly",yearly:"Yearly",interval:"Every",ends:"Ends",endsNever:"Never",endsAfter:"After",endsOn:"On",times:"times",raw:"Rule (RRULE)",exceptions:"Exceptions",sentence:{every:{daily_one:"Every day",daily_other:"Every {{count}} days",weekly_one:"Every week",weekly_other:"Every {{count}} weeks",monthly_one:"Every month",monthly_other:"Every {{count}} months",yearly_one:"Every year",yearly_other:"Every {{count}} years"},on:"{{every}} on {{days}}",times_one:"{{count}} time",times_other:"{{count}} times",until:"until {{date}}"}},daysIn:{mo:"Monday",tu:"Tuesday",we:"Wednesday",th:"Thursday",fr:"Friday",sa:"Saturday",su:"Sunday"},record:{range:"{{from}} \u2013 {{until}} \xB7 {{duration}}",zone:"{{zone}} \xB7 yours {{from}}\u2013{{until}}",zoneAt:"{{zone}} \xB7 yours {{time}}",due:"due {{date}}, {{time}}",dueDate:"due {{date}}",ends:"ends {{date}}, {{time}}",endsDate:"ends {{date}}",setTime:"Set a time",allDay:"All day",timed:"Timed",floating:"Floating time",zoneSame:"{{zone}} \xB7 your zone",next:"next: {{dates}}",left:"{{days}} left",overdue:"{{days}} overdue",today:"due today",percent:"{{percent}} %",overrideOf:"Changed instance of the series \u201E{{summary}}\u201C on {{date}}",toSeries:"\u2192 series",overrides:"Changed instances",overridesFailed:"Could not load the changed instances",duration:{hours_one:"{{count}} h",hours_other:"{{count}} h",minutes_one:"{{count}} min",minutes_other:"{{count}} min",days_one:"{{count}} day",days_other:"{{count}} days"},alarm:{atStart:"at start",atEnd:"at end",beforeStart:"{{duration}} before start",beforeEnd:"{{duration}} before end",afterStart:"{{duration}} after start",afterEnd:"{{duration}} after end",at:"at {{time}} on {{date}}"},attendee:{link:"Link to a person",create:"Create a person from this",noMatch:"No person has this email",manyMatches:"Several people have this email",failed:"Could not create the person",lookupFailed:"Could not look up the person"},join:"Join",joinLabel:"Join \xB7 {{label}}",sections:{organizer:"Organizer",recurrence:"Recurrence details",other:"More",sync:"Sync"}}}}},Ie=Mt(null),T=ie(mt(),1),Oe=ie(pt(),1),Fe=ie(ft(),1);T.default.extend(Oe.default),T.default.extend(Fe.default);function sa(e,a,t,n){const o=l=>A(l,t,{day:"numeric",month:"long"});return a?n("calendar.record.endsDate",{date:o(qe(R(e)))}):n("calendar.record.ends",{date:o(R(e)),time:j(e)})}function ia(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function te(e){return e&&_e(e)?e:""}function ae(e,a){let t;try{t=new Intl.DateTimeFormat(a,{timeZone:e,timeZoneName:"longGeneric"}).formatToParts(new Date).find(n=>n.type==="timeZoneName")?.value}catch{t=void 0}return t||e.split("/").pop().replace(/_/g," ")}function Ye(e,a,t){if(e===a)return!0;const n=T.default.tz(t,e);return n.utcOffset()===n.tz(a).utcOffset()}var R=e=>e.slice(0,10),j=e=>e.slice(11,16),qe=e=>(0,T.default)(e).subtract(1,"day").format("YYYY-MM-DD");function je(e,a,t){if(e===a)return A(e,t,{weekday:"short",day:"numeric",month:"long"});const n=Ce(e,"day"),o=Ce(a,"day"),l={day:"numeric",month:"long"};return!n||!o?`${A(e,t,l)} \u2013 ${A(a,t,l)}`:new Intl.DateTimeFormat(t,l).formatRange(n.toDate(),o.toDate())}function da(e,a,t,n){const o=e.when?.from||"";if(!o)return null;const l=e.when?.until||"",i=e.type==="task";if(e.allDay){const f=R(o),x=l?qe(R(l)):f,p=x>f?x:f,h={date:je(f,p,t)};return p!==f&&(h.range=ne((0,T.default)(p).diff(f,"day")*1440+1440,n)),i&&l&&(h.due=n("calendar.record.dueDate",{date:A(p,t,{day:"numeric",month:"long"})})),h}const s={date:je(R(o),R(l||o),t)},d=!!l&&R(l)!==R(o),b=f=>d?`${A(R(f),t,{day:"numeric",month:"short"})} ${j(f)}`:j(f);s.range=l?n("calendar.record.range",{from:b(o),until:b(l),duration:ne(T.default.utc(l).diff(T.default.utc(o),"minute"),n)}):j(o);const m=te(e.tz);if(m&&!Ye(m,a,o)){const f=x=>{const p=T.default.tz(x,m).tz(a),h=p.format("YYYY-MM-DD"),M=p.format("HH:mm");return h===R(x)?M:`${A(h,t,{day:"numeric",month:"short"})} ${M}`};s.zone=l?n("calendar.record.zone",{zone:ae(m,t),from:f(o),until:f(l)}):n("calendar.record.zoneAt",{zone:ae(m,t),time:f(o)})}return i&&l&&(s.due=n("calendar.record.due",{date:A(R(l),t,{day:"numeric",month:"long"}),time:j(l)})),s}function ne(e,a){const t=Math.max(0,Math.round(e));if(t>=1440&&t%1440===0)return a("calendar.record.duration.days",{count:t/1440});const n=Math.floor(t/60),o=t%60,l=[];return n&&l.push(a("calendar.record.duration.hours",{count:n})),(o||!n)&&l.push(a("calendar.record.duration.minutes",{count:o})),l.join(" ")}function ca(e,a,t){if(!e.start||t<=0)return[];const n=s=>e.allDay?s.slice(0,10):s,o={kind:"event",uid:"series",start:n(e.start),end:e.end?n(e.end):void 0,allDay:e.allDay,tz:e.allDay?void 0:te(e.tz)||void 0,rrule:e.rrule||void 0,exdates:e.exdates.map(n),rdates:e.rdates.map(n),categories:[],raw:""},l=(0,T.default)(a).add(2,"year").format("YYYY-MM-DDTHH:mm"),i=e.allDay?a.slice(0,10):a.slice(0,16);return vt(o,(e.overrides??[]).filter(s=>s.at&&s.start).map(s=>({kind:"event",uid:"series",recurrenceId:n(s.at),start:n(s.start),end:s.end?n(s.end):void 0,allDay:e.allDay,tz:e.allDay?void 0:te(s.tz)||void 0,exdates:[],categories:[],raw:""})),a,l).map(s=>e.allDay?s.start.slice(0,10):s.start.slice(0,16)).filter(s=>s>=i).sort().slice(0,t)}function ua(e,a,t){if(e.at)return t("calendar.record.alarm.at",{time:j(e.at),date:A(R(e.at),a,{day:"numeric",month:"short"})});const n=(e.related??"").toLowerCase()==="end",o=e.offset??0;return o===0?t(n?"calendar.record.alarm.atEnd":"calendar.record.alarm.atStart"):t(`calendar.record.alarm.${`${o<0?"before":"after"}${n?"End":"Start"}`}`,{duration:ne(Math.abs(o),t)})}function We(e,a){const t=ht(e);if(!t)return e;const n=a(`calendar.recurrence.sentence.every.${t.freq.toLowerCase()}`,{count:t.interval}),o=t.days.map(i=>a(`calendar.daysIn.${i.toLowerCase()}`)).join(", "),l=[];return t.count&&l.push(a("calendar.recurrence.sentence.times",{count:t.count})),t.until&&l.push(a("calendar.recurrence.sentence.until",{date:t.until})),[o?a("calendar.recurrence.sentence.on",{every:n,days:o}):n,...l].join(", ")}var ma=["MO","TU","WE","TH","FR","SA","SU"],ya=["SU","MO","TU","WE","TH","FR","SA"],fa={freq:"WEEKLY",interval:1,byDay:[],ends:"never"};function pa(e){const a=St(Ie),t=a?.start??"";if(!a||!t)return null;const n=e?.hints??{},o=n.allDay?a.bag[n.allDay]:void 0;if(o===!0||o===1||!t.includes("T"))return()=>{};const l=n.tz?a.bag[n.tz]:void 0,i=typeof l=="string"&&_e(l)?l:void 0,s=`${t.slice(11,16)}:00`;return d=>`T${(i?yt(`${d}T${s}`,i,"UTC"):`${d}T${s}`).slice(11,19).replace(/:/g,"")}${i?"Z":""}`}function Be({value:e}){const{t:a}=$e(),t=typeof e=="string"?e:"";return t?r("span",{children:We(t,a)}):r("span",{className:"text-muted-foreground",children:a("calendar.recurrence.never")})}function Ue({field:e,value:a,onChange:t}){const{t:n,i18n:o}=$e(),l=Et(),i=typeof a=="string"?a:"",s=gt(i),d=s??fa,b=i===""||s!==null,m=u=>t(xt(u)),f=pa(e),x=u=>({...d,ends:"until",until:u,untilTime:f?f(u):d.untilTime}),p=Wt(),h=Array.from({length:7},(u,g)=>ya[(p+g)%7]),M=Ae(o.language,"short",p),k=Ae(o.language,"long",p);return y("div",{className:"flex flex-col gap-2",children:[y("label",{className:"flex items-center gap-2 text-sm",children:[r("span",{className:"w-24 text-muted-foreground",children:n("calendar.recurrence.freq")}),y("select",{"aria-label":n("calendar.recurrence.freq"),value:i?d.freq:"",disabled:!b,onChange:u=>u.target.value?m({...d,freq:u.target.value}):t(""),className:"rounded-md border border-border bg-background px-2 py-1",children:[r("option",{value:"",children:n("calendar.recurrence.never")}),["DAILY","WEEKLY","MONTHLY","YEARLY"].map(u=>r("option",{value:u,children:n(`calendar.recurrence.${u.toLowerCase()}`)},u))]})]}),i&&b&&y(Le,{children:[y("label",{className:"flex items-center gap-2 text-sm",children:[r("span",{className:"w-24 text-muted-foreground",children:n("calendar.recurrence.interval")}),r("input",{type:"number",min:1,"aria-label":n("calendar.recurrence.interval"),value:d.interval,onChange:u=>m({...d,interval:Math.max(1,Number(u.target.value))}),className:"w-20 rounded-md border border-border bg-background px-2 py-1"})]}),d.freq==="WEEKLY"&&r("div",{className:"flex flex-wrap gap-1",children:h.map((u,g)=>y("label",{className:`cursor-pointer rounded-md border px-2 py-0.5 text-xs ${d.byDay.includes(u)?"border-ring text-primary":"border-border text-muted-foreground"}`,children:[r("input",{type:"checkbox",className:"sr-only","aria-label":k[g],checked:d.byDay.includes(u),onChange:w=>m({...d,byDay:w.target.checked?ma.filter(v=>v===u||d.byDay.includes(v)):d.byDay.filter(v=>v!==u)})}),M[g]]},u))}),y("div",{className:"flex items-center gap-2 text-sm",children:[r("label",{htmlFor:l,className:"w-24 text-muted-foreground",children:n("calendar.recurrence.ends")}),y("select",{id:l,"aria-label":n("calendar.recurrence.ends"),value:d.ends,onChange:u=>{const g=u.target.value;m(g==="count"?{...d,ends:g,count:d.count??1}:g==="until"?x(d.until??qt()):{...d,ends:g,count:void 0,until:void 0})},className:"rounded-md border border-border bg-background px-2 py-1",children:[r("option",{value:"never",children:n("calendar.recurrence.endsNever")}),r("option",{value:"count",children:n("calendar.recurrence.endsAfter")}),r("option",{value:"until",children:n("calendar.recurrence.endsOn")})]}),d.ends==="count"&&r("input",{type:"number",min:1,"aria-label":n("calendar.recurrence.times"),value:d.count??1,onChange:u=>m({...d,count:Math.max(1,Number(u.target.value))}),className:"w-20 rounded-md border border-border bg-background px-2 py-1"}),d.ends==="until"&&r(Ct,{value:d.until??"",granularity:"day",onChange:u=>m(u?x(u):{...d,until:u}),"aria-label":n("calendar.recurrence.endsOn")})]})]}),y("label",{className:"flex items-center gap-2 text-sm",children:[r("span",{className:"w-24 text-muted-foreground",children:n("calendar.recurrence.raw")}),r("input",{type:"text","aria-label":n("calendar.recurrence.raw"),value:i,onChange:u=>t(u.target.value),className:"flex-1 rounded-md border border-border bg-background px-2 py-1 font-mono text-xs"})]})]})}function ha(e){return r(Rt,{field:e.field,value:e.value,label:e.label,error:e.error,mode:e.mode,geom:"inline",bare:e.bare,view:a=>r(Be,{value:a}),edit:(a,t)=>r(Ue,{field:e.field,value:a,onChange:t})})}function va({field:e,draft:a,setDraft:t}){return r(Ue,{field:e,value:a,onChange:t})}var ga={kinds:["recurrence"],layout:"scalar",Page:ha,Picker:va,pickerSize:"large",Inline:({value:e})=>r(Be,{value:e})};T.default.extend(Oe.default),T.default.extend(Fe.default);var ba=[],wa=[],xa=[Dt],W=e=>e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{},He=e=>Array.isArray(e)?e.filter(a=>typeof a=="string"):[],P=e=>typeof e=="string"?e:"",_a=e=>{const a=e!==null&&typeof e=="object"?e.id:e;return a==null||a===""?"":String(a)};function ka({mode:e,recordCtx:a}){const{t,i18n:n}=q(),o=n.language,{library:l,shelf:i,recordId:s}=a,d=e==="view"&&!(e==="create"||!s),b=ce(),m=ce("recurrence").field.type?.hints??{},f=J(()=>Se(l,i),[l,i]),x=J(()=>f?Bt(f.fields):{},[f]),p=J(()=>xa.filter(c=>Vt(c,l,i)),[l,i]),h=J(()=>ke(x,W(b.value),p),[x,p,b.value]),M=W(h.when),k=P(M.from),u=c=>r(Ie.Provider,{value:{bag:h,start:k},children:c}),g=P(M.until),w=h.allDay===!0||h.allDay===1,v=P(h.tz),N=te(v),_=P(h.recurrence),D=m.type!==void 0&&h[m.type]==="task",$=ia(),L=(0,T.default)().tz(N||$).format("YYYY-MM-DDTHH:mm"),S=m.overrides?.master,B=m.overrides?.at,U=d&&S?_a(h[S]):"",Qe=Re(l,i,U?[U]:ba).get(U),H=d&&_&&S&&s?`${l}/${i}/${S}=${s}`:"",[re,et]=X({query:"",rows:[],failed:!1}),me=H&&re.query===H,oe=me?re.rows:wa,tt=me&&re.failed;De(()=>{if(!H||!S||!s)return;let c=!0;const z=(E,se)=>{c&&et({query:H,rows:E,failed:se})};return Ee(l,i,{[S]:s,_fields:"full"}).then(E=>z(E.map(se=>ke(x,se,p)),!1)).catch(()=>z([],!0)),()=>{c=!1}},[H,l,i,s,S,x,p]);const ye=(c,z)=>{const E=A(c.slice(0,10),o,{day:"numeric",month:z});return!w&&c.length>=16?`${E}, ${c.slice(11,16)}`:E},fe=c=>(c&&f?Ut(f,c):"")||"\u2026",at=U&&S?r($t,{children:y("span",{"data-testid":"cal-when-series",children:[t("calendar.record.overrideOf",{summary:fe(Qe),date:B&&P(h[B])?ye(P(h[B]),"long"):""})," ",r(de,{to:`/${l}/${i}/${U}`,className:"underline underline-offset-2",children:t("calendar.record.toSeries")})]})}):null,V=c=>B?P(c[B]):"",nt=tt?r("span",{className:"text-sm text-muted-foreground","data-testid":"cal-when-changed-failed",children:t("calendar.record.overridesFailed")}):oe.length>0?y("div",{className:"flex flex-col gap-1 text-sm","data-testid":"cal-when-changed",children:[r("span",{className:"text-muted-foreground",children:t("calendar.record.overrides")}),r("ul",{className:"flex flex-col gap-0.5",children:[...oe].sort((c,z)=>V(c).localeCompare(V(z))).map(c=>r("li",{children:y(de,{to:`/${l}/${i}/${String(c.id)}`,className:"underline underline-offset-2",children:[r("span",{className:"tabular-nums",children:V(c)?ye(V(c),"short"):""})," \xB7 ",fe(c)]})},String(c.id)))})]}):null;if(e!=="view")return u(y("div",{className:"flex flex-col gap-3","data-testid":"cal-when",children:[r(I,{name:"when"}),r(I,{name:"allDay"}),r(I,{name:"tz"}),r(I,{name:"recurrence"})]}));const O=da({when:{from:D?k||g:k,until:g},allDay:w,tz:v,type:D?"task":"event"},$,o,t),pe=k&&O?O.range:void 0,he=!D&&!k&&g?sa(g,w,o,t):"",ve=_&&k?ca({start:k,end:g||void 0,allDay:w,tz:v,rrule:_,exdates:He(m.exdates?h[m.exdates]:void 0),rdates:He(m.rdates?h[m.rdates]:void 0),overrides:oe.map(c=>({at:V(c),start:P(W(c.when).from),end:P(W(c.when).until)||void 0,tz:P(c.tz)}))},L,3):[],rt=()=>{const c=(0,T.default)(g.slice(0,10)).subtract(1,"day").format("YYYY-MM-DD"),z=(k||g).slice(0,10);return c>z?c:z},ge=D&&g?(0,T.default)(w?rt():g.slice(0,10)):null,Y=ge?ge.diff((0,T.default)(L.slice(0,10)),"day"):null,le=W(W(h._extends).task_details).percent,be=le==null||le===""?NaN:Number(le),ot=D&&Number.isFinite(be);let we=null;if(Y!==null){const c=Y>0?"remaining":Y<0?"overdue":"today",z=Y>0?Gt:Y<0?Zt:null,E=ne(Math.abs(Y)*1440,t);we=y("span",{className:"inline-flex items-center gap-1.5","data-testid":"cal-when-days","data-direction":c,children:[z&&r(z,{size:14,className:"shrink-0 text-muted-foreground","aria-hidden":"true"}),c==="remaining"?t("calendar.record.left",{days:E}):c==="overdue"?t("calendar.record.overdue",{days:E}):t("calendar.record.today")]})}const lt=O?.zone??(N?Ye(N,$,k||L)?t("calendar.record.zoneSame",{zone:ae(N,o)}):ae(N,o):t("calendar.record.floating")),st=w?"":k.slice(11,16),it=c=>{const z=A(c.slice(0,10),o,{weekday:"short",day:"numeric",month:"short"}),E=w?"":c.slice(11,16);return E&&E!==st?`${z} ${E}`:z};return u(y("div",{className:"flex flex-col gap-2","data-testid":"cal-when",children:[at,r(I,{name:"when",ownLabel:!0,render:()=>y("span",{className:"flex flex-col gap-0.5",children:[O?y(Le,{children:[r("span",{className:"text-2xl leading-tight font-bold","data-testid":"cal-when-date",children:O.date}),pe&&r("span",{className:"text-base tabular-nums","data-testid":"cal-when-range",children:pe})]}):r("span",{className:"text-lg",children:t("calendar.record.setTime")}),he&&r("span",{className:"text-sm tabular-nums","data-testid":"cal-when-end",children:he}),D&&O?.due&&y("span",{className:"flex flex-wrap items-center gap-x-3 text-sm",children:[r("span",{"data-testid":"cal-when-due",children:O.due}),we]})]})}),y("span",{className:"flex flex-wrap items-center gap-x-4 gap-y-1",children:[r(I,{name:"allDay",ownLabel:!0,render:c=>{const z=w?Jt:ea;return y("button",{type:"button",className:"inline-flex items-center gap-1.5 text-sm hover:text-primary disabled:opacity-60",disabled:!c.writable||c.busy,onClick:()=>{c.write(!w)},"data-testid":"cal-when-allday",children:[r(z,{size:14,className:"shrink-0 text-muted-foreground","aria-hidden":"true"}),t(w?"calendar.record.allDay":"calendar.record.timed")]})}}),r(I,{name:"tz",ownLabel:!0,render:()=>r("span",{className:"text-sm text-muted-foreground tabular-nums","data-testid":"cal-when-zone",children:lt})})]}),r(I,{name:"recurrence",ownLabel:!0,render:()=>_?y("span",{className:"flex flex-col gap-0.5 text-sm",children:[y("span",{className:"inline-flex items-center gap-1.5","data-testid":"cal-when-rule",children:[r(na,{size:14,className:"shrink-0","aria-hidden":"true"}),We(_,t)]}),ve.length>0&&r("span",{className:"text-muted-foreground","data-testid":"cal-when-next",children:t("calendar.record.next",{dates:ve.map(it).join(", ")})})]}):r("span",{className:"text-sm text-muted-foreground","data-testid":"cal-when-rule",children:t("calendar.recurrence.never")})}),ot&&r(Na,{percent:be,label:t("calendar.task_details.fields.percent"),t}),nt]}))}function Na({percent:e,label:a,t}){const n=Math.max(0,Math.min(100,Math.round(e)));return y("div",{className:"flex items-center gap-2 text-sm","data-testid":"cal-when-progress",children:[r("span",{className:"text-muted-foreground",children:a}),r("span",{role:"progressbar","aria-label":a,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,className:"h-1.5 w-32 overflow-hidden rounded-full border border-border bg-muted",children:r("span",{className:"block h-full bg-foreground",style:{width:`${n}%`}})}),r("span",{className:"tabular-nums",children:t("calendar.record.percent",{percent:n})})]})}ee({kinds:["cal.when"],layout:"block",editor:"own",Page:ka});var Ve=e=>Ft(e,[]).filter(a=>!!a&&typeof a=="object");function Da(e,a){const t=new Set(e.fields.filter(Ht).map(o=>o.key)),n={};for(const o of a){const l=e.view?.[o];if(typeof l!="string"||!t.has(l))return null;n[o]=l}return n}function ue({el:e,value:a,mode:t,recordCtx:n,testId:o,parts:l,draw:i,count:s}){const{t:d}=q(),{write:b}=ce(),m=e,f=m.label?d(m.label):void 0,[x,p]=X(()=>new Set),h=Ne((_,D)=>{p($=>{if(D===$.has(_))return $;const L=new Set($);return D?L.add(_):L.delete(_),L})},[]),M=jt(t,a,_=>b(_),{editLabel:f?`${d("actions.edit")} \xB7 ${f}`:void 0,disabled:x.size>0}),k=Da(m,l),u=Ve(a),g=ze(a),w=ze(null);De(()=>{g.current=a,w.current=null},[a]);const v=Ne(async _=>{const D=w.current,$=_(D??Ve(g.current));w.current=$;const L=()=>{w.current===$&&(w.current=D)};try{const S=await b($);return S&&L(),S}catch(S){throw L(),S}},[b]),N={...m,kind:void 0};return!k||t!=="view"?r("div",{"data-testid":o,children:r(Te,{group:N,value:a,onChange:_=>{b(_)},recordCtx:n,mode:t})}):M.mode!=="view"?y("div",{"data-testid":o,className:"flex flex-col gap-2",children:[r(Te,{group:N,value:M.value,onChange:M.onChange,recordCtx:n,mode:"edit"}),r("div",{className:"flex justify-end",children:M.actions})]}):r("div",{"data-testid":o,children:r(Lt,{label:f,icon:m.icon,count:s?s(u,k):u.length,labelAfter:M.actions,rail:!1,children:r(za,{draw:i,rows:u,keys:k,update:v,setBusy:h})})})}function za({draw:e,rows:a,keys:t,update:n,setBusy:o}){return e({rows:a,keys:t,write:l=>n(()=>l),update:n,setBusy:o})}var Z="people",K="person",Ze={accepted:{icon:dt,label:"accepted"},declined:{icon:ct,label:"declined"},tentative:{icon:Qt,label:"tentative"},delegated:{icon:Kt,label:"delegated"},"needs-action":{icon:Xt,label:"needs_action"}},Ma={chair:"chair","opt-participant":"optional","non-participant":"info"},F=e=>Q(e)?String(e):"";function Ta({status:e}){const{t:a}=q(),t=Ze[e.toLowerCase()]??Ze["needs-action"],n=a(`calendar.entry.options.partstat.${t.label}`),o=t.icon;return y("span",{className:"inline-flex shrink-0 items-center gap-1",title:n,"data-testid":"cal-attendees-status",children:[r(o,{size:14,"aria-hidden":!0}),r("span",{className:"text-xs text-muted-foreground",children:n})]})}function Sa({row:e,idx:a,keys:t,linked:n,setPerson:o,setRowBusy:l}){const{t:i}=q(),[s,d]=X(null),[b,m]=X(!1),f=F(e[t.person]),x=F(e[t.name]),p=F(e[t.email]),h=Ma[F(e[t.role]).toLowerCase()],M=async v=>{m(!0),l(!0),d(null);let N="calendar.record.attendee.lookupFailed";try{const _=await v(D=>N=D);if(_!==null){const D=await o(_);D&&d(D)}}catch{d(i(N))}finally{m(!1),l(!1)}},k=async()=>{const v=await Ee(Z,K,{email:p});if(v.length===1)return String(v[0].id);if(v.length>1)return d(i("calendar.record.attendee.manyMatches")),null},u=()=>M(async()=>{const v=await k();return v===void 0&&d(i("calendar.record.attendee.noMatch")),v??null}),g=()=>M(async v=>{const N=await k();if(N!==void 0)return N;v("calendar.record.attendee.failed");const{createdId:_}=await bt(Z,K,{kind:"create",body:{fullName:x||p,email:p}});if(_===void 0)throw new Error("no id");return It(),String(_)});let w;if(f){const v=Se(Z,K),N=v&&n?Yt(v,n):void 0;w=y(de,{to:`/${Z}/${K}/${f}`,className:"inline-flex min-w-0 items-center gap-1.5 hover:text-primary hover:underline",children:[r(At,{icon:N?.icon??{kind:"icon",value:v?.icon??"lucide:user"},framed:!0,size:"sm"}),r("span",{className:"truncate",children:N?.title||x||p||f})]})}else w=r("span",{className:"truncate",children:x||p});return y("div",{className:"flex flex-col gap-1","data-testid":`cal-attendees-row-${a}`,children:[y("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-sm",children:[r(Ta,{status:F(e[t.status])}),w,h&&r("span",{className:"text-muted-foreground",children:i(`calendar.entry.options.role.${h}`)}),!f&&p&&y("span",{className:"ml-auto flex items-center gap-1",children:[y(Me,{type:"button",variant:"ghost",size:"xs",disabled:b,onClick:u,"aria-label":`${i("calendar.record.attendee.link")} \xB7 ${x||p}`,children:[r(ta,{"aria-hidden":!0}),i("calendar.record.attendee.link")]}),y(Me,{type:"button",variant:"ghost",size:"xs",disabled:b,onClick:g,"aria-label":`${i("calendar.record.attendee.create")} \xB7 ${x||p}`,children:[r(ra,{"aria-hidden":!0}),i("calendar.record.attendee.create")]})]})]}),s&&r("p",{className:"ps-7 text-xs text-muted-foreground",role:"status",children:s})]})}function Ea(e){return r(ue,{...e,testId:"cal-attendees",parts:Nt,draw:({rows:a,keys:t,update:n,setBusy:o})=>r(Ca,{rows:a,keys:t,update:n,setBusy:o})})}function Ca({rows:e,keys:a,update:t,setBusy:n}){const o=Re(Z,K,e.map(l=>F(l[a.person])).filter(Boolean));return r("div",{className:"flex flex-col gap-1.5",children:e.map((l,i)=>r(Sa,{row:l,idx:i,keys:a,linked:o.get(F(l[a.person])),setPerson:s=>t(d=>d.map((b,m)=>m===i?{...b,[a.person]:s}:b)),setRowBusy:s=>n(String(i),s)},i))})}ee({kinds:["cal.attendees"],layout:"block",editor:"own",Page:Ea});var Ke={display:Pe,audio:oa,email:aa},G=e=>Q(e)?String(e):"";function Ra(e){if(!Q(e))return null;const a=Number(e);return Number.isFinite(a)?a:null}function $a(e){const{t:a,i18n:t}=q();return r(ue,{...e,testId:"cal-alarms",parts:kt,draw:({rows:n,keys:o})=>r("div",{className:"flex flex-col gap-1.5",children:n.map((l,i)=>{const s=G(l[o.action]).toLowerCase()||"display",d=Ke[s]??Pe,b=Ke[s]?a(`calendar.entry.options.alarm.${s}`):G(l[o.action]),m=G(l[o.text]);return y("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-sm","data-testid":`cal-alarms-row-${i}`,children:[y("span",{className:"inline-flex size-5 shrink-0 items-center justify-center",title:b,"data-testid":"cal-alarms-action",children:[r(d,{size:14,"aria-hidden":!0}),r("span",{className:"sr-only",children:b})]}),r("span",{children:ua({offset:Ra(l[o.offset]),at:G(l[o.at])||null,related:G(l[o.related])||null},t.language,a)}),m&&r("span",{className:"min-w-0 truncate text-muted-foreground",children:m})]},i)})})})}ee({kinds:["cal.alarms"],layout:"block",editor:"own",Page:$a});var Ge=e=>Q(e)?String(e):"",Je=e=>/^https?:\/\//i.test(e),Aa=e=>Je(e)||/^(?:tel|sip|mailto):/i.test(e),Xe=(e,a)=>e.map(t=>({uri:Ge(t[a.uri]),label:Ge(t[a.label])})).filter(t=>t.uri);function La(e){const{t:a}=q();return r(ue,{...e,testId:"cal-conference",parts:_t,count:(t,n)=>Xe(t,n).length,draw:({rows:t,keys:n})=>{const[o,...l]=Xe(t,n),i=(s,d)=>Aa(s.uri)?r("a",{href:s.uri,target:"_blank",rel:"noreferrer",className:"w-fit max-w-full truncate text-sm hover:text-primary hover:underline",children:s.label||s.uri},d):r("span",{className:"w-fit max-w-full truncate text-sm",children:s.label||s.uri},d);return y("div",{className:"flex flex-col items-start gap-1.5",children:[o&&(Je(o.uri)?r("a",{href:o.uri,target:"_blank",rel:"noreferrer","data-slot":"button",className:Pt({variant:"default"}),children:o.label?a("calendar.record.joinLabel",{label:o.label}):a("calendar.record.join")}):i(o,0)),l.map((s,d)=>i(s,d+1))]})}})}ee({kinds:["cal.conference"],layout:"block",editor:"own",Page:La});var Pa=Tt(()=>ut(()=>import("./ilamy-view-CF9TS3xK.js"),xe([0,1,2,3,4]))),Ia=e=>r(zt,{fallback:null,children:r(Pa,{...e})}),Oa={...wt,View:Ia},Fa=Ot({translations:la,renderers:[ga],listViews:[Oa]});export{Fa as default};
@@ -0,0 +1 @@
1
+ const t=(e,s=t,a=s.f||(s.f=["assets/ChatWidget-CLPg1SxK.js","assets/createLucideIcon-0HK7VRhx.js","assets/check-DSh5VTB0.js","assets/rotate-ccw-Cbig43Yp.js","assets/x-Tw9OswUb.js"]))=>e.map(o=>a[o]);import{t as i}from"./preload-helper-DxWiKyOd.js";import{definePluginUI as r}from"@coffer-org/web-ui";var c=r({slots:[{slot:"overlay",id:"webchat",load:()=>i(()=>import("./ChatWidget-CLPg1SxK.js"),t([0,1,2,3,4]))}]});export{c as default};