@opengis/cms 0.0.22 → 0.0.26

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 (274) hide show
  1. package/dist/index-W-qQIppj-DRzFSjU1.js +2452 -0
  2. package/dist/index.html +28 -34
  3. package/dist/index.js +13915 -0
  4. package/dist/index.umd.cjs +153 -0
  5. package/package.json +4 -11
  6. package/dist/assets/AddUser-CX-McfRW.js +0 -1
  7. package/dist/assets/ApiKeys-DSv1exYv.js +0 -16
  8. package/dist/assets/Appearance-DDtOUvCV.js +0 -6
  9. package/dist/assets/ArticlesPage-D6B3cZsl.js +0 -6
  10. package/dist/assets/BuilderPage-CCeSMVWe.js +0 -1
  11. package/dist/assets/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-DVYVfYF4.js +0 -1
  12. package/dist/assets/CollectionsPage-CHk8Cn5k.js +0 -1
  13. package/dist/assets/Dashboard-Bs7sXO6h.js +0 -11
  14. package/dist/assets/EditCollectionPage-gPuLJrN8.js +0 -41
  15. package/dist/assets/EmailPage-DhlWsPxk.js +0 -1
  16. package/dist/assets/EmptyData-Ct-xQv_N.js +0 -1
  17. package/dist/assets/FeedbackPage-DtaOncVv.js +0 -1
  18. package/dist/assets/Logs-CZ5klHNK.js +0 -1
  19. package/dist/assets/MediaBreadcrumb-BpOxt5PK.js +0 -11
  20. package/dist/assets/MediaPage-DqRcZFlO.js +0 -16
  21. package/dist/assets/MenuAddPage-BLcoVgrS.js +0 -1
  22. package/dist/assets/MenuItemPage-B2otXqkz.js +0 -20
  23. package/dist/assets/MenuPage-C00m4Fc_.js +0 -1
  24. package/dist/assets/MonacoEditor.vue_vue_type_script_setup_true_lang-CjoEsC67.js +0 -3
  25. package/dist/assets/PermissionsPage-LtqcCJ14.js +0 -1
  26. package/dist/assets/Settings-BHH6RoBP.js +0 -1
  27. package/dist/assets/SettingsTable-CY5pZx1z.js +0 -1
  28. package/dist/assets/SettingsTitle-t4WJBFxZ.js +0 -1
  29. package/dist/assets/SingletonsPage-Bn2Ypjhs.js +0 -6
  30. package/dist/assets/TagsPage-DAiakEth.js +0 -1
  31. package/dist/assets/UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js +0 -11
  32. package/dist/assets/UniversalTablePagination.vue_vue_type_script_setup_true_lang-DppVBws0.js +0 -1
  33. package/dist/assets/Users-CMH5j0db.js +0 -1
  34. package/dist/assets/UsersPage-CDGreEib.js +0 -1
  35. package/dist/assets/arrow-up-DCe0WsrM.js +0 -16
  36. package/dist/assets/calendar-o9t4MkD2.js +0 -6
  37. package/dist/assets/chevron-left-WFftVS9c.js +0 -6
  38. package/dist/assets/chevron-right-BiiSb3Be.js +0 -6
  39. package/dist/assets/contentForm-unZQhjCu.js +0 -6
  40. package/dist/assets/en-BDx3Svx8.js +0 -1
  41. package/dist/assets/eye-Dijywc6g.js +0 -6
  42. package/dist/assets/file-B_duymIT.js +0 -6
  43. package/dist/assets/general-CkN_0qIV.js +0 -1
  44. package/dist/assets/index-BIp7eSXk.js +0 -1
  45. package/dist/assets/index-DCW2e4Az.js +0 -9
  46. package/dist/assets/index-DGweaj24.js +0 -1
  47. package/dist/assets/index-W-qQIppj-BDlsxaGB.js +0 -1
  48. package/dist/assets/index-W-qQIppj-BsopI3Hz-BIZR-dhy.js +0 -1
  49. package/dist/assets/index-oQz9FOqL.css +0 -1
  50. package/dist/assets/index-yMJAVBXk.js +0 -290
  51. package/dist/assets/list-CXRbSNky.js +0 -6
  52. package/dist/assets/logo-Cct5WB26.png +0 -0
  53. package/dist/assets/pencil-CwnPP4IJ.js +0 -6
  54. package/dist/assets/plus-DLR44m6p.js +0 -6
  55. package/dist/assets/save-FeDrOUOd.js +0 -6
  56. package/dist/assets/search-C4-fHihx.js +0 -6
  57. package/dist/assets/square-pen-xVs4e8Yb.js +0 -6
  58. package/dist/assets/trash-2-BGXMNU3d.js +0 -6
  59. package/dist/assets/uk-BA7DIKEL.js +0 -1
  60. package/dist/assets/useDebounce-DFq3rxAW.js +0 -1
  61. package/dist/assets/vs-form-reletion-link-C-xrdHDl.js +0 -20
  62. package/dist/assets/vs-form-reletion-link-bk-9ZkDH.css +0 -1
  63. package/dist/assets/vue.-sixQ7xP-CUPNuJcq.js +0 -1
  64. package/dist/assets/vuedraggable.umd-W_2WTF6i.js +0 -14
  65. package/dist/assets/x-D2t-wfBe.js +0 -6
  66. package/module/cms/card/cms.content.table/index.yml +0 -17
  67. package/module/cms/card/cms.content.table/main_info.hbs +0 -26
  68. package/module/cms/card/cms.menu.table/content_info.hbs +0 -16
  69. package/module/cms/card/cms.menu.table/index.yml +0 -18
  70. package/module/cms/card/cms.menu.table/main_info.hbs +0 -22
  71. package/module/cms/card/cms.settings.table/index.yml +0 -13
  72. package/module/cms/card/cms.settings.table/main_info.hbs +0 -20
  73. package/module/cms/cls/content.status.json +0 -18
  74. package/module/cms/cls/user_type.json +0 -10
  75. package/module/cms/form/admin.users.form.json +0 -78
  76. package/module/cms/form/cms.content.form.json +0 -79
  77. package/module/cms/form/cms.menu.form.json +0 -69
  78. package/module/cms/form/cms.settings.form.json +0 -32
  79. package/module/cms/menu.json +0 -24
  80. package/module/cms/router.js +0 -169
  81. package/module/cms/select/cms.page_type.sql +0 -2
  82. package/module/cms/select/collection.sql +0 -1
  83. package/module/cms/select/locale.sql +0 -17
  84. package/module/cms/select/news_tag_id.sql +0 -12
  85. package/module/cms/select/tag_id.sql +0 -1
  86. package/module/cms/table/admin.users.table.json +0 -54
  87. package/module/cms/table/cms.content.table.json +0 -106
  88. package/module/cms/table/cms.menu.table.json +0 -73
  89. package/module/cms/table/cms.settings.table.json +0 -57
  90. package/module/cms/table/collection.default.table.json +0 -102
  91. package/module/cms/table/single.default.table.json +0 -115
  92. package/src/App.css +0 -52
  93. package/src/App.vue +0 -62
  94. package/src/assets/image.png +0 -0
  95. package/src/assets/main.css +0 -3
  96. package/src/assets/tailwind-3.4.17.js +0 -113
  97. package/src/components/LanguageSwitcher.vue +0 -73
  98. package/src/components/SettingsCard.vue +0 -40
  99. package/src/components/builder/CreateForm.vue +0 -128
  100. package/src/components/builder/formTypeSchema.js +0 -145
  101. package/src/components/builder/tabs/index.ts +0 -9
  102. package/src/components/builder/tabs/vs-builder-edit.vue +0 -133
  103. package/src/components/builder/tabs/vs-builder-monaco.vue +0 -29
  104. package/src/components/builder/tabs/vs-builder-preview.vue +0 -39
  105. package/src/components/builder/vs-builder-datatable-controls.vue +0 -138
  106. package/src/components/builder/vs-builder-datatable-form.vue +0 -80
  107. package/src/components/builder/vs-builder-datatable.vue +0 -191
  108. package/src/components/builder/vs-builder-list-item.vue +0 -110
  109. package/src/components/collections/CollectionsBreadcrumb.vue +0 -52
  110. package/src/components/collections/CollectionsGrid.vue +0 -176
  111. package/src/components/collections/ContentBlock.vue +0 -75
  112. package/src/components/collections/formWrapper.vue +0 -156
  113. package/src/components/dashboard/ContentItem.vue +0 -82
  114. package/src/components/dashboard/DashboardHeader.vue +0 -33
  115. package/src/components/dashboard/QuickActions.vue +0 -84
  116. package/src/components/dashboard/RecentContent.vue +0 -54
  117. package/src/components/dashboard/StatCard.vue +0 -63
  118. package/src/components/dashboard/StatsGrid.vue +0 -28
  119. package/src/components/form-components/MonacoEditor.vue +0 -104
  120. package/src/components/form-components/VsFormMeta.vue +0 -40
  121. package/src/components/form-components/VsFormTags.vue +0 -150
  122. package/src/components/form-components/custom-datatable/vs-form-custom-datatable-add.vue +0 -84
  123. package/src/components/form-components/custom-datatable/vs-form-custom-datatable-controls.vue +0 -106
  124. package/src/components/form-components/index.js +0 -23
  125. package/src/components/form-components/reference/vs-form-reference-add.vue +0 -92
  126. package/src/components/form-components/reference/vs-form-reference-controls.vue +0 -101
  127. package/src/components/form-components/reference-list/referenceOptionList.js +0 -78
  128. package/src/components/form-components/reference-list/vs-form-reference-add.vue +0 -145
  129. package/src/components/form-components/reference-list/vs-form-reference-choce.vue +0 -39
  130. package/src/components/form-components/reference-list/vs-form-reference-controls.vue +0 -110
  131. package/src/components/form-components/reference-skeleton/about-skeleton.vue +0 -37
  132. package/src/components/form-components/reference-skeleton/banner-skeleton.vue +0 -29
  133. package/src/components/form-components/reference-skeleton/body-skeleton.vue +0 -56
  134. package/src/components/form-components/reference-skeleton/cards-skeleton.vue +0 -47
  135. package/src/components/form-components/reference-skeleton/documents-skeleton.vue +0 -64
  136. package/src/components/form-components/reference-skeleton/faq-skeleton.vue +0 -64
  137. package/src/components/form-components/reference-skeleton/form-skeleton.vue +0 -41
  138. package/src/components/form-components/reference-skeleton/index.js +0 -36
  139. package/src/components/form-components/reference-skeleton/infoLine-skeleton.vue +0 -37
  140. package/src/components/form-components/reference-skeleton/news-skeleton.vue +0 -54
  141. package/src/components/form-components/reference-skeleton/slider-skeleton.vue +0 -41
  142. package/src/components/form-components/reference-skeleton/tabs-skeleton.vue +0 -40
  143. package/src/components/form-components/reference-skeleton/team-skeleton.vue +0 -103
  144. package/src/components/form-components/reference-skeleton/usefulLinks-skeleton.vue +0 -52
  145. package/src/components/form-components/reference-skeleton/video-skeleton.vue +0 -36
  146. package/src/components/form-components/testReferenceTypes.js +0 -773
  147. package/src/components/form-components/vs-form-color-picker.vue +0 -29
  148. package/src/components/form-components/vs-form-custom-datatable.vue +0 -214
  149. package/src/components/form-components/vs-form-integer.vue +0 -86
  150. package/src/components/form-components/vs-form-key-value.vue +0 -201
  151. package/src/components/form-components/vs-form-marcdown-md.vue +0 -3
  152. package/src/components/form-components/vs-form-media-select.vue +0 -780
  153. package/src/components/form-components/vs-form-reference-list.vue +0 -97
  154. package/src/components/form-components/vs-form-reference.vue +0 -59
  155. package/src/components/form-components/vs-form-relation.vue +0 -30
  156. package/src/components/form-components/vs-form-reletion-link.vue +0 -34
  157. package/src/components/form-components/vs-form-select-collection.vue +0 -0
  158. package/src/components/form-components/vs-form-slug.vue +0 -72
  159. package/src/components/form-components/vs-form-tiptap.vue +0 -7
  160. package/src/components/form-components/vs-richtext-md.vue +0 -3
  161. package/src/components/icons/BellIcon.vue +0 -17
  162. package/src/components/icons/GlobeIcon.vue +0 -18
  163. package/src/components/icons/KeyIcon.vue +0 -20
  164. package/src/components/icons/PaletteIcon.vue +0 -22
  165. package/src/components/icons/SettingsIcon.vue +0 -19
  166. package/src/components/icons/ShieldIcon.vue +0 -18
  167. package/src/components/icons/UsersIcon.vue +0 -19
  168. package/src/components/icons/icon-chevron-right.vue +0 -16
  169. package/src/components/icons/icon-drag.vue +0 -20
  170. package/src/components/icons/icon-file-text.vue +0 -21
  171. package/src/components/icons/icon-folder.vue +0 -18
  172. package/src/components/icons/icon-grid.vue +0 -17
  173. package/src/components/icons/icon-group.vue +0 -19
  174. package/src/components/icons/icon-home.vue +0 -16
  175. package/src/components/icons/icon-image.vue +0 -18
  176. package/src/components/icons/icon-list.vue +0 -20
  177. package/src/components/icons/icon-more.vue +0 -17
  178. package/src/components/icons/icon-plus.vue +0 -17
  179. package/src/components/icons-types/icon-array.vue +0 -22
  180. package/src/components/icons-types/icon-boolean.vue +0 -18
  181. package/src/components/icons-types/icon-datalist.vue +0 -22
  182. package/src/components/icons-types/icon-date.vue +0 -20
  183. package/src/components/icons-types/icon-datetime.vue +0 -20
  184. package/src/components/icons-types/icon-file.vue +0 -21
  185. package/src/components/icons-types/icon-gallery.vue +0 -18
  186. package/src/components/icons-types/icon-image.vue +0 -19
  187. package/src/components/icons-types/icon-integer.vue +0 -20
  188. package/src/components/icons-types/icon-merkdown.vue +0 -18
  189. package/src/components/icons-types/icon-multiselect.vue +0 -22
  190. package/src/components/icons-types/icon-number.vue +0 -20
  191. package/src/components/icons-types/icon-radio.vue +0 -22
  192. package/src/components/icons-types/icon-reference-list.vue +0 -22
  193. package/src/components/icons-types/icon-reference.vue +0 -20
  194. package/src/components/icons-types/icon-relation.vue +0 -22
  195. package/src/components/icons-types/icon-richtext.vue +0 -18
  196. package/src/components/icons-types/icon-select.vue +0 -22
  197. package/src/components/icons-types/icon-slug.vue +0 -19
  198. package/src/components/icons-types/icon-text.vue +0 -19
  199. package/src/components/icons-types/index.js +0 -43
  200. package/src/components/layout/Layout.vue +0 -67
  201. package/src/components/layout/Sidebar.vue +0 -128
  202. package/src/components/media/FileUploadProgress.vue +0 -29
  203. package/src/components/media/MediaBreadcrumb.vue +0 -42
  204. package/src/components/media/MediaCreateFolder.vue +0 -59
  205. package/src/components/media/MediaFileInfo.vue +0 -148
  206. package/src/components/media/MediaGrid.vue +0 -148
  207. package/src/components/media/MediaList.vue +0 -148
  208. package/src/components/media/MediaViewControls.vue +0 -38
  209. package/src/components/media/TypeTag.vue +0 -23
  210. package/src/components/menu/AddNewItemInTree.vue +0 -75
  211. package/src/components/menu/MenuBody.vue +0 -149
  212. package/src/components/menu/MenuItem.vue +0 -73
  213. package/src/components/menu/MenuList.vue +0 -101
  214. package/src/components/referencec/index.ts +0 -7
  215. package/src/components/referencec/vs-reference-faq.vue +0 -61
  216. package/src/components/referencec/vs-reference-user-card.vue +0 -40
  217. package/src/components/settings/NotificationSettings.vue +0 -32
  218. package/src/components/settings/SettingsTable.vue +0 -50
  219. package/src/components/settings/SettingsTitle.vue +0 -33
  220. package/src/components/settings/SettingsToggleItem.vue +0 -25
  221. package/src/components/sidebar/DropdownMenu.vue +0 -34
  222. package/src/components/sidebar/SettingsSidebar.vue +0 -121
  223. package/src/components/sidebar/SidebarFooter.vue +0 -52
  224. package/src/components/sidebar/SidebarHeader.vue +0 -57
  225. package/src/components/sidebar/SidebarMenu.vue +0 -78
  226. package/src/components/ui/EmptyData.vue +0 -76
  227. package/src/components/ui/UniversalTable.vue +0 -310
  228. package/src/components/ui/UniversalTableFilters.vue +0 -0
  229. package/src/components/ui/UniversalTablePagination.vue +0 -118
  230. package/src/components/ui/VsPreview.vue +0 -75
  231. package/src/composables/useCollectionView.ts +0 -21
  232. package/src/composables/useDebounce.ts +0 -26
  233. package/src/composables/useMonaco.ts +0 -28
  234. package/src/composables/useTheme.ts +0 -40
  235. package/src/content/test-slug/metadata.json +0 -1
  236. package/src/i18n.ts +0 -75
  237. package/src/index.css +0 -3
  238. package/src/index.ts +0 -122
  239. package/src/locales/en.json +0 -778
  240. package/src/locales/uk.json +0 -797
  241. package/src/main.ts +0 -41
  242. package/src/pages/Dashboard.vue +0 -168
  243. package/src/pages/EmailPage.vue +0 -183
  244. package/src/pages/FeedbackPage.vue +0 -232
  245. package/src/pages/MediaPage.vue +0 -372
  246. package/src/pages/TagsPage.vue +0 -207
  247. package/src/pages/builder/BuilderPage.vue +0 -195
  248. package/src/pages/builder/EditCollectionPage.vue +0 -163
  249. package/src/pages/collections/ArticlesPage.vue +0 -385
  250. package/src/pages/collections/CollectionsPage.vue +0 -146
  251. package/src/pages/collections/SingletonsPage.vue +0 -119
  252. package/src/pages/collections/contentForm.vue +0 -484
  253. package/src/pages/collections/schema/seo.ts +0 -27
  254. package/src/pages/menu/MenuAddPage.vue +0 -123
  255. package/src/pages/menu/MenuItemPage.vue +0 -183
  256. package/src/pages/menu/MenuPage.vue +0 -133
  257. package/src/pages/settings/ApiKeys.vue +0 -75
  258. package/src/pages/settings/Appearance.vue +0 -80
  259. package/src/pages/settings/Logs.vue +0 -260
  260. package/src/pages/settings/PermissionsPage.vue +0 -237
  261. package/src/pages/settings/Settings.vue +0 -186
  262. package/src/pages/settings/Users.vue +0 -109
  263. package/src/pages/settings/general.vue +0 -154
  264. package/src/pages/settings/generalScheme.js +0 -132
  265. package/src/pages/users/AddUser.vue +0 -106
  266. package/src/pages/users/UsersPage.vue +0 -98
  267. package/src/props/builder.ts +0 -67
  268. package/src/props/content.ts +0 -56
  269. package/src/props/media.ts +0 -63
  270. package/src/router/index.ts +0 -181
  271. package/src/types/fastify-auth.d.ts +0 -4
  272. package/src/utils/getField.js +0 -270
  273. package/src/utils/translit.js +0 -19
  274. package/src/vite-env.d.ts +0 -1
@@ -1 +0,0 @@
1
- import{d as T,m as A,A as U,z as D,o as p,h as K,V as q,i as Z,w as ee,x as se,a as C,b as d,t as R,v as _,e,bN as fe,n as L,f as Y,g as I,j as O,k as P,bA as ne,p as ce,G as ve,B as E,R as H,S as Be,T as Me,am as Te,N as me,aH as Ie,C as Q,aZ as ze,y as je,s as We}from"./index-yMJAVBXk.js";import{y as ke}from"./index-DGweaj24.js";const G=(l,r)=>{const g=l.__vccOpts||l;for(const[a,i]of r)g[a]=i;return g},Ye={},qe={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function Pe(l,r){return p(),C("svg",qe,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),d("path",{d:"M20 4v5h-5"},null,-1)])])}const Ne=G(Ye,[["render",Pe]]),Qe={class:"flex items-center justify-between w-full text-sm"},He={class:"flex items-center cursor-pointer w-full"},Ge={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Xe=["value"],Ze={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},Je={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},el={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},ye=T({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(l,{expose:r,emit:g}){const a=l,i=g;function o(){i("itemClick",a.value)}const h=A(null);return r({el:h}),(n,m)=>(p(),C("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:h},[d("div",Qe,[d("div",He,[d("label",{for:"radio-9740",class:L([["inline","popover"].includes(l.layout)?"text-sm text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-sm text-gray-500 cursor-pointer",{"bg-blue-100":l.highlighted}]),onClick:je(o,["stop","prevent"])},[d("div",{class:L(["w-[18px] h-[18px] border flex items-center justify-center",[l.type=="checkbox"?"rounded-[4px]":"rounded-full",l.color?`bg-[${l.color}] border-[#ffffff]`:l.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[l.isSelected?(p(),C("img",Ge)):_("",!0)],2),d("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:l.value},null,8,Xe),d("div",Ze,[d("span",Je,R(l.label??"Відсутні данні"),1),l.count?(p(),C("div",el," ("+R(l.count)+") ",1)):_("",!0)])],2)])])],512))}});function Ke(l,r){const{options:g=[],limit:a=20}=l;function i(u){return Array.isArray(u)?u[0]:u}const o=A(i(l.modelValue)),h=A(""),n=A(!1),m=A([]),b=A("id"),v=A("text"),s=A(!1),k=A(l.layout!=="popover"&&g.length>a);function w(u){const y=u.find(Boolean)??{},B=["id","value","code","key"].find(j=>j in y)??"id",M=["text","label","name","title"].find(j=>j in y)??"text";return{autoValueKey:B,autoLabelKey:M}}if(g.length>0){const u=w(g);b.value=u.autoValueKey,v.value=u.autoLabelKey}const V=U(()=>{const u=m.value;return l.layout==="popover"||s.value?u:u.slice(0,a)});D(()=>l.modelValue,u=>{o.value=i(u)},{immediate:!0}),m.value=[...g].sort((u,y)=>l.sort==="count"?y.count&&u.count?y.count-u.count:0:l.sort==="name"?String(u[v.value]??"").localeCompare(String(y[v.value]??"")):0);function c(u){return o.value===u[b.value]}function t(u){o.value=u[b.value],r("update:modelValue",o.value),r("change",{name:l.name,value:o.value})}function f(){o.value=void 0,r("update:modelValue",o.value),r("clear",l.name)}function x(){s.value=!s.value}return{innerValue:o,searchTerm:h,filteredOptions:V,isSelected:c,selectItem:t,clear:f,toggleShowAll:x,isReqProc:n,showAll:s,isEnableShowAll:k,labelKey:v,valueKey:b,allOptions:m}}const ll={},tl={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function al(l,r){return p(),C("svg",tl,[...r[0]||(r[0]=[We('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)])])}const ge=G(ll,[["render",al]]),ol={},rl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function nl(l,r){return p(),C("svg",rl,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const de=G(ol,[["render",nl]]),ul={},il={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"};function sl(l,r){return p(),C("svg",il,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const be=G(ul,[["render",sl]]),cl={key:0,class:"w-full"},dl={class:"flex flex-col items-center justify-center p-5 text-center"},pl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},fl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},vl=T({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=A(null),o=g,{innerValue:h,filteredOptions:n,isSelected:m,selectItem:b,clear:v,toggleShowAll:s,isReqProc:k,showAll:w,isEnableShowAll:V,labelKey:c,valueKey:t,allOptions:f}=Ke({...a,modelValue:a.modelValue??a.default??""},o);return r({clear:v,inputTextRef:i}),D(()=>a.modelValue,x=>{x===void 0&&(h.value=void 0)}),(x,u)=>(p(),C("div",{class:L([l.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[d("div",{class:L([l.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",l.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(p(!0),C(O,null,P(e(n),y=>(p(),K(ye,{layout:l.layout,key:y[e(t)],count:y.count,label:y[e(c)],color:y.color,type:"radio",value:y[e(t)],"is-selected":e(m)(y),onItemClick:B=>e(b)(y)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),l.type==="select"&&e(n).length===0&&!e(k)?(p(),C("div",cl,[d("div",dl,[Y(ge),u[4]||(u[4]=d("div",{class:"max-w-sm mx-auto mt-6"},[d("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),d("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):_("",!0),l.layout!=="popover"&&l.type!=="select"?(p(),C(O,{key:1},[!e(w)&&e(V)?(p(),C("div",{key:0,onClick:u[0]||(u[0]=(...y)=>e(s)&&e(s)(...y)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[u[5]||(u[5]=I(" Показати більше ",-1)),Y(de)])):_("",!0),e(w)?(p(),C("div",{key:1,onClick:u[1]||(u[1]=(...y)=>e(s)&&e(s)(...y)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[u[6]||(u[6]=I(" Показати менше ",-1)),Y(be)])):_("",!0)],64)):_("",!0),l.cleanable?(p(),C(O,{key:2},[l.layout==="inline"?(p(),C("div",pl,[I(R(e(h)||e(h)===null?1:0)+" з "+R(e(f).length)+" обрано ",1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[2]||(u[2]=(...y)=>e(v)&&e(v)(...y))}," Очистити ",512),[[H,e(h)!==""&&e(h)!==void 0]])])):_("",!0),l.layout==="popover"?(p(),C("div",fl,[d("span",null,R(e(h)||e(h)===null?1:0)+" з "+R(e(f).length)+" обрано",1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[3]||(u[3]=(...y)=>e(v)&&e(v)(...y))}," Очистити ",512),[[H,e(h)!==""&&e(h)!==void 0]])])):_("",!0)],64)):_("",!0)],2))}});function De(l,r){const{options:g=[],limit:a=20}=l;function i(u){return Array.isArray(u)?u:u?[u]:[]}const o=A(i(l.modelValue)),h=A(""),n=A(!1),m=A([]),b=A("id"),v=A("text"),s=A(!1),k=A(l.layout!=="popover"&&g.length>a);function w(u){const y=u.find(Boolean)??{},B=["id","value","code","key"].find(j=>j in y)??"id",M=["text","label","name","title"].find(j=>j in y)??"text";return{autoValueKey:B,autoLabelKey:M}}if(g.length>0){const u=w(g);b.value=u.autoValueKey,v.value=u.autoLabelKey}const V=U(()=>{const u=m.value;return l.layout==="popover"||s.value?u:u.slice(0,a)});D(()=>l.modelValue,u=>{o.value=i(u)},{immediate:!0}),m.value=[...g].sort((u,y)=>l.sort==="count"?y.count&&u.count?y.count-u.count:0:l.sort==="name"?String(u[v.value]).localeCompare(String(y[v.value])):0);function c(u){return o.value&&o.value.includes(u[b.value])}function t(u){const y=o.value.includes(u[b.value]);o.value=y?o.value.filter(B=>B!==u[b.value]):[...o.value,u[b.value]],r("update:modelValue",o.value),r("change",{name:l.name,value:o.value})}function f(){o.value=[],r("update:modelValue",o.value),r("clear",l.name)}function x(){s.value=!s.value}return{innerValue:o,searchTerm:h,filteredOptions:V,isSelected:c,selectItem:t,clear:f,toggleShowAll:x,isReqProc:n,showAll:s,isEnableShowAll:k,labelKey:v,valueKey:b,allOptions:m}}const Ce={en:{search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next"},uk:{search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період"}};function ml(l){const r=l.split(".")[1];return(Ce[localStorage.locale||navigator.language]||Ce.uk)[r]}function re(){const l=Ie();return l.appContext.config.globalProperties.$i18n?l.appContext.config.globalProperties.$t:ml}const yl={key:0,class:"w-full"},gl={class:"flex flex-col items-center justify-center p-5 text-center"},bl={class:"max-w-sm mx-auto mt-6"},hl={class:"font-medium text-gray-800 dark:text-neutral-200"},xl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},wl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ve=T({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=re(),i=l,o=g,{innerValue:h,filteredOptions:n,isSelected:m,selectItem:b,clear:v,toggleShowAll:s,isReqProc:k,showAll:w,isEnableShowAll:V,labelKey:c,valueKey:t,allOptions:f}=De({...i,modelValue:i.modelValue},o);return D(()=>i.modelValue,x=>{x===void 0&&(h.value=[])}),r({clear:v}),(x,u)=>(p(),C("div",{class:L([l.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[d("div",{class:L([l.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",l.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(p(!0),C(O,null,P(e(n),y=>(p(),K(ye,{layout:l.layout,count:y.count,label:y[e(c)],color:y.color,type:"checkbox",value:y[e(t)],"is-selected":e(m)(y),onItemClick:B=>e(b)(y)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),l.type==="select"&&e(n).length===0&&!e(k)?(p(),C("div",yl,[d("div",gl,[Y(ge),d("div",bl,[d("p",hl,R(e(a)("filter.notfound")),1),u[4]||(u[4]=d("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):_("",!0),l.layout!=="popover"&&l.type!=="select"?(p(),C(O,{key:1},[!e(w)&&e(V)?(p(),C("div",{key:0,onClick:u[0]||(u[0]=(...y)=>e(s)&&e(s)(...y)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[I(R(e(a)("filter.more"))+" ",1),Y(de)])):_("",!0),e(w)?(p(),C("div",{key:1,onClick:u[1]||(u[1]=(...y)=>e(s)&&e(s)(...y)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[I(R(e(a)("filter.less"))+" ",1),Y(be)])):_("",!0)],64)):_("",!0),l.cleanable?(p(),C(O,{key:2},[l.layout==="inline"?(p(),C("div",xl,[I(R(e(h).length)+" / "+R(e(f).length)+" "+R(e(a)("filter.selected"))+" ",1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[2]||(u[2]=(...y)=>e(v)&&e(v)(...y))},R(e(a)("filter.clear")),513),[[H,e(h).length!==0]])])):_("",!0),l.layout==="popover"?(p(),C("div",wl,[d("span",null,R(e(h).length)+" / "+R(e(f).length)+" "+R(e(a)("filter.selected")),1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[3]||(u[3]=(...y)=>e(v)&&e(v)(...y))},R(e(a)("filter.clear")),513),[[H,e(h).length!==0]])])):_("",!0)],64)):_("",!0)],2))}}),kl={},Cl={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Vl(l,r){return p(),C("svg",Cl,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),d("path",{d:"M21 21l-6 -6"},null,-1)])])}const Fe=G(kl,[["render",Vl]]),_l={},Al={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function Sl(l,r){return p(),C("svg",Al,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M18 6l-12 12"},null,-1),d("path",{d:"M6 6l12 12"},null,-1)])])}const Le=G(_l,[["render",Sl]]);class pe{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const Rl={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Bl=["placeholder"],Ml=T({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{emit:r}){var b;const g=l,a=A((g.placeholder||g.label||g.title||g.name||"search").toString()),i=r,o=A(((b=g.modelValue)==null?void 0:b.toString())??"");D(()=>g.modelValue,v=>{v!==o.value&&(o.value=(v==null?void 0:v.toString())??"")});let h=null;function n(){if(o.value=o.value.trimStart(),o.value.length===0){m();return}h&&clearTimeout(h),h=setTimeout(()=>{i("update:modelValue",o.value),i("change",{name:g.name,value:o.value})},300)}function m(){o.value="",i("update:modelValue",""),i("clear",g.name)}return(v,s)=>(p(),C("div",{class:L(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",l.layout==="inline"?e(pe).getWidthClass(l.width):"mb-2"+(l.layout==="popover"?" m-2":"")])},[d("div",Rl,[Y(Fe)]),o.value!==""?(p(),C("div",{key:0,onClick:m,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[Y(Le)])):_("",!0),E(d("input",{type:"text","onUpdate:modelValue":s[0]||(s[0]=k=>o.value=k),onInput:n,placeholder:a.value,class:"!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,Bl),[[Q,o.value]])],2))}});function Oe(l={color:"blue"}){return U(()=>{const r=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${l.color}-500 focus:border-transparent`;return(l==null?void 0:l.size)==="sm"?`${r}h-[32px]`:`${r}h-[38px]`})}function jl(){return"rounded-md font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 px-4 py-2 w-full bg-transparent border text-black text-sm h-[38px]"}function Kl(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function Ue(l){return l==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":l==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const Dl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Fl=["placeholder","disabled"],Ll={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ol={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ul=["placeholder","disabled"],$l=["disabled"],El=T({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=Oe(),i=jl(),o=re(),h=l,n=A(h.modelValue??h.default??[]),m=g,b=U({get:()=>h.modelValue??n.value,set:k=>{h.modelValue!==void 0?m("update:modelValue",k):n.value=k}});function v(){m("change",{name:h.name,value:b.value||n.value})}function s(){n.value=[],b.value=n.value,m("clear",h.name)}return D(()=>h.modelValue,k=>{k!==void 0&&h.layout!=="popover"?(n.value=k,m("update:modelValue",k)):n.value=[]}),r({clear:s,currentValue:b}),(k,w)=>{var V,c;return p(),C(O,null,[d("div",null,[d("div",{class:L(l.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[d("div",null,[l.layout!=="vertical"?(p(),C("label",Dl,R(e(o)("filter.from")),1)):_("",!0),E(d("input",{type:"number",class:L(e(a)),placeholder:((V=l.placeholder)==null?void 0:V[0])??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":w[0]||(w[0]=t=>b.value[0]=t),disabled:l.disabled},null,10,Fl),[[Q,b.value[0]]])]),l.layout==="vertical"?(p(),C("label",Ll," - ")):_("",!0),d("div",null,[l.layout!=="vertical"?(p(),C("label",Ol,R(e(o)("filter.to")),1)):_("",!0),E(d("input",{type:"number",class:L(e(a)),placeholder:((c=l.placeholder)==null?void 0:c[1])??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":w[1]||(w[1]=t=>b.value[1]=t),disabled:l.disabled},null,10,Ul),[[Q,b.value[1]]])]),["popover","inline","vertical"].includes(l.layout)?(p(),C("button",{key:1,onClick:v,class:L(e(i)+(l.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},R(l.layout==="vertical"?"Ok":e(o)("filter.apply")),3)):_("",!0),["popover","inline"].includes(l.layout)?(p(),C("button",{key:2,disabled:!(b.value[0]||b.value[1]),onClick:s,class:L(e(i)+" hover:bg-gray-100")},R(e(o)("filter.clear")),11,$l)):_("",!0)],2)]),(l.cleanable&&n.value.length,_("",!0))],64)}}});function Tl(l){return String(l).charAt(0).toUpperCase()+String(l).slice(1)}class W{static format(r){const g=r.getFullYear(),a=(r.getMonth()+1).toString().padStart(2,"0"),i=r.getDate().toString().padStart(2,"0");return`${g}-${a}-${i}`}static getShiftedDay(r,g=0){const a=r?new Date(r):new Date;return a.setDate(a.getDate()+g),this.format(a)}static getLastWeekRange(r,g,a=0){if(r&&g){const b=new Date(r),v=new Date(g);return b.setDate(b.getDate()+a*7),v.setDate(v.getDate()+a*7),[this.format(b),this.format(v)]}const i=new Date,o=i.getDay(),h=o===0?13:o-1+7,n=new Date(i);n.setDate(i.getDate()-h+a*7);const m=new Date(n);return m.setDate(n.getDate()+6),[this.format(n),this.format(m)]}static getMonthRange(r,g,a=0){let i;r?i=new Date(r):i=new Date,i=new Date(i.getFullYear(),i.getMonth()+a,1);const o=i,h=new Date(i.getFullYear(),i.getMonth()+1,0);return[this.format(o),this.format(h)]}static getQuarterRange(r,g,a=0){const i=r||g,o=i?new Date(i):new Date;let h=Math.floor(o.getMonth()/3);h+=a;const n=(h%4+4)%4*3,m=o.getFullYear()+Math.floor(h/4),b=new Date(m,n,1),v=new Date(m,n+3,0);return[this.format(b),this.format(v)]}static getYear(r,g=0){let a;return r&&/^\d{4}$/.test(r)?a=parseInt(r,10):r?a=new Date(r).getFullYear():a=new Date().getFullYear(),String(a+g)}static getYearRange(r,g=0){let a;return r&&/^\d{4}$/.test(r)?a=parseInt(r,10):r?a=new Date(r).getFullYear():a=new Date().getFullYear(),[this.format(new Date(a+g,0,1)),this.format(new Date(a+g+1,0,0))]}static getRangeFromDaysBefore(r){const g=new Date,a=new Date(g.getTime());return a.setDate(g.getDate()-r),[this.format(a),this.format(g)]}}function $e(l,r){const{popoverRef:g}=l,a=re(),i=A(""),o=A(l.modelValue??l.default??[]),h=A(0);function n(){const f=W.getRangeFromDaysBefore(h.value);return o.value=[...f],r("change",{name:l.name,value:o.value}),r("update:modelValue",o.value),f}function m(f){var u;i.value=f,(u=g.value)==null||u.close();const x=[];switch(i.value){case"today":x.push(W.getShiftedDay()),x.push(W.getShiftedDay());break;case"week":x.push(...W.getLastWeekRange());break;case"month":x.push(...W.getMonthRange());break;case"quarter":x.push(...W.getQuarterRange());break;case"year":x.push(...W.getYearRange());break;case"last_7_days":h.value=7,n();break;case"range":h.value=7,x.push(...n());break}o.value=[...x],r("change",{name:l.name,value:o.value}),r("update:modelValue",o.value)}function b(){const f=[];switch(i.value){case"today":f.push(W.getShiftedDay(o.value[0],1));break;case"week":f.push(...W.getLastWeekRange(o.value[0],o.value[1],1));break;case"month":f.push(...W.getMonthRange(o.value[0],o.value[1],1));break;case"quarter":f.push(...W.getQuarterRange(o.value[0],o.value[1],1));break;case"year":f.push(...W.getYearRange(o.value[0],1));break}o.value=[...f],r("change",{name:l.name,value:o.value}),r("update:modelValue",o.value)}function v(){const f=[];switch(i.value){case"today":f.push(W.getShiftedDay(o.value[0],-1));break;case"week":f.push(...W.getLastWeekRange(o.value[0],o.value[1],-1));break;case"month":f.push(...W.getMonthRange(o.value[0],o.value[1],-1));break;case"quarter":f.push(...W.getQuarterRange(o.value[0],o.value[1],-1));break;case"year":f.push(...W.getYearRange(o.value[0],-1));break}o.value=[...f],r("change",{name:l.name,value:o.value}),r("update:modelValue",o.value)}const s=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function k(f){const[x,u,y]=f.split("-");return`${y}.${u}.${x}`}function w(f,x="long"){const u=new Date(Date.UTC(2e3,f-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:x,timeZone:"UTC"}).format(u)}function V(f){const{value:x}=o;switch(f){case"today":return k(x[0]);case"range":return"Період";case"week":return x[0]&&x[1]?`${k(x[0])} – ${k(x[1])}`:"";case"quarter":if(x[0]){const u=new Date(x[0]),y=u.getFullYear(),B=u.getMonth();return`${Math.floor(B/3)+1} ${a("filter.quarter")} ${y}`}return"";case"month":if(x[0]){const[u,y]=x[0].split("-");return`${w(parseInt(y,10))} ${u}`}return"";case"year":return x[0]||"";case"last_7_days":return"За останні дні";default:return l.label??""}}const c=U(()=>i.value?V(i.value):l.label??"");function t(){i.value="",o.value=[],r("update:modelValue",[]),r("clear",l.name)}return{activeMode:i,innerValue:o,daysBefore:h,onDaysBeforeChange:n,onSelectChange:m,nextClick:b,prevClick:v,ukMonths:s,formatDisplayDate:k,getModeLabel:V,currentLabel:c,clear:t}}const Il={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},zl={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},Wl=["max","disabled"],Yl=["min","disabled"],ql={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Pl=["max","disabled"],Nl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ql={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Hl=["min","disabled"],Gl={class:"flex gap-1 pt-2"},Xl=["onClick"],Zl=T({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=Oe(),o=Kl(),h=g,n=A(null),{activeMode:m,innerValue:b,onSelectChange:v,nextClick:s,prevClick:k,clear:w}=$e({...a,popoverRef:n},h);return D(()=>a.modelValue,V=>{V!==void 0?(b.value=V,h("update:modelValue",V)):(m.value="",b.value=[])}),r({clear:w,popoverRef:n}),(V,c)=>(p(),C(O,null,[l.layout==="inline"?(p(),C("div",Il,[e(m)!==""&&e(m)==="range"?(p(),C("div",zl,[E(d("input",{type:"date",max:e(b)[1],locale:"uk-UA","onUpdate:modelValue":c[0]||(c[0]=t=>e(b)[0]=t),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:l.disabled},null,8,Wl),[[Q,e(b)[0]]]),E(d("input",{type:"date",min:e(b)[0],locale:"uk-UA","onUpdate:modelValue":c[1]||(c[1]=t=>e(b)[1]=t),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:l.disabled},null,8,Yl),[[Q,e(b)[1]]])])):_("",!0)])):_("",!0),d("div",{class:L(l.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[d("div",{class:L(l.layout!=="popover"?"w-[48%]":"")},[l.layout==="popover"?(p(),C("label",ql,"Від")):_("",!0),E(d("input",{type:"date",max:e(b)[1],locale:"uk-UA","onUpdate:modelValue":c[2]||(c[2]=t=>e(b)[0]=t),class:L(e(i)),disabled:l.disabled},null,10,Pl),[[Q,e(b)[0]]])],2),l.layout!=="popover"?(p(),C("label",Nl," - ")):_("",!0),d("div",{class:L(l.layout!=="popover"?"w-[48%]":"")},[l.layout==="popover"?(p(),C("label",Ql,"До")):_("",!0),E(d("input",{type:"date",min:e(b)[0],locale:"uk-UA","onUpdate:modelValue":c[3]||(c[3]=t=>e(b)[1]=t),class:L(e(i)),disabled:l.disabled},null,10,Hl),[[Q,e(b)[1]]])],2)],2),d("div",Gl,[(p(),C(O,null,P(["today","week","month","quarter","year"],t=>d("button",{key:t,class:L(e(o)+(e(m)===t?" bg-blue-100":"")),onClick:f=>e(v)(t)},R(e(Tl)(t)),11,Xl)),64)),d("button",{class:L(e(o)),onClick:c[4]||(c[4]=(...t)=>e(k)&&e(k)(...t))}," <",2),d("button",{class:L(e(o)),onClick:c[5]||(c[5]=(...t)=>e(s)&&e(s)(...t))}," >",2)]),(l.cleanable,_("",!0))],64))}});function Jl(l,r){const{api:g,options:a=[],limit:i=20,dataKey:o="data"}=l,h=l.multi;function n(S){return h?Array.isArray(S)?S:S?[S]:[]:Array.isArray(S)?S[0]:S}const m=A(n(l.modelValue)),b=A(""),v=A(!1),s=A(a),k=A("id"),w=A("text"),V=A(!1),c=A(l.layout!=="popover"&&a.length>i),t=A([]),f=A(0);function x(S){const $=S.find(Boolean)??{},z=["id","value","code","key"].find(oe=>oe in $)??"id",ae=["text","label","name","title"].find(oe=>oe in $)??"text";return{autoValueKey:z,autoLabelKey:ae}}if(a.length>0){const S=x(a);k.value=S.autoValueKey,w.value=S.autoLabelKey}const u=U(()=>{if(g)return s.value;const S=s.value;if(l.layout==="popover")return S;if(!b.value)return V.value?S:S.slice(0,i);const $=b.value.toLowerCase();return S.filter(z=>z[w.value].toLowerCase().includes($))});let y=null;async function B(S){if(g){v.value=!0;try{const $=new URL(g,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",S),$.searchParams.set("limit",i.toString());const z=await fetch($.toString());if(!z.ok){ke({type:"error",title:"Error",message:"Failed to fetch remote options"}),s.value=[];return}const ae=await z.json();if(!ae[o]){ke({type:"error",title:"Error",message:ae}),s.value=[];return}if(s.value=ae[o],s.value.length>0){const oe=x(s.value);k.value=oe.autoValueKey,w.value=oe.autoLabelKey}f.value=ae.total}catch($){console.error("Failed to fetch remote options:",$)}finally{v.value=!1}}}D(b,S=>{g&&(y&&clearTimeout(y),y=setTimeout(()=>{B(S)},200))}),D(()=>l.modelValue,S=>{m.value=n(S)},{immediate:!0});function M(S){return h&&Array.isArray(m.value)?m.value.includes(S[k.value]):m.value&&m.value===S[k.value]}function j(S){if(h&&!Array.isArray(m.value)&&(m.value=[]),h&&Array.isArray(m.value)){const $=m.value.includes(S[k.value]);m.value=$?m.value.filter(z=>z!==S[k.value]):[...m.value,S[k.value]],t.value=$?t.value.filter(z=>z!==S[w.value]):[...t.value,S[w.value]]}else m.value=S[k.value],t.value=S[w.value];r("update:modelValue",m.value),r("change",{name:l.name,value:m.value})}function N(){h?(m.value=[],t.value=[]):(m.value=void 0,t.value=[]),r("update:modelValue",m.value),r("clear",l.name)}function te(){y&&clearTimeout(y),b.value="",V.value=!1}function X(){V.value=!V.value}ve(()=>{y&&clearTimeout(y)});const F=A(-1);D(u,()=>{F.value=u.value.length>0?0:-1});function ue(S){const $=u.value.length;if(S.key==="ArrowDown")S.preventDefault(),F.value=(F.value+1)%$;else if(S.key==="ArrowUp")S.preventDefault(),F.value=(F.value-1+$)%$;else if(S.key==="Enter"&&(S.preventDefault(),F.value>=0&&F.value<u.value.length)){const z=u.value[F.value];j(z)}}function ie(){g&&s.value.length===0&&b.value.length===0&&B(b.value)}return{innerValue:m,searchTerm:b,filteredOptions:u,isSelected:M,selectItem:j,clear:N,resetSearch:te,toggleShowAll:X,isReqProc:v,showAll:V,isEnableShowAll:c,labelKey:w,valueKey:k,allOptions:s,highlightedIndex:F,onKeyDown:ue,selectedLabels:t,totalCount:f,loadData:ie}}const et={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},lt=["placeholder"],tt={key:0,class:"w-full"},at={class:"flex flex-col items-center justify-center p-5 text-center"},ot={class:"max-w-sm mx-auto mt-6"},rt={class:"font-medium text-gray-800 dark:text-neutral-200"},nt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ut={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},it=T({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=re(),i=l,o=g,h=A(null),{innerValue:n,filteredOptions:m,isSelected:b,selectItem:v,clear:s,resetSearch:k,toggleShowAll:w,isReqProc:V,showAll:c,isEnableShowAll:t,searchTerm:f,labelKey:x,valueKey:u,highlightedIndex:y,onKeyDown:B,selectedLabels:M,totalCount:j,loadData:N}=Jl({...i,modelValue:i.modelValue},o);ce(()=>{k(),i.layout!=="inline"&&(N(),h.value&&i.layout==="popover"&&h.value.focus())}),D(()=>i.modelValue,X=>{X===void 0&&(i.multi?n.value=[]:n.value=void 0)});const te=A([]);return D(y,X=>{var F;X>=0&&te.value[X]&&((F=te.value[X])==null||F.scrollIntoView({block:"nearest",behavior:"smooth"}))}),D(m,()=>{te.value=[]}),r({clear:s,inputTextRef:h,selectedLabels:M,loadData:N}),(X,F)=>{var ue,ie;return p(),C("div",{class:L([l.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[d("div",et,[E(d("input",{"onUpdate:modelValue":F[0]||(F[0]=S=>ze(f)?f.value=S:null),onKeydown:F[1]||(F[1]=(...S)=>e(B)&&e(B)(...S)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:e(a)("filter.search"),type:"text",ref_key:"inputTextRef",ref:h},null,40,lt),[[Q,e(f)]]),Y(Fe,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e(f)!=""?(p(),K(Le,{key:0,onClick:F[2]||(F[2]=S=>f.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):_("",!0)]),d("div",{class:L([l.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",l.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(p(!0),C(O,null,P(e(m),(S,$)=>(p(),K(ye,{layout:l.layout,count:S.count,label:S[e(x)],color:S.color,type:l.multi?"checkbox":"radio",value:S[e(u)],"is-selected":e(b)(S),highlighted:$===e(y),onItemClick:z=>e(v)(S),ref_for:!0,ref:z=>te.value[$]=z==null?void 0:z.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),l.type==="select"&&e(m).length===0&&!e(V)?(p(),C("div",tt,[d("div",at,[Y(ge),d("div",ot,[d("p",rt,R(e(a)("filter.notfound")),1),F[7]||(F[7]=d("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):_("",!0),l.layout!=="popover"&&l.type!=="select"?(p(),C(O,{key:1},[!e(c)&&e(t)?(p(),C("div",{key:0,onClick:F[3]||(F[3]=(...S)=>e(w)&&e(w)(...S)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[I(R(e(a)("filter.more"))+" ",1),Y(de)])):_("",!0),e(c)?(p(),C("div",{key:1,onClick:F[4]||(F[4]=(...S)=>e(w)&&e(w)(...S)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[I(R(e(a)("filter.less"))+" ",1),Y(be)])):_("",!0)],64)):_("",!0),l.cleanable?(p(),C(O,{key:2},[l.layout==="inline"?(p(),C("div",nt,[I(R(l.multi&&Array.isArray(e(n))?(ue=e(n))==null?void 0:ue.length:e(n)!==void 0&&(e(n)||e(n)===null)?1:0)+" / "+R(e(j))+" "+R(e(a)("filter.selected"))+" ",1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:F[5]||(F[5]=(...S)=>e(s)&&e(s)(...S))},R(e(a)("filter.clear")),513),[[H,e(n)!==""&&e(n)!==void 0||e(n)]])])):_("",!0),l.layout==="popover"?(p(),C("div",ut,[d("span",null,R(l.multi&&Array.isArray(e(n))?(ie=e(n))==null?void 0:ie.length:e(n)!==void 0&&(e(n)||e(n)===null)?1:0)+" / "+R(e(j))+" "+R(e(a)("filter.selected")),1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:F[6]||(F[6]=(...S)=>e(s)&&e(s)(...S))},R(e(a)("filter.clear")),513),[[H,e(n)!==""&&e(n)!==void 0||e(n)]])])):_("",!0)],64)):_("",!0)],2)}}}),st=["for","onClick"],ct=["id","name","value"],dt={class:"block"},pt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ft={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},vt=T({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=g,{innerValue:o,isSelected:h,selectItem:n,clear:m,labelKey:b,valueKey:v,allOptions:s}=a.multi?De({...a,modelValue:a.modelValue??a.default??[]},i):Ke({...a,modelValue:a.modelValue!==void 0?a.modelValue:a.default??""},i);return r({clear:m}),D(()=>a.modelValue,k=>{k===void 0&&(a.multi?o.value=[]:o.value=void 0)}),(k,w)=>{var V,c;return p(),C(O,null,[d("div",{class:L(["grid grid-cols-3 gap-2 mx-[1px]",l.layout==="popover"?"m-1":"mb-1"])},[(p(!0),C(O,null,P(e(s),t=>(p(),C("label",{key:`item-${t[e(v)]}`,for:`item-${t[e(v)]}`,onClick:je(f=>e(n)(t),["stop","prevent"]),class:L([e(h)(t)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[d("input",{type:"checkbox",id:`item-${t[e(v)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${t[e(v)]}`,value:t[e(v)]},null,8,ct),d("span",dt,R(t[e(b)]),1)],10,st))),128))],2),l.cleanable?(p(),C(O,{key:0},[l.layout==="inline"?(p(),C("div",pt,[I(R(l.multi&&Array.isArray(e(o))?(V=e(o))==null?void 0:V.length:e(o)!==void 0&&(e(o)||e(o)===null)?1:0)+" з "+R(e(s).length)+" обрано ",1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[0]||(w[0]=(...t)=>e(m)&&e(m)(...t))}," Очистити ",512),[[H,e(o)!==""&&e(o)!==void 0||e(o)]])])):_("",!0),l.layout==="popover"?(p(),C("div",ft,[d("span",null,R(l.multi&&Array.isArray(e(o))?(c=e(o))==null?void 0:c.length:e(o)!==void 0&&(e(o)||e(o)===null)?1:0)+" з "+R(e(s).length)+" обрано",1),E(d("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[1]||(w[1]=(...t)=>e(m)&&e(m)(...t))}," Очистити ",512),[[H,e(o)!==void 0&&e(o)!==""||e(o)]])])):_("",!0)],64)):_("",!0)],64)}}}),mt=["disabled","title"],yt={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},gt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},bt={class:"w-[360px] max-h-[500px] overflow-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 before:w-full p-2"},he=T({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(l,{expose:r}){const g=l,a=U(()=>Ue(g.mode)),i=A(!1),o=A({top:0,left:0}),h=A(null),n=A(null),m=A(null);function b(){const x=n.value,u=m.value;if(!x||!u)return;const y=x.getBoundingClientRect(),B=u.offsetWidth,M=window.innerWidth,j=y.bottom+8;let{left:N}=y;N+B>M&&(N=Math.max(M-B-10,10)),o.value={top:j,left:N}}function v(){console.log("~~~~~~~~~~"),console.log(i.value),i.value=!i.value,console.log(i.value),i.value&&me(()=>{var x,u,y,B,M,j,N;b(),(x=g.fieldRef)!=null&&x.inputTextRef&&((B=(y=(u=g.fieldRef)==null?void 0:u.inputTextRef)==null?void 0:y.focus)==null||B.call(y)),(M=g.fieldRef)!=null&&M.loadData&&((N=(j=g.fieldRef)==null?void 0:j.loadData)==null||N.call(j))})}function s(x){var u,y,B;!((u=h.value)!=null&&u.contains(x.target))&&!((y=m.value)!=null&&y.contains(x.target))&&!((B=n.value)!=null&&B.contains(x.target))&&(i.value=!1)}function k(x){x.key==="Escape"&&(i.value=!1)}const w=A(!1),V=A("ua"),c=x=>{x.detail.key==="locale"&&(V.value=x.detail.newValue)};ce(()=>{w.value=!0,V.value=localStorage.locale,window.addEventListener("storage",c),document.addEventListener("click",s,!0),document.addEventListener("keydown",k),window.addEventListener("scroll",b,!0)}),ve(()=>{window.removeEventListener("resize",c),document.removeEventListener("click",s,!0),document.removeEventListener("keydown",k),window.removeEventListener("scroll",b,!0)});function t(){i.value=!1}r({close:t});const f=U(()=>{var u;const x=(u=g.fieldRef)==null?void 0:u.selectedLabels;return!x||["inline"].includes(g.layout||"")?g[V.value]||(g.label??""):Array.isArray(x)?x.length>0?x.join(", "):g.label??"":String(x)});return(x,u)=>(p(),C("div",null,[d("button",{onClick:v,disabled:l.disabled,ref_key:"triggerRef",ref:n,title:l.label,class:L(a.value+" "+(l.width?e(pe).getWidthClass(l.width):"w-full"))},[d("span",{class:L(["truncate text-ellipsis block",l.width?e(pe).getWidthClass(l.width-50):"w-full"])},R(f.value),3),Y(de,{class:"h-4 w-4"}),(Array.isArray(l.currentValue)?l.currentValue===null||l.currentValue.length>0:l.currentValue===null||l.currentValue)&&l.layout==="inline"?(p(),C("span",yt)):_("",!0)],10,mt),w.value?(p(),K(Me,{key:0,to:"body"},[E(d("div",{ref_key:"popperRef",ref:m,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:Be({top:`${o.value.top}px`,left:`${o.value.left}px`}),"data-inside-popover":""},[d("div",gt,[d("div",bt,[se(x.$slots,"default")])])],4),[[H,i.value]])])):_("",!0)]))}}),ht={},xt={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function wt(l,r){return p(),C("svg",xt,[...r[0]||(r[0]=[d("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const J=G(ht,[["render",wt]]),kt={},Ct={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"};function Vt(l,r){return p(),C("svg",Ct,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const _t=G(kt,[["render",Vt]]),At={},St={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function Rt(l,r){return p(),C("svg",St,[...r[0]||(r[0]=[d("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),d("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Bt=G(At,[["render",Rt]]),Mt={class:"flex"},jt={class:"mb-1"},Kt={class:"mb-1"},Dt={class:"inline-flex rounded-lg shrink-0 pl-1"},Ft=["title"],Lt={class:"inline-flex rounded-lg shrink-0 pl-1"},Ot=["title"],Ut={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},$t=["max","disabled"],Et=["min","disabled"],Tt=T({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=re(),i=l,o=g,h=A(null),{activeMode:n,innerValue:m,onSelectChange:b,nextClick:v,prevClick:s,currentLabel:k,clear:w}=$e({...i,popoverRef:h},o);return D(()=>i.modelValue,V=>{V!==void 0?(m.value=V,o("update:modelValue",V)):(n.value="",m.value=[])}),r({clear:w,popoverRef:h}),(V,c)=>(p(),C(O,null,[d("div",Mt,[Y(he,{ref_key:"popoverRef",ref:h,label:e(k),"current-value":e(m),mode:l.mode,onClear:e(w),layout:l.layout},{default:ee(()=>[d("div",null,[d("button",{type:"button",onClick:c[0]||(c[0]=t=>e(b)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.period"))+" ",1),e(n)==="range"?(p(),K(J,{key:0})):_("",!0)])]),c[12]||(c[12]=d("div",null,[d("div",{class:"pt-1 mt-1 border-t"})],-1)),d("div",null,[d("button",{type:"button",onClick:c[1]||(c[1]=t=>e(b)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.today"))+" ",1),e(n)==="today"?(p(),K(J,{key:0})):_("",!0)])]),d("div",null,[d("button",{type:"button",onClick:c[2]||(c[2]=t=>e(b)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.week"))+" ",1),e(n)==="week"?(p(),K(J,{key:0})):_("",!0)])]),d("div",null,[d("button",{type:"button",onClick:c[3]||(c[3]=t=>e(b)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.month"))+" ",1),e(n)==="month"?(p(),K(J,{key:0})):_("",!0)])]),d("div",null,[d("button",{type:"button",onClick:c[4]||(c[4]=t=>e(b)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.quarter"))+" ",1),e(n)==="quarter"?(p(),K(J,{key:0})):_("",!0)])]),d("div",jt,[d("button",{type:"button",onClick:c[5]||(c[5]=t=>e(b)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.year"))+" ",1),e(n)==="year"?(p(),K(J,{key:0})):_("",!0)])]),d("div",Kt,[d("button",{type:"button",onClick:c[6]||(c[6]=t=>e(w)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[I(R(e(a)("filter.alltime"))+" ",1),e(m)[0]?_("",!0):(p(),K(J,{key:0}))])])]),_:1},8,["label","current-value","mode","onClear","layout"]),e(n)!==""&&e(n)!=="range"&&e(n)!=="last_7_days"?(p(),C(O,{key:0},[d("div",Dt,[d("button",{type:"button",title:e(a)("filter.prev"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:c[7]||(c[7]=(...t)=>e(s)&&e(s)(...t))},[Y(_t)],8,Ft)]),d("div",Lt,[d("button",{type:"button",title:e(a)("filter.next"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:c[8]||(c[8]=(...t)=>e(v)&&e(v)(...t))},[Y(Bt)],8,Ot)])],64)):_("",!0),e(n)!==""&&e(n)==="range"?(p(),C("div",Ut,[E(d("input",{type:"date",max:e(m)[1],locale:"uk-UA","onUpdate:modelValue":c[9]||(c[9]=t=>e(m)[0]=t),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:l.disabled},null,8,$t),[[Q,e(m)[0]]]),E(d("input",{type:"date",min:e(m)[0],locale:"uk-UA","onUpdate:modelValue":c[10]||(c[10]=t=>e(m)[1]=t),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:l.disabled},null,8,Et),[[Q,e(m)[1]]])])):_("",!0)]),(l.cleanable,_("",!0))],64))}}),_e={radio:vl,checkbox:Ve,check:Ve,text:Ml,range:El,date:Zl,select:it,tag:vt,"date:inline":Tt};function xe(l,r){let g;switch(l.toLowerCase()){case"autocomplete":g="select";break;case"check":g="checkbox";break;default:g=l==null?void 0:l.toString().toLowerCase()}return g==="date"&&r&&r==="inline"&&(g="date:inline"),{component:_e[g]||_e.text,type:g}}const It={style:{display:"inline-flex",margin:"0px",width:"100%"}},zt={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},Wt={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Yt={class:"flex items-center"},qt={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},Pt={class:"filter-layout__body"},Nt=T({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=g,o=A(),h=xe(a.type,a.layout),n=U({get:()=>a.modelValue,set:s=>i("update:modelValue",s)});function m(s){i("clear",s)}function b(s,k){i("change",{name:s,value:k}),a.modelValue!==void 0&&i("update:modelValue",k)}function v(){o.value&&o.value.clear(),i("clear",a.name)}return D(()=>a.default,s=>{n.value=s}),D(()=>a.modelValue,s=>{n.value=s}),r({filterRef:o}),(s,k)=>{var w,V,c;return p(),C("div",It,[d("div",zt,[d("div",Wt,[d("div",Yt,[d("span",qt,R(l.label),1)]),typeof n.value=="string"&&n.value.trim()!==""||Array.isArray(n.value)&&n.value.length>0&&n.value.some(t=>t!==void 0)||n.value===null?(p(),K(Ne,{key:0,onClick:v})):_("",!0)]),d("div",Pt,[((w=e(h))==null?void 0:w.type)!=="select"?(p(),K(Z((V=e(h))==null?void 0:V.component),q({key:0},a,{type:(c=e(h))==null?void 0:c.type,onChange:k[0]||(k[0]=t=>b(t.name,t.value)),onClear:k[1]||(k[1]=t=>m(t)),ref_key:"filterRef",ref:o}),null,16,["type"])):(p(),K(he,{key:1,"current-value":n.value,label:l.label,mode:l.mode,onClear:v,fieldRef:o.value,width:void 0,disabled:l.disabled,layout:"vertical"},{default:ee(()=>{var t,f;return[(p(),K(Z((t=e(h))==null?void 0:t.component),q({ref_key:"filterRef",ref:o},a,{type:(f=e(h))==null?void 0:f.type,onChange:k[2]||(k[2]=x=>b(x.name,x.value)),onClear:k[3]||(k[3]=x=>m(x))}),null,16,["type"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Ae=T({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=g,o=A(),h=xe(a.type,a.layout),n=U({get:()=>a.modelValue,set:v=>i("update:modelValue",v)});function m(v=a.name){i("clear",v)}function b(v,s){i("change",{name:v,value:s}),a.modelValue!==void 0&&i("update:modelValue",s)}return D(()=>a.default,v=>{n.value=v}),D(()=>a.modelValue,v=>{n.value=v}),r({filterRef:o}),(v,s)=>{var k,w;return["text","date"].includes(l.type.toLocaleLowerCase())?(p(),K(Z((k=e(h))==null?void 0:k.component),q({key:0},a,{type:(w=e(h))==null?void 0:w.type,onChange:s[0]||(s[0]=V=>b(V.name,V.value)),onClear:s[1]||(s[1]=V=>m(V)),disabled:l.disabled,modelValue:n.value,"onUpdate:modelValue":s[2]||(s[2]=V=>n.value=V)}),null,16,["type","disabled","modelValue"])):(p(),K(he,{key:1,"current-value":n.value,label:l.label,mode:l.mode,onClear:m,fieldRef:o.value,width:a.width,disabled:l.disabled,layout:"inline"},{default:ee(()=>{var V,c;return[(p(),K(Z((V=e(h))==null?void 0:V.component),q({ref_key:"filterRef",ref:o},a,{modelValue:n.value,"onUpdate:modelValue":s[3]||(s[3]=t=>n.value=t),type:(c=e(h))==null?void 0:c.type,onChange:s[4]||(s[4]=t=>b(t.name,t.value)),onClear:s[5]||(s[5]=t=>m(t))}),null,16,["modelValue","type"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),Qt=T({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=g,o=A(),h=A(xe(a.type,a.layout)),n=U({get:()=>a.modelValue,set:v=>i("update:modelValue",v)});function m(v){i("clear",v)}function b(v,s){i("change",{name:v,value:s}),a.modelValue!==void 0&&i("update:modelValue",s)}return D(()=>a.default,v=>{n.value=v}),D(()=>a.modelValue,v=>{n.value=v}),D(()=>a,v=>{n.value=v}),r({filterRef:o}),(v,s)=>{var k,w;return p(),K(Z((k=h.value)==null?void 0:k.component),q(a,{type:(w=h.value)==null?void 0:w.type,modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=V=>n.value=V),onChange:s[1]||(s[1]=V=>b(V.name,V.value)),onClear:s[2]||(s[2]=V=>m(V)),ref_key:"filterRef",ref:o}),null,16,["type","modelValue"])}}}),le=T({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{}},emits:["update:modelValue","change","clear"],setup(l,{expose:r,emit:g}){const a=l,i=g,o=A(),h=U({get:()=>a.modelValue,set:v=>i("update:modelValue",v)});function n(v){i("clear",v)}function m(v,s){i("change",{name:v,value:s}),a.modelValue!==void 0&&i("update:modelValue",s)}D(()=>a.default,v=>{h.value=v}),D(()=>a.modelValue,v=>{h.value=v}),r({filterRef:o});function b(){switch(a.layout){case"inline":return Ae;case"vertical":return Nt;case"popover":return Qt;default:return Ae}}return(v,s)=>(p(),K(Z(b()),q(a,{onChange:s[0]||(s[0]=k=>m(k.name,k.value)),onClear:s[1]||(s[1]=k=>n(k)),modelValue:h.value,"onUpdate:modelValue":s[2]||(s[2]=k=>h.value=k)}),null,16,["modelValue"]))}});function we(l,r){const{slots:g}=l,a=A(l.value??{}),i=U(()=>{var t;return(ne((t=g==null?void 0:g.default)==null?void 0:t.call(g))??[]).flatMap(f=>Array.isArray(f.children)?f.children:[f])});function o(t){delete a.value[t],r("clear",{data:ne(a.value),name:t})}function h(t,f){f===void 0?o(t):a.value={...a.value,[t]:f},r("change",{data:ne(a.value),name:t,value:f})}const n=U(()=>i.value.map(t=>{var x;const f=(x=t.props)==null?void 0:x.name;return Te(t,{...t.props,layout:l.view,showClean:!0,modelValue:a.value[f],"onUpdate:modelValue":u=>{h(f,u)},onClear:()=>o(f)})})),m=U(()=>new Map(n.value.map(t=>{var x;const f=(x=t.props)==null?void 0:x.name;return f?[f,t]:null}).filter(t=>t!==null)));function b(t=!1){a.value={},t||r("clearAll",{data:ne(a.value),name:"ALL"})}const v=A(""),s=U(()=>{var t;return(t=l.schema)!=null&&t.value?Object.entries(a.value).filter(([f,x])=>l.schema&&!(f in l.schema.value)?!1:Array.isArray(x)?x.some(u=>u!==""&&u!==void 0):x!==""&&x!==void 0).length:0}),k=A();D(v,async()=>{var t,f;await me(),(f=(t=k==null?void 0:k.value)==null?void 0:t.filterRef)!=null&&f.inputTextRef&&k.value.filterRef.inputTextRef.focus()});const w=U(()=>{var t,f;return(t=l.schema)!=null&&t.value?Object.fromEntries(Object.entries((f=l.schema)==null?void 0:f.value).slice(0,l.limit)):{}}),V=U(()=>{var f;if(n.value.length===0)return[];let t=0;if((f=l.schema)!=null&&f.value){const x=Object.entries(l.schema.value).length;l.limit&&x<l.limit?t=l.limit-x:t=0}return n.value.slice(0,t)}),c=U(()=>n.value.length===0?[]:l.view!=="inline"?n.value:n.value.slice(V.value.length));return{activeFilter:a,activeFilterCount:s,onFilterChange:h,clearFilter:o,clearAllFilters:b,limitedSchema:w,filtersSlot:n,limitedFiltersSlot:V,popoverFiltersSlot:c,vnodeMap:m,selectedFilter:v,filterRef:k}}const Ht=T({__name:"popover",emits:["open","close"],setup(l,{emit:r}){const g=A(!1),a=A(null),i=A(null),o=A(null),h=A({top:"0px",left:"0px",position:"absolute"});function n(){g.value=!g.value}function m(){const w=o.value,V=a.value;if(!w||!V)return;const c=w.getBoundingClientRect(),t=V.offsetWidth,f=window.innerWidth-c.left;let x=c.left+window.scrollX;t>f&&(x=window.innerWidth-t-8,x<8&&(x=8)),h.value={position:"absolute",top:`${c.bottom+window.scrollY+8}px`,left:`${x}px`}}const b=U(()=>Object.entries(h.value).map(w=>w.join(":")).join(";"));function v(w){var c,t;const V=w.target;!((c=o.value)!=null&&c.contains(w.target))&&!((t=a.value)!=null&&t.contains(w.target))&&!V.closest("[data-inside-popover]")&&(g.value=!1)}const s=A(!1);ce(()=>{s.value=!0}),ce(()=>{var w,V;o.value=((w=i.value)==null?void 0:w.querySelector("[data-popover-trigger]"))||null,(V=o.value)==null||V.addEventListener("click",n),document.addEventListener("click",v),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0)}),ve(()=>{var w;(w=o.value)==null||w.removeEventListener("click",n),document.removeEventListener("click",v),window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0)});const k=r;return D(g,async w=>{w?(k("open"),await me(),m()):k("close")}),(w,V)=>(p(),C("div",{ref_key:"wrapperRef",ref:i},[se(w.$slots,"trigger"),s.value?(p(),K(Me,{key:0,to:"body"},[E(d("div",{ref_key:"popoverRef",ref:a,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:Be(b.value)},[se(w.$slots,"default")],4),[[H,g.value]])])):_("",!0)],512))}}),Gt={},Xt={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-filter h-4 w-4"};function Zt(l,r){return p(),C("svg",Xt,[...r[0]||(r[0]=[d("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const Jt=G(Gt,[["render",Zt]]),ea={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},la={class:"flex"},ta={class:"w-64 border-r border-gray-200"},aa={class:"p-2"},oa=["onClick"],ra={class:"flex items-center gap-2"},na={class:"text-sm font-medium"},ua={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},ia=["onClick"],sa={class:"flex items-center gap-2"},ca={class:"text-sm font-medium"},da={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},pa={key:0,class:"p-2 border-t"},fa={class:"flex-1 min-h-[300px] overflow-y-auto"},va={key:0,class:"flex items-center justify-center h-full text-gray-500"},Ee=T({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(l,{expose:r,emit:g}){const a=l,i=Ue(a.mode),o=fe(),h=g,n=A({}),m=U(()=>n!=null&&n.value?a.view!=="inline"?n==null?void 0:n.value:Object.fromEntries(Object.entries(n==null?void 0:n.value).slice(a.limit)):{}),{activeFilter:b,activeFilterCount:v,onFilterChange:s,clearFilter:k,clearAllFilters:w,popoverFiltersSlot:V,selectedFilter:c,filterRef:t}=we({...a,schema:n.value,slots:o},h);function f(){if(m.value){const[x]=Object.keys(m.value);c.value=x}else V.value.length>0?c.value=V.value[0].props.name:c.value=""}return D(()=>a.schema,x=>{n.value=x},{deep:!0,immediate:!0}),r({clearFilter:k,clearAllFilters:w}),(x,u)=>(p(),K(Ht,{onOpen:f,onClose:u[5]||(u[5]=y=>c.value="")},{trigger:ee(()=>[d("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:L(e(i)+(e(v)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[Y(Jt),u[6]||(u[6]=I(" Фільтр ",-1)),e(v)>0?(p(),C("div",ea,R(e(v)),1)):_("",!0)],2)]),default:ee(()=>[d("div",la,[d("div",ta,[u[7]||(u[7]=d("div",{class:"p-4 border-b"},[d("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),d("div",aa,[l.schema?(p(!0),C(O,{key:0},P(Object.entries(m.value),([y,B])=>{var M;return p(),C("button",{key:y,onClick:()=>{c.value=y},class:L(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e(c)===y?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-gray-700"])},[d("div",ra,[d("span",na,R(B.label),1)]),(Array.isArray(e(b)[y])?((M=e(b)[y])==null?void 0:M.length)>0:e(b)[y]||e(b)[y]===null)?(p(),C("div",ua)):_("",!0)],10,oa)}),128)):_("",!0),(p(!0),C(O,null,P(e(V),(y,B)=>{var M;return p(),C("button",{key:"slot-"+B,onClick:j=>c.value=y.props.name,class:L(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e(c)===y.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[d("div",sa,[d("span",ca,R(y.props.label),1)]),((M=e(b)[y.props.name])==null?void 0:M.length)>0?(p(),C("div",da)):_("",!0)],10,ia)}),128))]),e(v)>0?(p(),C("div",pa,[d("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:u[0]||(u[0]=y=>e(w)()),"data-inside-popover":""}," Очистити всі ")])):_("",!0)]),d("div",fa,[e(c)===""?(p(),C("div",va,[...u[8]||(u[8]=[d("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)])])):_("",!0),e(c)?(p(),C(O,{key:1},[m.value?(p(!0),C(O,{key:0},P(Object.entries(m.value),([y,B])=>(p(),C(O,null,[e(c)===y?(p(),K(le,q({key:y,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:t},{ref_for:!0},B,{onChange:u[1]||(u[1]=M=>e(s)(M.name,M.value)),onClear:u[2]||(u[2]=M=>{e(k)(M),e(s)(M,void 0)}),modelValue:e(b)[y],"onUpdate:modelValue":M=>e(b)[y]=M,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):_("",!0)],64))),256)):_("",!0),(p(!0),C(O,null,P(e(V),(y,B)=>(p(),C(O,{key:"slot-"+B},[e(c)===y.props.name?(p(),K(le,q({key:0,layout:"popover"},{ref_for:!0},y.props,{ref_for:!0,ref_key:"filterRef",ref:t,onChange:u[3]||(u[3]=M=>e(s)(M.name,M.value)),onClear:u[4]||(u[4]=M=>{e(k)(M),e(s)(M,void 0)}),modelValue:e(b)[y.props.name],"onUpdate:modelValue":M=>e(b)[y.props.name]=M,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):_("",!0)],64))),128))],64)):_("",!0)])])]),_:1}))}}),ma={class:"flex gap-1 items-center flex-wrap"},Se=T({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(l,{expose:r,emit:g}){const a=re(),i=l,o=g,h=fe(),n=A({}),m=U(()=>Object.keys(i.schema).length>i.limit),{activeFilter:b,activeFilterCount:v,onFilterChange:s,clearFilter:k,clearAllFilters:w,limitedSchema:V,filtersSlot:c,limitedFiltersSlot:t}=we({...i,schema:n,slots:h},o),f=A();function x(){f.value&&f.value.clearAllFilters(!0),w()}return D(()=>i.schema,u=>{n.value=u},{deep:!0,immediate:!0}),r({clearFilter:k,clearAllFilters:w}),(u,y)=>(p(),C("div",ma,[l.schema?(p(!0),C(O,{key:0},P(Object.entries(e(V)),([B,M])=>(p(),K(le,q({key:B,mode:l.mode},{ref_for:!0},M,{onChange:y[0]||(y[0]=j=>e(s)(j.name,j.value)),onClear:e(k),layout:"inline",cleanable:!0,modelValue:e(b)[B],"onUpdate:modelValue":j=>e(b)[B]=j}),null,16,["mode","onClear","modelValue","onUpdate:modelValue"]))),128)):_("",!0),(p(!0),C(O,null,P(e(t),(B,M)=>(p(),K(le,q({key:"slot-"+M,layout:"inline"},{ref_for:!0},B.props,{onChange:y[1]||(y[1]=j=>e(s)(j.name,j.value)),onClear:y[2]||(y[2]=j=>{e(k)(j),e(s)(j,void 0)}),cleanable:!0,modelValue:e(b)[B.props.name],"onUpdate:modelValue":j=>e(b)[B.props.name]=j}),null,16,["modelValue","onUpdate:modelValue"]))),128)),m.value?(p(),K(Ee,q({key:1},i,{schema:l.schema,limit:l.limit,onChange:y[3]||(y[3]=B=>e(s)(B.name,B.value)),onClearAll:y[4]||(y[4]=B=>e(w)()),onClear:y[5]||(y[5]=B=>e(k)(B.name)),mode:l.mode,ref_key:"popoverRef",ref:f,cleanable:!0}),{default:ee(()=>[(p(!0),C(O,null,P(e(c),(B,M)=>(p(),K(Z(B),q({key:"slot-"+M,layout:"popover"},{ref_for:!0},B.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode"])):_("",!0),e(v)>0?(p(),C("button",{key:2,onClick:x,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"},R(e(a)("filter.clear")),1)):_("",!0)]))}}),ya={key:0,class:"p-2 overflow-y-auto overflow-hidden [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 max-h-[calc(100%-142px)] h-full bg-gray-100"},ga={class:"flex items-center vst-filters vsTailwind flex-col w-full"},ba=T({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(l,{expose:r,emit:g}){const a=l,i=g,o=fe(),{activeFilter:h,activeFilterCount:n,onFilterChange:m,clearFilter:b,clearAllFilters:v,filtersSlot:s}=we({...a,slots:o},i);return r({clearFilter:b,clearAllFilters:v}),(k,w)=>l.view==="vertical"?(p(),C("div",ya,[d("div",ga,[e(n)>0?(p(),C("button",{key:0,onClick:w[0]||(w[0]=V=>e(v)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):_("",!0),l.schema?(p(!0),C(O,{key:1},P(Object.entries(l.schema),([V,c])=>(p(),K(le,q({layout:"vertical"},{ref_for:!0},c,{onChange:w[1]||(w[1]=t=>e(m)(t.name,t.value)),onClear:w[2]||(w[2]=t=>{e(b)(t),e(m)(t,void 0)}),modelValue:e(h)[V],"onUpdate:modelValue":t=>e(h)[V]=t,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),256)):_("",!0),(p(!0),C(O,null,P(e(s),(V,c)=>(p(),K(le,q({key:"slot-"+c,layout:"vertical"},{ref_for:!0},V.props,{onChange:w[3]||(w[3]=t=>e(m)(t.name,t.value)),onClear:w[4]||(w[4]=t=>{e(b)(t),e(m)(t,void 0)}),modelValue:e(h)[V.props.name],"onUpdate:modelValue":t=>e(h)[V.props.name]=t,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):_("",!0)}}),Re=T({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(l,{expose:r,emit:g}){const a=l,i=A(a.value??{}),o=g,h=A();function n(c){if(Array.isArray(c))return c.map(t=>n(t));if(c!==null&&typeof c=="object"){const t=ne(c),f={};for(const x in t)f[x]=n(t[x]);return f}return c}function m(c,t){t!==void 0?i.value={...i.value,[c]:t}:delete i.value[c],o("change",{data:n(i.value),name:c,value:n(t)})}function b(c){delete i.value[c],o("clear",{data:n(i.value),name:c}),o("change",{data:n(i.value),name:c,value:null})}function v(){i.value={},o("clear",{data:n(i.value),name:"ALL"}),o("change",{data:n(i.value),name:"ALL",value:null})}const s=A({});function k(){switch(a.view){case"inline":return Se;case"vertical":return ba;case"popover":return Ee;default:return Se}}D(()=>a.schema,c=>{if(!c){s.value={};return}if(Array.isArray(c)&&!c.length){s.value={};return}Array.isArray(c)?s.value=c.filter(t=>t.type).reduce((t,f)=>(Object.assign(f,{name:f.id||f.name,type:{datepicker:"date"}[f.type.toLowerCase()]||f.type.toLowerCase(),label:f.label||f.ua}),t[f.name]=f,f.data&&!f.api&&!f.options&&Object.assign(f,{api:`/api/suggest/${f.data}`}),t),{}):(Object.entries(c).forEach(([t,f])=>{Object.assign(f,{name:t||f.name||f.id,type:f.type.toLowerCase()})}),s.value={...c})},{immediate:!0,deep:!0});function w(c){h.value.clearFilter(c),b(c)}function V(){h.value.clearAllFilters(),v()}return D(()=>i.value,c=>{if(a.history){const t=new URL(window.location.href),f=new URLSearchParams(window.location.search);Object.keys(c).length>0?f.set("filter",Object.entries(c).filter(([,x])=>x).map(([x,u])=>`${x}=${u}`).join("|")):f.delete("filter"),t.search=decodeURI(f.toString()),window.history.pushState({},"",t)}}),r({clearAllFilters:V,clearFilter:w}),(c,t)=>(p(),K(Z(k()),q(a,{schema:s.value,onChange:t[0]||(t[0]=f=>m(f.name,f.value)),onClear:t[1]||(t[1]=f=>b(f.name)),onClearAll:v,ref_key:"filterRef",ref:h}),{default:ee(()=>[se(c.$slots,"default")]),_:3},16,["schema"]))}});Re.install=function(l){l.component("Filter",Re),l.component("FilterField",le)};export{Re as D};