@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.
- package/dist/index-W-qQIppj-DRzFSjU1.js +2452 -0
- package/dist/index.html +28 -34
- package/dist/index.js +13915 -0
- package/dist/index.umd.cjs +153 -0
- package/package.json +4 -11
- package/dist/assets/AddUser-CX-McfRW.js +0 -1
- package/dist/assets/ApiKeys-DSv1exYv.js +0 -16
- package/dist/assets/Appearance-DDtOUvCV.js +0 -6
- package/dist/assets/ArticlesPage-D6B3cZsl.js +0 -6
- package/dist/assets/BuilderPage-CCeSMVWe.js +0 -1
- package/dist/assets/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-DVYVfYF4.js +0 -1
- package/dist/assets/CollectionsPage-CHk8Cn5k.js +0 -1
- package/dist/assets/Dashboard-Bs7sXO6h.js +0 -11
- package/dist/assets/EditCollectionPage-gPuLJrN8.js +0 -41
- package/dist/assets/EmailPage-DhlWsPxk.js +0 -1
- package/dist/assets/EmptyData-Ct-xQv_N.js +0 -1
- package/dist/assets/FeedbackPage-DtaOncVv.js +0 -1
- package/dist/assets/Logs-CZ5klHNK.js +0 -1
- package/dist/assets/MediaBreadcrumb-BpOxt5PK.js +0 -11
- package/dist/assets/MediaPage-DqRcZFlO.js +0 -16
- package/dist/assets/MenuAddPage-BLcoVgrS.js +0 -1
- package/dist/assets/MenuItemPage-B2otXqkz.js +0 -20
- package/dist/assets/MenuPage-C00m4Fc_.js +0 -1
- package/dist/assets/MonacoEditor.vue_vue_type_script_setup_true_lang-CjoEsC67.js +0 -3
- package/dist/assets/PermissionsPage-LtqcCJ14.js +0 -1
- package/dist/assets/Settings-BHH6RoBP.js +0 -1
- package/dist/assets/SettingsTable-CY5pZx1z.js +0 -1
- package/dist/assets/SettingsTitle-t4WJBFxZ.js +0 -1
- package/dist/assets/SingletonsPage-Bn2Ypjhs.js +0 -6
- package/dist/assets/TagsPage-DAiakEth.js +0 -1
- package/dist/assets/UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js +0 -11
- package/dist/assets/UniversalTablePagination.vue_vue_type_script_setup_true_lang-DppVBws0.js +0 -1
- package/dist/assets/Users-CMH5j0db.js +0 -1
- package/dist/assets/UsersPage-CDGreEib.js +0 -1
- package/dist/assets/arrow-up-DCe0WsrM.js +0 -16
- package/dist/assets/calendar-o9t4MkD2.js +0 -6
- package/dist/assets/chevron-left-WFftVS9c.js +0 -6
- package/dist/assets/chevron-right-BiiSb3Be.js +0 -6
- package/dist/assets/contentForm-unZQhjCu.js +0 -6
- package/dist/assets/en-BDx3Svx8.js +0 -1
- package/dist/assets/eye-Dijywc6g.js +0 -6
- package/dist/assets/file-B_duymIT.js +0 -6
- package/dist/assets/general-CkN_0qIV.js +0 -1
- package/dist/assets/index-BIp7eSXk.js +0 -1
- package/dist/assets/index-DCW2e4Az.js +0 -9
- package/dist/assets/index-DGweaj24.js +0 -1
- package/dist/assets/index-W-qQIppj-BDlsxaGB.js +0 -1
- package/dist/assets/index-W-qQIppj-BsopI3Hz-BIZR-dhy.js +0 -1
- package/dist/assets/index-oQz9FOqL.css +0 -1
- package/dist/assets/index-yMJAVBXk.js +0 -290
- package/dist/assets/list-CXRbSNky.js +0 -6
- package/dist/assets/logo-Cct5WB26.png +0 -0
- package/dist/assets/pencil-CwnPP4IJ.js +0 -6
- package/dist/assets/plus-DLR44m6p.js +0 -6
- package/dist/assets/save-FeDrOUOd.js +0 -6
- package/dist/assets/search-C4-fHihx.js +0 -6
- package/dist/assets/square-pen-xVs4e8Yb.js +0 -6
- package/dist/assets/trash-2-BGXMNU3d.js +0 -6
- package/dist/assets/uk-BA7DIKEL.js +0 -1
- package/dist/assets/useDebounce-DFq3rxAW.js +0 -1
- package/dist/assets/vs-form-reletion-link-C-xrdHDl.js +0 -20
- package/dist/assets/vs-form-reletion-link-bk-9ZkDH.css +0 -1
- package/dist/assets/vue.-sixQ7xP-CUPNuJcq.js +0 -1
- package/dist/assets/vuedraggable.umd-W_2WTF6i.js +0 -14
- package/dist/assets/x-D2t-wfBe.js +0 -6
- package/module/cms/card/cms.content.table/index.yml +0 -17
- package/module/cms/card/cms.content.table/main_info.hbs +0 -26
- package/module/cms/card/cms.menu.table/content_info.hbs +0 -16
- package/module/cms/card/cms.menu.table/index.yml +0 -18
- package/module/cms/card/cms.menu.table/main_info.hbs +0 -22
- package/module/cms/card/cms.settings.table/index.yml +0 -13
- package/module/cms/card/cms.settings.table/main_info.hbs +0 -20
- package/module/cms/cls/content.status.json +0 -18
- package/module/cms/cls/user_type.json +0 -10
- package/module/cms/form/admin.users.form.json +0 -78
- package/module/cms/form/cms.content.form.json +0 -79
- package/module/cms/form/cms.menu.form.json +0 -69
- package/module/cms/form/cms.settings.form.json +0 -32
- package/module/cms/menu.json +0 -24
- package/module/cms/router.js +0 -169
- package/module/cms/select/cms.page_type.sql +0 -2
- package/module/cms/select/collection.sql +0 -1
- package/module/cms/select/locale.sql +0 -17
- package/module/cms/select/news_tag_id.sql +0 -12
- package/module/cms/select/tag_id.sql +0 -1
- package/module/cms/table/admin.users.table.json +0 -54
- package/module/cms/table/cms.content.table.json +0 -106
- package/module/cms/table/cms.menu.table.json +0 -73
- package/module/cms/table/cms.settings.table.json +0 -57
- package/module/cms/table/collection.default.table.json +0 -102
- package/module/cms/table/single.default.table.json +0 -115
- package/src/App.css +0 -52
- package/src/App.vue +0 -62
- package/src/assets/image.png +0 -0
- package/src/assets/main.css +0 -3
- package/src/assets/tailwind-3.4.17.js +0 -113
- package/src/components/LanguageSwitcher.vue +0 -73
- package/src/components/SettingsCard.vue +0 -40
- package/src/components/builder/CreateForm.vue +0 -128
- package/src/components/builder/formTypeSchema.js +0 -145
- package/src/components/builder/tabs/index.ts +0 -9
- package/src/components/builder/tabs/vs-builder-edit.vue +0 -133
- package/src/components/builder/tabs/vs-builder-monaco.vue +0 -29
- package/src/components/builder/tabs/vs-builder-preview.vue +0 -39
- package/src/components/builder/vs-builder-datatable-controls.vue +0 -138
- package/src/components/builder/vs-builder-datatable-form.vue +0 -80
- package/src/components/builder/vs-builder-datatable.vue +0 -191
- package/src/components/builder/vs-builder-list-item.vue +0 -110
- package/src/components/collections/CollectionsBreadcrumb.vue +0 -52
- package/src/components/collections/CollectionsGrid.vue +0 -176
- package/src/components/collections/ContentBlock.vue +0 -75
- package/src/components/collections/formWrapper.vue +0 -156
- package/src/components/dashboard/ContentItem.vue +0 -82
- package/src/components/dashboard/DashboardHeader.vue +0 -33
- package/src/components/dashboard/QuickActions.vue +0 -84
- package/src/components/dashboard/RecentContent.vue +0 -54
- package/src/components/dashboard/StatCard.vue +0 -63
- package/src/components/dashboard/StatsGrid.vue +0 -28
- package/src/components/form-components/MonacoEditor.vue +0 -104
- package/src/components/form-components/VsFormMeta.vue +0 -40
- package/src/components/form-components/VsFormTags.vue +0 -150
- package/src/components/form-components/custom-datatable/vs-form-custom-datatable-add.vue +0 -84
- package/src/components/form-components/custom-datatable/vs-form-custom-datatable-controls.vue +0 -106
- package/src/components/form-components/index.js +0 -23
- package/src/components/form-components/reference/vs-form-reference-add.vue +0 -92
- package/src/components/form-components/reference/vs-form-reference-controls.vue +0 -101
- package/src/components/form-components/reference-list/referenceOptionList.js +0 -78
- package/src/components/form-components/reference-list/vs-form-reference-add.vue +0 -145
- package/src/components/form-components/reference-list/vs-form-reference-choce.vue +0 -39
- package/src/components/form-components/reference-list/vs-form-reference-controls.vue +0 -110
- package/src/components/form-components/reference-skeleton/about-skeleton.vue +0 -37
- package/src/components/form-components/reference-skeleton/banner-skeleton.vue +0 -29
- package/src/components/form-components/reference-skeleton/body-skeleton.vue +0 -56
- package/src/components/form-components/reference-skeleton/cards-skeleton.vue +0 -47
- package/src/components/form-components/reference-skeleton/documents-skeleton.vue +0 -64
- package/src/components/form-components/reference-skeleton/faq-skeleton.vue +0 -64
- package/src/components/form-components/reference-skeleton/form-skeleton.vue +0 -41
- package/src/components/form-components/reference-skeleton/index.js +0 -36
- package/src/components/form-components/reference-skeleton/infoLine-skeleton.vue +0 -37
- package/src/components/form-components/reference-skeleton/news-skeleton.vue +0 -54
- package/src/components/form-components/reference-skeleton/slider-skeleton.vue +0 -41
- package/src/components/form-components/reference-skeleton/tabs-skeleton.vue +0 -40
- package/src/components/form-components/reference-skeleton/team-skeleton.vue +0 -103
- package/src/components/form-components/reference-skeleton/usefulLinks-skeleton.vue +0 -52
- package/src/components/form-components/reference-skeleton/video-skeleton.vue +0 -36
- package/src/components/form-components/testReferenceTypes.js +0 -773
- package/src/components/form-components/vs-form-color-picker.vue +0 -29
- package/src/components/form-components/vs-form-custom-datatable.vue +0 -214
- package/src/components/form-components/vs-form-integer.vue +0 -86
- package/src/components/form-components/vs-form-key-value.vue +0 -201
- package/src/components/form-components/vs-form-marcdown-md.vue +0 -3
- package/src/components/form-components/vs-form-media-select.vue +0 -780
- package/src/components/form-components/vs-form-reference-list.vue +0 -97
- package/src/components/form-components/vs-form-reference.vue +0 -59
- package/src/components/form-components/vs-form-relation.vue +0 -30
- package/src/components/form-components/vs-form-reletion-link.vue +0 -34
- package/src/components/form-components/vs-form-select-collection.vue +0 -0
- package/src/components/form-components/vs-form-slug.vue +0 -72
- package/src/components/form-components/vs-form-tiptap.vue +0 -7
- package/src/components/form-components/vs-richtext-md.vue +0 -3
- package/src/components/icons/BellIcon.vue +0 -17
- package/src/components/icons/GlobeIcon.vue +0 -18
- package/src/components/icons/KeyIcon.vue +0 -20
- package/src/components/icons/PaletteIcon.vue +0 -22
- package/src/components/icons/SettingsIcon.vue +0 -19
- package/src/components/icons/ShieldIcon.vue +0 -18
- package/src/components/icons/UsersIcon.vue +0 -19
- package/src/components/icons/icon-chevron-right.vue +0 -16
- package/src/components/icons/icon-drag.vue +0 -20
- package/src/components/icons/icon-file-text.vue +0 -21
- package/src/components/icons/icon-folder.vue +0 -18
- package/src/components/icons/icon-grid.vue +0 -17
- package/src/components/icons/icon-group.vue +0 -19
- package/src/components/icons/icon-home.vue +0 -16
- package/src/components/icons/icon-image.vue +0 -18
- package/src/components/icons/icon-list.vue +0 -20
- package/src/components/icons/icon-more.vue +0 -17
- package/src/components/icons/icon-plus.vue +0 -17
- package/src/components/icons-types/icon-array.vue +0 -22
- package/src/components/icons-types/icon-boolean.vue +0 -18
- package/src/components/icons-types/icon-datalist.vue +0 -22
- package/src/components/icons-types/icon-date.vue +0 -20
- package/src/components/icons-types/icon-datetime.vue +0 -20
- package/src/components/icons-types/icon-file.vue +0 -21
- package/src/components/icons-types/icon-gallery.vue +0 -18
- package/src/components/icons-types/icon-image.vue +0 -19
- package/src/components/icons-types/icon-integer.vue +0 -20
- package/src/components/icons-types/icon-merkdown.vue +0 -18
- package/src/components/icons-types/icon-multiselect.vue +0 -22
- package/src/components/icons-types/icon-number.vue +0 -20
- package/src/components/icons-types/icon-radio.vue +0 -22
- package/src/components/icons-types/icon-reference-list.vue +0 -22
- package/src/components/icons-types/icon-reference.vue +0 -20
- package/src/components/icons-types/icon-relation.vue +0 -22
- package/src/components/icons-types/icon-richtext.vue +0 -18
- package/src/components/icons-types/icon-select.vue +0 -22
- package/src/components/icons-types/icon-slug.vue +0 -19
- package/src/components/icons-types/icon-text.vue +0 -19
- package/src/components/icons-types/index.js +0 -43
- package/src/components/layout/Layout.vue +0 -67
- package/src/components/layout/Sidebar.vue +0 -128
- package/src/components/media/FileUploadProgress.vue +0 -29
- package/src/components/media/MediaBreadcrumb.vue +0 -42
- package/src/components/media/MediaCreateFolder.vue +0 -59
- package/src/components/media/MediaFileInfo.vue +0 -148
- package/src/components/media/MediaGrid.vue +0 -148
- package/src/components/media/MediaList.vue +0 -148
- package/src/components/media/MediaViewControls.vue +0 -38
- package/src/components/media/TypeTag.vue +0 -23
- package/src/components/menu/AddNewItemInTree.vue +0 -75
- package/src/components/menu/MenuBody.vue +0 -149
- package/src/components/menu/MenuItem.vue +0 -73
- package/src/components/menu/MenuList.vue +0 -101
- package/src/components/referencec/index.ts +0 -7
- package/src/components/referencec/vs-reference-faq.vue +0 -61
- package/src/components/referencec/vs-reference-user-card.vue +0 -40
- package/src/components/settings/NotificationSettings.vue +0 -32
- package/src/components/settings/SettingsTable.vue +0 -50
- package/src/components/settings/SettingsTitle.vue +0 -33
- package/src/components/settings/SettingsToggleItem.vue +0 -25
- package/src/components/sidebar/DropdownMenu.vue +0 -34
- package/src/components/sidebar/SettingsSidebar.vue +0 -121
- package/src/components/sidebar/SidebarFooter.vue +0 -52
- package/src/components/sidebar/SidebarHeader.vue +0 -57
- package/src/components/sidebar/SidebarMenu.vue +0 -78
- package/src/components/ui/EmptyData.vue +0 -76
- package/src/components/ui/UniversalTable.vue +0 -310
- package/src/components/ui/UniversalTableFilters.vue +0 -0
- package/src/components/ui/UniversalTablePagination.vue +0 -118
- package/src/components/ui/VsPreview.vue +0 -75
- package/src/composables/useCollectionView.ts +0 -21
- package/src/composables/useDebounce.ts +0 -26
- package/src/composables/useMonaco.ts +0 -28
- package/src/composables/useTheme.ts +0 -40
- package/src/content/test-slug/metadata.json +0 -1
- package/src/i18n.ts +0 -75
- package/src/index.css +0 -3
- package/src/index.ts +0 -122
- package/src/locales/en.json +0 -778
- package/src/locales/uk.json +0 -797
- package/src/main.ts +0 -41
- package/src/pages/Dashboard.vue +0 -168
- package/src/pages/EmailPage.vue +0 -183
- package/src/pages/FeedbackPage.vue +0 -232
- package/src/pages/MediaPage.vue +0 -372
- package/src/pages/TagsPage.vue +0 -207
- package/src/pages/builder/BuilderPage.vue +0 -195
- package/src/pages/builder/EditCollectionPage.vue +0 -163
- package/src/pages/collections/ArticlesPage.vue +0 -385
- package/src/pages/collections/CollectionsPage.vue +0 -146
- package/src/pages/collections/SingletonsPage.vue +0 -119
- package/src/pages/collections/contentForm.vue +0 -484
- package/src/pages/collections/schema/seo.ts +0 -27
- package/src/pages/menu/MenuAddPage.vue +0 -123
- package/src/pages/menu/MenuItemPage.vue +0 -183
- package/src/pages/menu/MenuPage.vue +0 -133
- package/src/pages/settings/ApiKeys.vue +0 -75
- package/src/pages/settings/Appearance.vue +0 -80
- package/src/pages/settings/Logs.vue +0 -260
- package/src/pages/settings/PermissionsPage.vue +0 -237
- package/src/pages/settings/Settings.vue +0 -186
- package/src/pages/settings/Users.vue +0 -109
- package/src/pages/settings/general.vue +0 -154
- package/src/pages/settings/generalScheme.js +0 -132
- package/src/pages/users/AddUser.vue +0 -106
- package/src/pages/users/UsersPage.vue +0 -98
- package/src/props/builder.ts +0 -67
- package/src/props/content.ts +0 -56
- package/src/props/media.ts +0 -63
- package/src/router/index.ts +0 -181
- package/src/types/fastify-auth.d.ts +0 -4
- package/src/utils/getField.js +0 -270
- package/src/utils/translit.js +0 -19
- 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};
|