admins-components 9.0.50 → 9.0.52

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 (240) hide show
  1. package/dist/admins-components.js +35 -33
  2. package/dist/admins-components100.js +245 -3
  3. package/dist/admins-components100.js.map +1 -1
  4. package/dist/admins-components102.js +6 -52
  5. package/dist/admins-components102.js.map +1 -1
  6. package/dist/admins-components103.js +3 -82
  7. package/dist/admins-components103.js.map +1 -1
  8. package/dist/admins-components104.js +3 -113
  9. package/dist/admins-components104.js.map +1 -1
  10. package/dist/admins-components105.js +49 -44
  11. package/dist/admins-components105.js.map +1 -1
  12. package/dist/admins-components106.js +80 -104
  13. package/dist/admins-components106.js.map +1 -1
  14. package/dist/admins-components107.js +109 -16
  15. package/dist/admins-components107.js.map +1 -1
  16. package/dist/admins-components108.js +46 -6
  17. package/dist/admins-components108.js.map +1 -1
  18. package/dist/admins-components109.js +100 -246
  19. package/dist/admins-components109.js.map +1 -1
  20. package/dist/admins-components110.js +19 -26
  21. package/dist/admins-components110.js.map +1 -1
  22. package/dist/admins-components111.js +6 -27
  23. package/dist/admins-components111.js.map +1 -1
  24. package/dist/admins-components112.js +239 -159
  25. package/dist/admins-components112.js.map +1 -1
  26. package/dist/admins-components113.js +26 -67
  27. package/dist/admins-components113.js.map +1 -1
  28. package/dist/admins-components114.js +25 -64
  29. package/dist/admins-components114.js.map +1 -1
  30. package/dist/admins-components115.js +169 -27
  31. package/dist/admins-components115.js.map +1 -1
  32. package/dist/admins-components116.js +65 -13
  33. package/dist/admins-components116.js.map +1 -1
  34. package/dist/admins-components117.js +64 -24
  35. package/dist/admins-components117.js.map +1 -1
  36. package/dist/admins-components118.js +29 -8
  37. package/dist/admins-components118.js.map +1 -1
  38. package/dist/admins-components119.js +16 -4
  39. package/dist/admins-components119.js.map +1 -1
  40. package/dist/admins-components120.js +27 -3
  41. package/dist/admins-components120.js.map +1 -1
  42. package/dist/admins-components121.js +8 -2
  43. package/dist/admins-components121.js.map +1 -1
  44. package/dist/admins-components122.js +4 -21
  45. package/dist/admins-components122.js.map +1 -1
  46. package/dist/admins-components123.js +3 -14
  47. package/dist/admins-components123.js.map +1 -1
  48. package/dist/admins-components124.js +3 -8
  49. package/dist/admins-components124.js.map +1 -1
  50. package/dist/admins-components125.js +19 -11
  51. package/dist/admins-components125.js.map +1 -1
  52. package/dist/admins-components126.js +14 -26
  53. package/dist/admins-components126.js.map +1 -1
  54. package/dist/admins-components127.js +7 -82
  55. package/dist/admins-components127.js.map +1 -1
  56. package/dist/admins-components128.js +9 -7
  57. package/dist/admins-components128.js.map +1 -1
  58. package/dist/admins-components129.js +25 -4
  59. package/dist/admins-components129.js.map +1 -1
  60. package/dist/admins-components130.js +81 -6
  61. package/dist/admins-components130.js.map +1 -1
  62. package/dist/admins-components131.js +10 -6
  63. package/dist/admins-components131.js.map +1 -1
  64. package/dist/admins-components132.js +2 -3
  65. package/dist/admins-components132.js.map +1 -1
  66. package/dist/admins-components133.js +8 -15
  67. package/dist/admins-components133.js.map +1 -1
  68. package/dist/admins-components134.js +6 -12
  69. package/dist/admins-components134.js.map +1 -1
  70. package/dist/admins-components135.js +6 -30
  71. package/dist/admins-components135.js.map +1 -1
  72. package/dist/admins-components136.js +15 -4
  73. package/dist/admins-components136.js.map +1 -1
  74. package/dist/admins-components137.js +13 -29
  75. package/dist/admins-components137.js.map +1 -1
  76. package/dist/admins-components138.js +30 -5
  77. package/dist/admins-components138.js.map +1 -1
  78. package/dist/admins-components139.js +4 -5
  79. package/dist/admins-components139.js.map +1 -1
  80. package/dist/admins-components140.js +28 -7
  81. package/dist/admins-components140.js.map +1 -1
  82. package/dist/admins-components141.js +4 -73
  83. package/dist/admins-components141.js.map +1 -1
  84. package/dist/admins-components142.js +4 -28
  85. package/dist/admins-components142.js.map +1 -1
  86. package/dist/admins-components143.js +8 -59
  87. package/dist/admins-components143.js.map +1 -1
  88. package/dist/admins-components144.js +72 -22
  89. package/dist/admins-components144.js.map +1 -1
  90. package/dist/admins-components145.js +26 -47
  91. package/dist/admins-components145.js.map +1 -1
  92. package/dist/admins-components146.js +58 -30
  93. package/dist/admins-components146.js.map +1 -1
  94. package/dist/admins-components147.js +24 -3
  95. package/dist/admins-components147.js.map +1 -1
  96. package/dist/admins-components148.js +44 -173
  97. package/dist/admins-components148.js.map +1 -1
  98. package/dist/admins-components149.js +28 -43
  99. package/dist/admins-components149.js.map +1 -1
  100. package/dist/admins-components150.js +3 -37
  101. package/dist/admins-components150.js.map +1 -1
  102. package/dist/admins-components151.js +176 -43
  103. package/dist/admins-components151.js.map +1 -1
  104. package/dist/admins-components152.js +41 -136
  105. package/dist/admins-components152.js.map +1 -1
  106. package/dist/admins-components153.js +36 -57
  107. package/dist/admins-components153.js.map +1 -1
  108. package/dist/admins-components154.js +44 -5
  109. package/dist/admins-components154.js.map +1 -1
  110. package/dist/admins-components155.js +141 -6
  111. package/dist/admins-components155.js.map +1 -1
  112. package/dist/admins-components156.js +57 -75
  113. package/dist/admins-components156.js.map +1 -1
  114. package/dist/admins-components157.js +6 -28
  115. package/dist/admins-components157.js.map +1 -1
  116. package/dist/admins-components158.js +5 -1930
  117. package/dist/admins-components158.js.map +1 -1
  118. package/dist/admins-components159.js +75 -24810
  119. package/dist/admins-components159.js.map +1 -1
  120. package/dist/admins-components16.js +4 -3
  121. package/dist/admins-components16.js.map +1 -1
  122. package/dist/admins-components160.js +28 -8
  123. package/dist/admins-components160.js.map +1 -1
  124. package/dist/admins-components161.js +1929 -5
  125. package/dist/admins-components161.js.map +1 -0
  126. package/dist/admins-components162.js +24809 -140
  127. package/dist/admins-components162.js.map +1 -1
  128. package/dist/admins-components163.js +3 -3
  129. package/dist/admins-components163.js.map +1 -1
  130. package/dist/admins-components164.js +7 -9
  131. package/dist/admins-components165.js +143 -0
  132. package/dist/admins-components165.js.map +1 -0
  133. package/dist/admins-components166.js +8 -167
  134. package/dist/admins-components166.js.map +1 -1
  135. package/dist/admins-components167.js +8 -50
  136. package/dist/admins-components167.js.map +1 -1
  137. package/dist/admins-components169.js +161 -43
  138. package/dist/admins-components169.js.map +1 -1
  139. package/dist/admins-components17.js.map +1 -1
  140. package/dist/admins-components170.js +51 -6
  141. package/dist/admins-components170.js.map +1 -1
  142. package/dist/admins-components171.js +8 -79
  143. package/dist/admins-components171.js.map +1 -1
  144. package/dist/admins-components172.js +35 -43
  145. package/dist/admins-components172.js.map +1 -1
  146. package/dist/admins-components173.js +6 -59
  147. package/dist/admins-components173.js.map +1 -1
  148. package/dist/admins-components174.js +79 -8
  149. package/dist/admins-components174.js.map +1 -1
  150. package/dist/admins-components175.js +43 -37
  151. package/dist/admins-components175.js.map +1 -1
  152. package/dist/admins-components176.js +58 -8
  153. package/dist/admins-components176.js.map +1 -1
  154. package/dist/admins-components177.js +10 -0
  155. package/dist/admins-components177.js.map +1 -0
  156. package/dist/admins-components178.js +44 -50
  157. package/dist/admins-components178.js.map +1 -1
  158. package/dist/admins-components179.js +10 -0
  159. package/dist/admins-components179.js.map +1 -0
  160. package/dist/admins-components181.js +59 -0
  161. package/dist/admins-components181.js.map +1 -0
  162. package/dist/admins-components5.js +30 -28
  163. package/dist/admins-components5.js.map +1 -1
  164. package/dist/admins-components58.js.map +1 -1
  165. package/dist/admins-components6.js.map +1 -1
  166. package/dist/admins-components60.js +1 -1
  167. package/dist/admins-components60.js.map +1 -1
  168. package/dist/admins-components65.js +66 -42
  169. package/dist/admins-components65.js.map +1 -1
  170. package/dist/admins-components67.js.map +1 -1
  171. package/dist/admins-components68.js +102 -95
  172. package/dist/admins-components68.js.map +1 -1
  173. package/dist/admins-components70.js.map +1 -1
  174. package/dist/admins-components72.js +135 -126
  175. package/dist/admins-components72.js.map +1 -1
  176. package/dist/admins-components74.js.map +1 -1
  177. package/dist/admins-components76.js +32 -122
  178. package/dist/admins-components76.js.map +1 -1
  179. package/dist/admins-components77.js +146 -0
  180. package/dist/admins-components77.js.map +1 -0
  181. package/dist/admins-components79.js +6 -59
  182. package/dist/admins-components79.js.map +1 -1
  183. package/dist/admins-components80.js +140 -67
  184. package/dist/admins-components80.js.map +1 -1
  185. package/dist/admins-components82.js +7 -0
  186. package/dist/admins-components82.js.map +1 -0
  187. package/dist/admins-components83.js +59 -6
  188. package/dist/admins-components83.js.map +1 -1
  189. package/dist/admins-components84.js +66 -229
  190. package/dist/admins-components84.js.map +1 -1
  191. package/dist/{admins-components81.js → admins-components85.js} +2 -2
  192. package/dist/{admins-components81.js.map → admins-components85.js.map} +1 -1
  193. package/dist/admins-components87.js +6 -37
  194. package/dist/admins-components87.js.map +1 -1
  195. package/dist/admins-components88.js +231 -0
  196. package/dist/admins-components88.js.map +1 -0
  197. package/dist/admins-components90.js +6 -199
  198. package/dist/admins-components90.js.map +1 -1
  199. package/dist/admins-components91.js +38 -0
  200. package/dist/{admins-components89.js.map → admins-components91.js.map} +1 -1
  201. package/dist/admins-components93.js +6 -16
  202. package/dist/admins-components93.js.map +1 -1
  203. package/dist/admins-components94.js +188 -64
  204. package/dist/admins-components94.js.map +1 -1
  205. package/dist/admins-components96.js +2 -2
  206. package/dist/admins-components96.js.map +1 -1
  207. package/dist/admins-components97.js +76 -198
  208. package/dist/admins-components97.js.map +1 -1
  209. package/dist/admins-components99.js +2 -2
  210. package/dist/admins-components99.js.map +1 -1
  211. package/dist/main.css +1 -1
  212. package/dist/main.css.map +1 -1
  213. package/dist/src/components/TextInput.vue.d.ts +2 -0
  214. package/dist/src/components/data-table/DataList.vue.d.ts +12 -3
  215. package/dist/src/components/data-table/DataPaginator.vue.d.ts +5 -1
  216. package/dist/src/components/data-table/DataSearch.vue.d.ts +9 -0
  217. package/dist/src/components/data-table/DataSort.vue.d.ts +51 -0
  218. package/dist/src/components/data-table/DataTable.vue.d.ts +12 -0
  219. package/dist/src/index.d.ts +4 -0
  220. package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  221. package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  222. package/dist/src/styles/components/data-table/data-search.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  223. package/dist/src/styles/components/data-table/data-sort.scss_vue_type_style_index_0_src_true_lang.css +1 -0
  224. package/dist/src/styles/components/data-table/data-table.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  225. package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  226. package/dist/src/types/data-list.d.ts +1 -0
  227. package/dist/src/utils/url.d.ts +21 -0
  228. package/package.json +1 -1
  229. package/dist/admins-components101.js +0 -4
  230. package/dist/admins-components101.js.map +0 -1
  231. package/dist/admins-components164.js.map +0 -1
  232. package/dist/admins-components168.js +0 -10
  233. package/dist/admins-components168.js.map +0 -1
  234. package/dist/admins-components78.js +0 -7
  235. package/dist/admins-components78.js.map +0 -1
  236. package/dist/admins-components86.js +0 -7
  237. package/dist/admins-components86.js.map +0 -1
  238. package/dist/admins-components89.js +0 -7
  239. package/dist/admins-components92.js +0 -7
  240. package/dist/admins-components92.js.map +0 -1
@@ -27,37 +27,39 @@ import J from "./admins-components70.js";
27
27
  import { deepMerge as Y } from "./admins-components71.js";
28
28
  import X from "./admins-components74.js";
29
29
  import { getFullStorageKey as Z } from "./admins-components75.js";
30
- import { getDefaultPaginator as Q } from "./admins-components76.js";
31
- import $ from "./admins-components78.js";
32
- import { filterEmptyValues as ee, getDefaultFilters as te, getDefaultSavedFilter as ne, getFilterUrlParams as re, getSavedFilters as ie, writeFilterParams as ae } from "./admins-components80.js";
33
- import oe from "./admins-components83.js";
34
- import se from "./admins-components86.js";
35
- import ce from "./admins-components89.js";
36
- import { getUrlParam as le, joinUrl as ue, removeUrlParam as de, setUrlParam as fe } from "./admins-components93.js";
37
- import { dataListDefaults as pe } from "./admins-components97.js";
38
- import me from "./admins-components99.js";
39
- import { isIpInUrl as he } from "./admins-components100.js";
40
- import { getCurrentSite as ge } from "./admins-components101.js";
41
- import { vTooltip as _e } from "./admins-components102.js";
42
- import { createNativeFetch as ve } from "./admins-components103.js";
43
- import { FetchDetails as ye, FetchError as be, Methods as xe, initRequest as Se } from "./admins-components104.js";
44
- import { useArticleEditorService as Ce } from "./admins-components105.js";
45
- import { useCurrentUser as we } from "./admins-components106.js";
46
- import { BackendService as Te, useBackendService as Ee } from "./admins-components107.js";
47
- import { aoeConfig as De, configureArticleOfferElement as Oe } from "./admins-components160.js";
48
- import ke from "./admins-components162.js";
49
- import { apeConfig as Ae, configureArticlePickerElement as je } from "./admins-components163.js";
50
- import { configureImagePickerElement as Me, ipeConfig as Ne } from "./admins-components164.js";
51
- import Pe from "./admins-components166.js";
52
- import Fe from "./admins-components167.js";
53
- import { configureExternalArticleOfferElement as Ie, eaoeConfig as Le } from "./admins-components168.js";
54
- import Re from "./admins-components169.js";
55
- import { configureGalleryImageSelectorElement as ze, gisConfig as Be } from "./admins-components170.js";
56
- import Ve from "./admins-components171.js";
57
- import He from "./admins-components172.js";
58
- import Ue from "./admins-components173.js";
59
- import { configureInternalArticleOfferElement as We, iaoeConfig as Ge } from "./admins-components174.js";
60
- import Ke from "./admins-components175.js";
61
- import { configurePartnerPickerElement as qe, ppeconfig as Je } from "./admins-components176.js";
30
+ import { getUrlParam as Q, joinUrl as $, removeUrlParam as ee, setUrlParam as te } from "./admins-components76.js";
31
+ import { getDefaultPaginator as ne } from "./admins-components77.js";
32
+ import re from "./admins-components79.js";
33
+ import { getDefaultSort as ie } from "./admins-components80.js";
34
+ import { filterEmptyValues as ae, getDefaultFilters as oe, getDefaultSavedFilter as se, getFilterUrlParams as ce, getSavedFilters as le, writeFilterParams as ue } from "./admins-components84.js";
35
+ import de from "./admins-components87.js";
36
+ import fe from "./admins-components90.js";
37
+ import pe from "./admins-components93.js";
38
+ import { getDefaultSearch as me } from "./admins-components97.js";
39
+ import { dataListDefaults as he, getDefaultFetchData as ge } from "./admins-components100.js";
40
+ import _e from "./admins-components102.js";
41
+ import { isIpInUrl as ve } from "./admins-components103.js";
42
+ import { getCurrentSite as ye } from "./admins-components104.js";
43
+ import { vTooltip as be } from "./admins-components105.js";
44
+ import { createNativeFetch as xe } from "./admins-components106.js";
45
+ import { FetchDetails as Se, FetchError as Ce, Methods as we, initRequest as Te } from "./admins-components107.js";
46
+ import { useArticleEditorService as Ee } from "./admins-components108.js";
47
+ import { useCurrentUser as De } from "./admins-components109.js";
48
+ import { BackendService as Oe, useBackendService as ke } from "./admins-components110.js";
49
+ import { aoeConfig as Ae, configureArticleOfferElement as je } from "./admins-components163.js";
50
+ import Me from "./admins-components165.js";
51
+ import { apeConfig as Ne, configureArticlePickerElement as Pe } from "./admins-components166.js";
52
+ import { configureImagePickerElement as Fe, ipeConfig as Ie } from "./admins-components167.js";
53
+ import Le from "./admins-components169.js";
54
+ import Re from "./admins-components170.js";
55
+ import { configureExternalArticleOfferElement as ze, eaoeConfig as Be } from "./admins-components171.js";
56
+ import Ve from "./admins-components172.js";
57
+ import { configureGalleryImageSelectorElement as He, gisConfig as Ue } from "./admins-components173.js";
58
+ import We from "./admins-components174.js";
59
+ import Ge from "./admins-components175.js";
60
+ import Ke from "./admins-components176.js";
61
+ import { configureInternalArticleOfferElement as qe, iaoeConfig as Je } from "./admins-components177.js";
62
62
  import Ye from "./admins-components178.js";
63
- export { ke as ArticleOfferElement, Pe as ArticlePickerElement, Te as BackendService, u as Button, m as Calendar, v as Checkbox, E as ConfirmModal, D as CopyToClipboard, J as DataCards, se as DataFilters, me as DataList, X as DataListOptions, $ as DataPaginator, q as DataTable, h as DatePicker, y as DateRangePicker, Fe as DateTimePickerElement, S as DropdownMenu, x as DropdownSelect, k as ExternalArticleOffer, Re as ExternalArticleOfferElement, ye as FetchDetails, be as FetchError, ce as FilterTags, oe as FiltersHistory, Ve as GalleryImageSelectorElement, w as HeaderComponent, O as ImagePicker, Ue as ImagePickerDetailsElement, He as ImagePickerElement, A as InternalArticleOffer, Ke as InternalArticleOfferElement, b as Loader, xe as Methods, T as Modal, Ye as PartnerPickerElement, C as Sidebar, _ as TextInput, M as ToastNotification, De as aoeConfig, Ae as apeConfig, I as booleanToString, d as calendarConfigDefaults, e as castToDate, Oe as configureArticleOfferElement, je as configureArticlePickerElement, Ie as configureExternalArticleOfferElement, ze as configureGalleryImageSelectorElement, Me as configureImagePickerElement, We as configureInternalArticleOfferElement, qe as configurePartnerPickerElement, ve as createNativeFetch, N as dataCardsSettingsDefaults, L as dataListConverters, pe as dataListDefaults, P as dataListSettingsDefaults, F as dataTableSettingsDefaults, f as datePickerConfigDefaults, p as dateRangePickerConfigDefaults, g as debounce, Y as deepMerge, Le as eaoeConfig, t as earlierOf, n as endOfDay, R as enumMap, ee as filterEmptyValues, z as formatCurrency, r as formatDate, B as formatNumber, ge as getCurrentSite, te as getDefaultFilters, Q as getDefaultPaginator, ne as getDefaultSavedFilter, re as getFilterUrlParams, Z as getFullStorageKey, ie as getSavedFilters, le as getUrlParam, Be as gisConfig, Ge as iaoeConfig, V as identity, Se as initRequest, Ne as ipeConfig, he as isIpInUrl, ue as joinUrl, i as laterOf, H as listToString, U as localToLocalString, a as localToUTCString, o as parseDate, Je as ppeconfig, de as removeUrlParam, fe as setUrlParam, W as shortUuid, s as startOfDay, c as startOfWeek, G as textEllipse, j as toast, Ce as useArticleEditorService, Ee as useBackendService, we as useCurrentUser, K as utcToLocalString, l as utcToString, _e as vTooltip, ae as writeFilterParams };
63
+ import { configurePartnerPickerElement as Xe, ppeconfig as Ze } from "./admins-components179.js";
64
+ import Qe from "./admins-components181.js";
65
+ export { Me as ArticleOfferElement, Le as ArticlePickerElement, Oe as BackendService, u as Button, m as Calendar, v as Checkbox, E as ConfirmModal, D as CopyToClipboard, J as DataCards, fe as DataFilters, _e as DataList, X as DataListOptions, re as DataPaginator, q as DataTable, h as DatePicker, y as DateRangePicker, Re as DateTimePickerElement, S as DropdownMenu, x as DropdownSelect, k as ExternalArticleOffer, Ve as ExternalArticleOfferElement, Se as FetchDetails, Ce as FetchError, pe as FilterTags, de as FiltersHistory, We as GalleryImageSelectorElement, w as HeaderComponent, O as ImagePicker, Ke as ImagePickerDetailsElement, Ge as ImagePickerElement, A as InternalArticleOffer, Ye as InternalArticleOfferElement, b as Loader, we as Methods, T as Modal, Qe as PartnerPickerElement, C as Sidebar, _ as TextInput, M as ToastNotification, Ae as aoeConfig, Ne as apeConfig, I as booleanToString, d as calendarConfigDefaults, e as castToDate, je as configureArticleOfferElement, Pe as configureArticlePickerElement, ze as configureExternalArticleOfferElement, He as configureGalleryImageSelectorElement, Fe as configureImagePickerElement, qe as configureInternalArticleOfferElement, Xe as configurePartnerPickerElement, xe as createNativeFetch, N as dataCardsSettingsDefaults, L as dataListConverters, he as dataListDefaults, P as dataListSettingsDefaults, F as dataTableSettingsDefaults, f as datePickerConfigDefaults, p as dateRangePickerConfigDefaults, g as debounce, Y as deepMerge, Be as eaoeConfig, t as earlierOf, n as endOfDay, R as enumMap, ae as filterEmptyValues, z as formatCurrency, r as formatDate, B as formatNumber, ye as getCurrentSite, ge as getDefaultFetchData, oe as getDefaultFilters, ne as getDefaultPaginator, se as getDefaultSavedFilter, me as getDefaultSearch, ie as getDefaultSort, ce as getFilterUrlParams, Z as getFullStorageKey, le as getSavedFilters, Q as getUrlParam, Ue as gisConfig, Je as iaoeConfig, V as identity, Te as initRequest, Ie as ipeConfig, ve as isIpInUrl, $ as joinUrl, i as laterOf, H as listToString, U as localToLocalString, a as localToUTCString, o as parseDate, Ze as ppeconfig, ee as removeUrlParam, te as setUrlParam, W as shortUuid, s as startOfDay, c as startOfWeek, G as textEllipse, j as toast, Ee as useArticleEditorService, ke as useBackendService, De as useCurrentUser, K as utcToLocalString, l as utcToString, be as vTooltip, ue as writeFilterParams };
@@ -1,4 +1,246 @@
1
- //#region src/utils/ipUtils.ts
2
- var e = (e) => /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/.test(e);
1
+ import e from "./admins-components6.js";
2
+ import t from "./admins-components67.js";
3
+ import n from "./admins-components70.js";
4
+ import r from "./admins-components74.js";
5
+ import { getDefaultPaginator as i } from "./admins-components77.js";
6
+ import a from "./admins-components79.js";
7
+ import { getDefaultSort as o } from "./admins-components80.js";
8
+ import s from "./admins-components82.js";
9
+ import { getDefaultFilters as c } from "./admins-components84.js";
10
+ import l from "./admins-components90.js";
11
+ import u from "./admins-components93.js";
12
+ import d from "./admins-components96.js";
13
+ import { getDefaultSearch as f } from "./admins-components97.js";
14
+ import p from "./admins-components99.js";
15
+ import { computed as m, createBlock as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createVNode as y, defineComponent as b, mergeDefaults as x, mergeProps as S, onBeforeUnmount as C, onMounted as w, openBlock as T, ref as E } from "vue";
16
+ //#region src/components/data-table/DataList.vue?vue&type=script&setup=true&lang.ts
17
+ var ee = { class: "ac-component" }, D = { class: "c-data-list__toolbar" }, O = {
18
+ key: 2,
19
+ class: "flex-center gap-1 flex-center-wrap-on-mobile"
20
+ }, k = { class: "flex-center ml-auto nowrap" }, A = {
21
+ layoutBreakpoint: 768,
22
+ orderable: !0,
23
+ loading: !1,
24
+ useSearch: !0,
25
+ useFilters: !0,
26
+ handleUrl: !1
27
+ };
28
+ function j(e, t) {
29
+ let n = i(t), r = o(), a = f(), s = c(e, t, !0);
30
+ return {
31
+ ...n,
32
+ ...r,
33
+ ...a,
34
+ ...s
35
+ };
36
+ }
37
+ var M = /* @__PURE__ */ b({
38
+ __name: "DataList",
39
+ props: /* @__PURE__ */ x({
40
+ config: {},
41
+ items: {},
42
+ settings: {},
43
+ id: {},
44
+ layoutBreakpoint: {},
45
+ orderable: { type: Boolean },
46
+ pagination: {},
47
+ loading: { type: Boolean },
48
+ handleUrl: { type: Boolean },
49
+ useSearch: { type: Boolean },
50
+ useFilters: { type: Boolean },
51
+ searchConfig: {},
52
+ filterConfig: {}
53
+ }, {
54
+ ...A,
55
+ searchConfig: void 0,
56
+ filterConfig: void 0
57
+ }),
58
+ emits: [
59
+ "filter-change",
60
+ "selection-change",
61
+ "settings-change",
62
+ "pagination-change",
63
+ "sort-change",
64
+ "search-change"
65
+ ],
66
+ setup(i, { expose: f, emit: b }) {
67
+ let x = E(null), A = i;
68
+ function j(e) {
69
+ let t = A[e];
70
+ return t && Object.hasOwn(t, "handleUrl") ? t.handleUrl : A.handleUrl;
71
+ }
72
+ let M = m(() => ({
73
+ ...A.searchConfig,
74
+ handleUrl: j("searchConfig")
75
+ })), N = m(() => ({
76
+ ...A.filterConfig,
77
+ handleUrl: j("filterConfig")
78
+ })), P = b, F = E(!1), I = E(!1), L = E(null), R = E(!1), z = E(null), B = E(!1), V = E(A.filterConfig?.items ? c(A.filterConfig.items, A.id, !1) : {}), H = null;
79
+ w(() => {
80
+ H = new ResizeObserver((e) => {
81
+ R.value = (e[0]?.contentRect.width ?? 0) < A.layoutBreakpoint;
82
+ }), z.value && H.observe(z.value);
83
+ }), C(() => H?.disconnect());
84
+ let U = m(() => {
85
+ let e = L.value?.layout;
86
+ return e === "table" || e === "cards" ? e : R.value ? "cards" : "table";
87
+ }), W = m(() => {
88
+ if (!L.value) return A.config;
89
+ let e = L.value.columnOrder, t = A.config.columns.map((e) => ({
90
+ ...e,
91
+ visible: L.value.columns[e.property] ?? e.visible !== !1
92
+ }));
93
+ return e?.length && t.sort((t, n) => {
94
+ let r = e.indexOf(t.property), i = e.indexOf(n.property);
95
+ return (r === -1 ? 999 : r) - (i === -1 ? 999 : i);
96
+ }), {
97
+ ...A.config,
98
+ columns: t
99
+ };
100
+ });
101
+ function G(e) {
102
+ L.value = e, P("settings-change", e);
103
+ }
104
+ f({
105
+ openOptions: () => F.value = !0,
106
+ closeOptions: () => F.value = !1,
107
+ openFilters: () => B.value = !0,
108
+ closeFilters: () => B.value = !1
109
+ });
110
+ async function K(e) {
111
+ B.value = !0, setTimeout(() => {
112
+ x.value?.focusFilter(e);
113
+ }, 300);
114
+ }
115
+ function q(e) {
116
+ V.value = e.values, P("filter-change", e.transformed);
117
+ }
118
+ let J = m(() => Object.values(V.value).filter((e) => e != null && e !== "").length), Y = m(() => !!A.pagination && (A.items.length > 0 || !A.loading)), X = (e) => {
119
+ P("search-change", e);
120
+ }, Z = m(() => A.config.columns.filter((e) => e.sort).map((e) => ({
121
+ value: e.property,
122
+ label: e.label
123
+ }))), Q = E(A.handleUrl ? o() : null), $ = (e) => {
124
+ Q.value = e, P("sort-change", e);
125
+ };
126
+ return (o, c) => (T(), _("div", ee, [v("div", {
127
+ ref_key: "root",
128
+ ref: z,
129
+ class: "c-data-list"
130
+ }, [
131
+ v("div", D, [
132
+ i.useSearch ? (T(), h(p, S({ key: 0 }, M.value, { onSearchChange: X }), null, 16)) : g("", !0),
133
+ i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), h(e, {
134
+ key: 1,
135
+ label: "Szűrők",
136
+ icon: "fa-solid fa-filter",
137
+ onClick: c[0] ||= (e) => B.value = !0,
138
+ style: { "flex-shrink": "0" },
139
+ type: J.value > 0 ? "info" : "normal",
140
+ indicator: J.value > 0 ? J.value : void 0
141
+ }, null, 8, ["type", "indicator"])) : g("", !0),
142
+ i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), _("div", O, [y(u, {
143
+ filters: V.value,
144
+ items: i.filterConfig.items,
145
+ onRemove: c[1] ||= (e) => x.value?.clearFilter(e),
146
+ onOpenFilter: K
147
+ }, null, 8, ["filters", "items"])])) : g("", !0),
148
+ v("div", k, [
149
+ Z.value.length > 0 ? (T(), h(s, {
150
+ key: 0,
151
+ modelValue: Q.value,
152
+ "onUpdate:modelValue": c[2] ||= (e) => Q.value = e,
153
+ options: Z.value,
154
+ "handle-url": i.handleUrl,
155
+ onSortChange: $
156
+ }, null, 8, [
157
+ "modelValue",
158
+ "options",
159
+ "handle-url"
160
+ ])) : g("", !0),
161
+ y(e, {
162
+ icon: "fa-solid fa-gear",
163
+ class: "lh-normal settings-btn",
164
+ onClick: c[3] ||= (e) => F.value = !0
165
+ }),
166
+ y(e, {
167
+ icon: "fa-solid fa-question",
168
+ class: "lh-normal",
169
+ onClick: c[4] ||= (e) => I.value = !0
170
+ })
171
+ ])
172
+ ]),
173
+ i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), h(l, S({
174
+ key: 0,
175
+ ref_key: "dataFiltersRef",
176
+ ref: x
177
+ }, N.value, {
178
+ "storage-key": i.id,
179
+ open: B.value,
180
+ onClose: c[5] ||= (e) => B.value = !1,
181
+ onChange: q
182
+ }), null, 16, ["storage-key", "open"])) : g("", !0),
183
+ y(d, {
184
+ open: I.value,
185
+ onClose: c[6] ||= (e) => I.value = !1
186
+ }, null, 8, ["open"]),
187
+ U.value === "table" ? (T(), h(t, {
188
+ key: 1,
189
+ config: W.value,
190
+ loading: i.loading,
191
+ items: i.items,
192
+ settings: L.value ?? void 0,
193
+ "initial-sort": Q.value,
194
+ onFilterChange: c[7] ||= (e) => P("filter-change", e),
195
+ onSelectionChange: c[8] ||= (e) => P("selection-change", e),
196
+ onSortChange: $
197
+ }, null, 8, [
198
+ "config",
199
+ "loading",
200
+ "items",
201
+ "settings",
202
+ "initial-sort"
203
+ ])) : (T(), h(n, {
204
+ key: 2,
205
+ config: W.value,
206
+ loading: i.loading,
207
+ items: i.items,
208
+ settings: L.value ?? void 0,
209
+ onSelectionChange: c[9] ||= (e) => P("selection-change", e)
210
+ }, null, 8, [
211
+ "config",
212
+ "loading",
213
+ "items",
214
+ "settings"
215
+ ])),
216
+ i.pagination && Y.value ? (T(), h(a, {
217
+ key: 3,
218
+ settings: i.pagination,
219
+ "storage-key": i.id,
220
+ "handle-url": i.handleUrl,
221
+ "onUpdate:pagination": c[10] ||= (e) => P("pagination-change", e)
222
+ }, null, 8, [
223
+ "settings",
224
+ "storage-key",
225
+ "handle-url"
226
+ ])) : g("", !0),
227
+ y(r, {
228
+ open: F.value,
229
+ columns: i.config.columns,
230
+ settings: i.settings ?? {},
231
+ "storage-key": i.id,
232
+ orderable: i.orderable,
233
+ onClose: c[11] ||= (e) => F.value = !1,
234
+ onChange: G
235
+ }, null, 8, [
236
+ "open",
237
+ "columns",
238
+ "settings",
239
+ "storage-key",
240
+ "orderable"
241
+ ])
242
+ ], 512)]));
243
+ }
244
+ });
3
245
  //#endregion
4
- export { e as isIpInUrl };
246
+ export { A as dataListDefaults, M as default, j as getDefaultFetchData };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components100.js","names":[],"sources":["../src/utils/ipUtils.ts"],"sourcesContent":["export const isIpInUrl = (url: string) => {\n const ipv4Regex =\n /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/\n\n return ipv4Regex.test(url)\n}\n"],"mappings":";AAAA,IAAa,KAAa,MAIjB,iKAAU,KAAK,CAAG"}
1
+ {"version":3,"file":"admins-components100.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"root\" class=\"c-data-list\">\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'info' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"flex-center ml-auto nowrap\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n @click=\"showOptions = true\"\n />\n <Button icon=\"fa-solid fa-question\" class=\"lh-normal\" @click=\"showGuide = true\" />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n />\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n />\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":"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"}
@@ -1,53 +1,7 @@
1
- //#region src/directives/tooltip.ts
2
- function e() {
3
- let e = document.createElement("div");
4
- return e.className = "v-tooltip ac-component", e.style.position = "fixed", e.style.zIndex = "9999999", e.style.opacity = "0", e.style.pointerEvents = "none", e.style.transition = "opacity 0.15s", e;
5
- }
6
- function t(e, t) {
7
- let n = window.innerWidth, r = window.innerHeight;
8
- e.style.maxWidth = `min(${n - 16}px, 300px)`;
9
- let i = e.getBoundingClientRect(), a = i.width, o = i.height, s = t.clientX + 12, c = t.clientY + 18;
10
- s + a > n - 8 && (s = t.clientX - a - 12), c + o > r - 8 && (c = t.clientY - o - 12), s = Math.max(8, Math.min(s, n - a - 8)), c = Math.max(8, Math.min(c, r - o - 8)), e.style.left = `${s}px`, e.style.top = `${c}px`;
11
- }
12
- function n(e, t, n) {
13
- n ? e.innerHTML = t : e.textContent = t;
14
- }
15
- var r = {
16
- mounted(r, i) {
17
- let a = e();
18
- n(a, i.value, !!i.modifiers.html), document.body.appendChild(a);
19
- let o = null, s = null, c = null, l = (e) => {
20
- c = e;
21
- }, u = (e) => {
22
- c = e, s &&= (clearTimeout(s), null), o = setTimeout(() => {
23
- t(a, c ?? e), a.style.opacity = "1";
24
- }, 400);
25
- }, d = () => {
26
- c = null, o &&= (clearTimeout(o), null), s = setTimeout(() => {
27
- a.style.opacity = "0";
28
- }, 50);
29
- }, f = (e) => {
30
- o &&= (clearTimeout(o), null), s &&= (clearTimeout(s), null), a.style.opacity === "1" ? a.style.opacity = "0" : (t(a, e), a.style.opacity = "1");
31
- }, p = () => {
32
- o &&= (clearTimeout(o), null), a.style.opacity = "0";
33
- };
34
- r.addEventListener("mouseenter", u), r.addEventListener("mousemove", l), r.addEventListener("mouseleave", d), r.addEventListener("click", f), window.addEventListener("scroll", p, !0), r._tooltip = {
35
- el: a,
36
- showTimeout: o,
37
- hideTimeout: s,
38
- onEnter: u,
39
- onMove: l,
40
- onLeave: d,
41
- onClick: f,
42
- onScroll: p
43
- };
44
- },
45
- updated(e, t) {
46
- e._tooltip && n(e._tooltip.el, t.value, !!t.modifiers.html);
47
- },
48
- unmounted(e) {
49
- e._tooltip &&= (e.removeEventListener("mouseenter", e._tooltip.onEnter), e.removeEventListener("mousemove", e._tooltip.onMove), e.removeEventListener("mouseleave", e._tooltip.onLeave), e.removeEventListener("click", e._tooltip.onClick), window.removeEventListener("scroll", e._tooltip.onScroll, !0), e._tooltip.el.remove(), void 0);
50
- }
51
- };
1
+ import './src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css';
2
+ import e from "./admins-components100.js";
3
+ /* empty css */
4
+ //#region src/components/data-table/DataList.vue
5
+ var t = e;
52
6
  //#endregion
53
- export { r as vTooltip };
7
+ export { t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components102.js","names":[],"sources":["../src/directives/tooltip.ts"],"sourcesContent":["import type { Directive, DirectiveBinding } from 'vue'\n\ninterface TooltipEl extends HTMLElement {\n _tooltip?: {\n el: HTMLElement\n showTimeout: ReturnType<typeof setTimeout> | null\n hideTimeout: ReturnType<typeof setTimeout> | null\n onEnter: (e: MouseEvent) => void\n onMove: (e: MouseEvent) => void\n onLeave: () => void\n onClick: (e: MouseEvent) => void\n onScroll: () => void\n }\n}\n\nfunction createTooltipEl(): HTMLElement {\n const el = document.createElement('div')\n el.className = 'v-tooltip ac-component'\n el.style.position = 'fixed'\n el.style.zIndex = '9999999'\n el.style.opacity = '0'\n el.style.pointerEvents = 'none'\n el.style.transition = 'opacity 0.15s'\n return el\n}\n\nfunction position(tooltip: HTMLElement, e: MouseEvent) {\n const offsetX = 12\n const offsetY = 18\n const edge = 8\n const vw = window.innerWidth\n const vh = window.innerHeight\n\n tooltip.style.maxWidth = `min(${vw - 2 * edge}px, 300px)`\n\n const rect = tooltip.getBoundingClientRect()\n const w = rect.width\n const h = rect.height\n\n let x = e.clientX + offsetX\n let y = e.clientY + offsetY\n\n if (x + w > vw - edge) {\n x = e.clientX - w - offsetX\n }\n if (y + h > vh - edge) {\n y = e.clientY - h - offsetX\n }\n\n x = Math.max(edge, Math.min(x, vw - w - edge))\n y = Math.max(edge, Math.min(y, vh - h - edge))\n\n tooltip.style.left = `${x}px`\n tooltip.style.top = `${y}px`\n}\n\nfunction setContent(tooltip: HTMLElement, value: string, html: boolean) {\n if (html) {\n tooltip.innerHTML = value\n } else {\n tooltip.textContent = value\n }\n}\n\nexport const vTooltip: Directive = {\n mounted(el: TooltipEl, binding: DirectiveBinding<string>) {\n const tooltip = createTooltipEl()\n setContent(tooltip, binding.value, !!binding.modifiers.html)\n document.body.appendChild(tooltip)\n\n let showTimeout: ReturnType<typeof setTimeout> | null = null\n let hideTimeout: ReturnType<typeof setTimeout> | null = null\n let lastEvent: MouseEvent | null = null\n\n const onMove = (e: MouseEvent) => {\n lastEvent = e\n }\n\n const onEnter = (e: MouseEvent) => {\n lastEvent = e\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = null\n }\n showTimeout = setTimeout(() => {\n position(tooltip, lastEvent ?? e)\n tooltip.style.opacity = '1'\n }, 400)\n }\n\n const onLeave = () => {\n lastEvent = null\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n hideTimeout = setTimeout(() => {\n tooltip.style.opacity = '0'\n }, 50)\n }\n\n const onClick = (e: MouseEvent) => {\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = null\n }\n if (tooltip.style.opacity === '1') {\n tooltip.style.opacity = '0'\n } else {\n position(tooltip, e)\n tooltip.style.opacity = '1'\n }\n }\n\n const onScroll = () => {\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n tooltip.style.opacity = '0'\n }\n\n el.addEventListener('mouseenter', onEnter)\n el.addEventListener('mousemove', onMove)\n el.addEventListener('mouseleave', onLeave)\n el.addEventListener('click', onClick)\n window.addEventListener('scroll', onScroll, true)\n\n el._tooltip = {\n el: tooltip,\n showTimeout,\n hideTimeout,\n onEnter,\n onMove,\n onLeave,\n onClick,\n onScroll,\n }\n },\n\n updated(el: TooltipEl, binding: DirectiveBinding<string>) {\n if (el._tooltip) {\n setContent(el._tooltip.el, binding.value, !!binding.modifiers.html)\n }\n },\n\n unmounted(el: TooltipEl) {\n if (el._tooltip) {\n el.removeEventListener('mouseenter', el._tooltip.onEnter)\n el.removeEventListener('mousemove', el._tooltip.onMove)\n el.removeEventListener('mouseleave', el._tooltip.onLeave)\n el.removeEventListener('click', el._tooltip.onClick)\n window.removeEventListener('scroll', el._tooltip.onScroll, true)\n el._tooltip.el.remove()\n el._tooltip = undefined\n }\n },\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components102.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"root\" class=\"c-data-list\">\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'info' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"flex-center ml-auto nowrap\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n @click=\"showOptions = true\"\n />\n <Button icon=\"fa-solid fa-question\" class=\"lh-normal\" @click=\"showGuide = true\" />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n />\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n />\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":""}
@@ -1,83 +1,4 @@
1
- import { joinUrl as e } from "./admins-components93.js";
2
- import { ref as t } from "vue";
3
- //#region src/services/createNativeFetch.ts
4
- function n(n) {
5
- return function(i) {
6
- let a = t(null), o = t(null), s = t(null), c = t(null), l = t(!1), u = t(!1), d = "GET", f, p = "json", m = null, h = {
7
- data: a,
8
- error: o,
9
- response: s,
10
- statusCode: c,
11
- isFetching: l,
12
- canAbort: u,
13
- get() {
14
- return d = "GET", h;
15
- },
16
- post(e) {
17
- return d = "POST", f = e, h;
18
- },
19
- put(e) {
20
- return d = "PUT", f = e, h;
21
- },
22
- patch(e) {
23
- return d = "PATCH", f = e, h;
24
- },
25
- delete(e) {
26
- return d = "DELETE", f = e, h;
27
- },
28
- json() {
29
- return p = "json", h;
30
- },
31
- text() {
32
- return p = "text", h;
33
- },
34
- abort() {
35
- m?.abort();
36
- },
37
- async execute() {
38
- m = new AbortController(), l.value = !0, u.value = !0, o.value = null, s.value = null, c.value = null;
39
- let t = {
40
- ...n.fetchOptions,
41
- method: d,
42
- signal: m.signal
43
- };
44
- f != null && d !== "GET" && (t.body = r(f) ? JSON.stringify(f.value) : JSON.stringify(f));
45
- let g = {
46
- url: e(n.baseUrl, i),
47
- options: t
48
- };
49
- try {
50
- n.options?.beforeFetch?.(g);
51
- let e = await fetch(g.url, g.options);
52
- s.value = e, c.value = e.status;
53
- let t = null;
54
- if (p === "text") t = await e.text();
55
- else {
56
- let n = await e.text();
57
- t = n ? JSON.parse(n) : null;
58
- }
59
- if (a.value = t, !e.ok) throw Error(e.statusText || `HTTP ${e.status}`);
60
- n.options?.afterFetch?.({
61
- data: t,
62
- response: e
63
- });
64
- } catch (e) {
65
- o.value = e, n.options?.onFetchError?.({
66
- error: e,
67
- response: s.value,
68
- data: a.value
69
- });
70
- } finally {
71
- l.value = !1, u.value = !1, m = null;
72
- }
73
- return h;
74
- }
75
- };
76
- return n.options?.immediate !== !1 && h.execute(), h;
77
- };
78
- }
79
- function r(e) {
80
- return !!e && typeof e == "object" && "value" in e;
81
- }
1
+ //#region src/utils/ipUtils.ts
2
+ var e = (e) => /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/.test(e);
82
3
  //#endregion
83
- export { n as createNativeFetch };
4
+ export { e as isIpInUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components103.js","names":[],"sources":["../src/services/createNativeFetch.ts"],"sourcesContent":["/* VueUse helyett */\nimport { ref, type Ref } from 'vue'\nimport { joinUrl } from '@/utils/url'\n\nexport type NativeUseFetchReturn<T = unknown> = {\n data: Ref<T | null>\n error: Ref<any>\n response: Ref<Response | null>\n statusCode: Ref<number | null>\n isFetching: Ref<boolean>\n canAbort: Ref<boolean>\n\n get: () => NativeUseFetchReturn<T>\n post: (payload?: unknown) => NativeUseFetchReturn<T>\n put: (payload?: unknown) => NativeUseFetchReturn<T>\n patch: (payload?: unknown) => NativeUseFetchReturn<T>\n delete: (payload?: unknown) => NativeUseFetchReturn<T>\n\n json: <R = T>() => NativeUseFetchReturn<R>\n text: () => NativeUseFetchReturn<string>\n\n execute: () => Promise<NativeUseFetchReturn<T>>\n abort: () => void\n}\n\nexport type CreateFetchOptions = {\n baseUrl: string\n fetchOptions?: RequestInit\n options?: {\n immediate?: boolean\n beforeFetch?: (ctx: { url: string; options: RequestInit }) => any\n afterFetch?: (ctx: { data: unknown; response: Response }) => any\n onFetchError?: (ctx: { error: any; response: Response | null; data: unknown }) => any\n }\n}\n\nexport function createNativeFetch(config: CreateFetchOptions) {\n return function useNativeFetch<T = unknown>(url: string): NativeUseFetchReturn<T> {\n const data = ref<T | null>(null) as Ref<T | null>\n const error = ref<any>(null)\n const response = ref<Response | null>(null)\n const statusCode = ref<number | null>(null)\n const isFetching = ref(false)\n const canAbort = ref(false)\n\n let method = 'GET'\n let payload: unknown = undefined\n let parser: 'json' | 'text' = 'json'\n let controller: AbortController | null = null\n\n const instance: NativeUseFetchReturn<T> = {\n data,\n error,\n response,\n statusCode,\n isFetching,\n canAbort,\n\n get() {\n method = 'GET'\n return instance\n },\n\n post(p?: unknown) {\n method = 'POST'\n payload = p\n return instance\n },\n\n put(p?: unknown) {\n method = 'PUT'\n payload = p\n return instance\n },\n\n patch(p?: unknown) {\n method = 'PATCH'\n payload = p\n return instance\n },\n\n delete(p?: unknown) {\n method = 'DELETE'\n payload = p\n return instance\n },\n\n json<R = T>() {\n parser = 'json'\n return instance as unknown as NativeUseFetchReturn<R>\n },\n\n text() {\n parser = 'text'\n return instance as unknown as NativeUseFetchReturn<string>\n },\n\n abort() {\n controller?.abort()\n },\n\n async execute() {\n controller = new AbortController()\n\n isFetching.value = true\n canAbort.value = true\n error.value = null\n response.value = null\n statusCode.value = null\n\n const requestOptions: RequestInit = {\n ...config.fetchOptions,\n method,\n signal: controller.signal,\n }\n\n if (payload !== undefined && payload !== null && method !== 'GET') {\n requestOptions.body = isRefLike(payload)\n ? JSON.stringify(payload.value)\n : JSON.stringify(payload)\n }\n\n const ctx = {\n url: joinUrl(config.baseUrl, url),\n options: requestOptions,\n }\n\n try {\n config.options?.beforeFetch?.(ctx)\n\n const res = await fetch(ctx.url, ctx.options)\n\n response.value = res\n statusCode.value = res.status\n\n let parsedData: unknown = null\n\n if (parser === 'text') {\n parsedData = await res.text()\n } else {\n const text = await res.text()\n parsedData = text ? JSON.parse(text) : null\n }\n\n data.value = parsedData as T\n\n if (!res.ok) {\n throw new Error(res.statusText || `HTTP ${res.status}`)\n }\n\n config.options?.afterFetch?.({\n data: parsedData,\n response: res,\n })\n } catch (e: any) {\n error.value = e\n\n config.options?.onFetchError?.({\n error: e,\n response: response.value,\n data: data.value,\n })\n } finally {\n isFetching.value = false\n canAbort.value = false\n controller = null\n }\n\n return instance\n },\n } satisfies NativeUseFetchReturn<T>\n\n if (config.options?.immediate !== false) {\n instance.execute()\n }\n\n return instance\n }\n}\n\nfunction isRefLike(value: unknown): value is Ref<unknown> {\n return !!value && typeof value === 'object' && 'value' in value\n}\n"],"mappings":";;;AAoCA,SAAgB,EAAkB,GAA4B;CAC5D,OAAO,SAAqC,GAAsC;EAChF,IAAM,IAAO,EAAc,IAAI,GACzB,IAAQ,EAAS,IAAI,GACrB,IAAW,EAAqB,IAAI,GACpC,IAAa,EAAmB,IAAI,GACpC,IAAa,EAAI,EAAK,GACtB,IAAW,EAAI,EAAK,GAEtB,IAAS,OACT,GACA,IAA0B,QAC1B,IAAqC,MAEnC,IAAoC;GACxC;GACA;GACA;GACA;GACA;GACA;GAEA,MAAM;IAEJ,OADA,IAAS,OACF;GACT;GAEA,KAAK,GAAa;IAGhB,OAFA,IAAS,QACT,IAAU,GACH;GACT;GAEA,IAAI,GAAa;IAGf,OAFA,IAAS,OACT,IAAU,GACH;GACT;GAEA,MAAM,GAAa;IAGjB,OAFA,IAAS,SACT,IAAU,GACH;GACT;GAEA,OAAO,GAAa;IAGlB,OAFA,IAAS,UACT,IAAU,GACH;GACT;GAEA,OAAc;IAEZ,OADA,IAAS,QACF;GACT;GAEA,OAAO;IAEL,OADA,IAAS,QACF;GACT;GAEA,QAAQ;IACN,GAAY,MAAM;GACpB;GAEA,MAAM,UAAU;IAOd,AANA,IAAa,IAAI,gBAAgB,GAEjC,EAAW,QAAQ,IACnB,EAAS,QAAQ,IACjB,EAAM,QAAQ,MACd,EAAS,QAAQ,MACjB,EAAW,QAAQ;IAEnB,IAAM,IAA8B;KAClC,GAAG,EAAO;KACV;KACA,QAAQ,EAAW;IACrB;IAEA,AAAI,KAAqC,QAAQ,MAAW,UAC1D,EAAe,OAAO,EAAU,CAAO,IACnC,KAAK,UAAU,EAAQ,KAAK,IAC5B,KAAK,UAAU,CAAO;IAG5B,IAAM,IAAM;KACV,KAAK,EAAQ,EAAO,SAAS,CAAG;KAChC,SAAS;IACX;IAEA,IAAI;KACF,EAAO,SAAS,cAAc,CAAG;KAEjC,IAAM,IAAM,MAAM,MAAM,EAAI,KAAK,EAAI,OAAO;KAG5C,AADA,EAAS,QAAQ,GACjB,EAAW,QAAQ,EAAI;KAEvB,IAAI,IAAsB;KAE1B,IAAI,MAAW,QACb,IAAa,MAAM,EAAI,KAAK;UACvB;MACL,IAAM,IAAO,MAAM,EAAI,KAAK;MAC5B,IAAa,IAAO,KAAK,MAAM,CAAI,IAAI;KACzC;KAIA,IAFA,EAAK,QAAQ,GAET,CAAC,EAAI,IACP,MAAU,MAAM,EAAI,cAAc,QAAQ,EAAI,QAAQ;KAGxD,EAAO,SAAS,aAAa;MAC3B,MAAM;MACN,UAAU;KACZ,CAAC;IACH,SAAS,GAAQ;KAGf,AAFA,EAAM,QAAQ,GAEd,EAAO,SAAS,eAAe;MAC7B,OAAO;MACP,UAAU,EAAS;MACnB,MAAM,EAAK;KACb,CAAC;IACH,UAAU;KAGR,AAFA,EAAW,QAAQ,IACnB,EAAS,QAAQ,IACjB,IAAa;IACf;IAEA,OAAO;GACT;EACF;EAMA,OAJI,EAAO,SAAS,cAAc,MAChC,EAAS,QAAQ,GAGZ;CACT;AACF;AAEA,SAAS,EAAU,GAAuC;CACxD,OAAO,CAAC,CAAC,KAAS,OAAO,KAAU,YAAY,WAAW;AAC5D"}
1
+ {"version":3,"file":"admins-components103.js","names":[],"sources":["../src/utils/ipUtils.ts"],"sourcesContent":["export const isIpInUrl = (url: string) => {\n const ipv4Regex =\n /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/\n\n return ipv4Regex.test(url)\n}\n"],"mappings":";AAAA,IAAa,KAAa,MAIjB,iKAAU,KAAK,CAAG"}