admins-components 9.0.27 → 9.0.29

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 (322) hide show
  1. package/README.md +4 -22
  2. package/dist/admins-components.js +53 -52
  3. package/dist/admins-components100.js +79 -249
  4. package/dist/admins-components100.js.map +1 -1
  5. package/dist/admins-components101.js +112 -26
  6. package/dist/admins-components101.js.map +1 -1
  7. package/dist/admins-components102.js +45 -26
  8. package/dist/admins-components102.js.map +1 -1
  9. package/dist/admins-components103.js +102 -168
  10. package/dist/admins-components103.js.map +1 -1
  11. package/dist/admins-components104.js +17 -65
  12. package/dist/admins-components104.js.map +1 -1
  13. package/dist/admins-components105.js +6 -66
  14. package/dist/admins-components105.js.map +1 -1
  15. package/dist/admins-components106.js +247 -25
  16. package/dist/admins-components106.js.map +1 -1
  17. package/dist/admins-components107.js +27 -16
  18. package/dist/admins-components107.js.map +1 -1
  19. package/dist/admins-components108.js +26 -25
  20. package/dist/admins-components108.js.map +1 -1
  21. package/dist/admins-components109.js +171 -8
  22. package/dist/admins-components109.js.map +1 -1
  23. package/dist/admins-components110.js +67 -3
  24. package/dist/admins-components110.js.map +1 -1
  25. package/dist/admins-components111.js +67 -3
  26. package/dist/admins-components111.js.map +1 -1
  27. package/dist/admins-components112.js +30 -3
  28. package/dist/admins-components112.js.map +1 -1
  29. package/dist/admins-components113.js +15 -20
  30. package/dist/admins-components113.js.map +1 -1
  31. package/dist/admins-components114.js +27 -14
  32. package/dist/admins-components114.js.map +1 -1
  33. package/dist/admins-components115.js +8 -7
  34. package/dist/admins-components115.js.map +1 -1
  35. package/dist/admins-components116.js +4 -13
  36. package/dist/admins-components116.js.map +1 -1
  37. package/dist/admins-components117.js +3 -26
  38. package/dist/admins-components117.js.map +1 -1
  39. package/dist/admins-components118.js +3 -83
  40. package/dist/admins-components118.js.map +1 -1
  41. package/dist/admins-components119.js +19 -9
  42. package/dist/admins-components119.js.map +1 -1
  43. package/dist/admins-components120.js +14 -5
  44. package/dist/admins-components120.js.map +1 -1
  45. package/dist/admins-components121.js +7 -7
  46. package/dist/admins-components121.js.map +1 -1
  47. package/dist/admins-components122.js +12 -6
  48. package/dist/admins-components122.js.map +1 -1
  49. package/dist/admins-components123.js +25 -5
  50. package/dist/admins-components123.js.map +1 -1
  51. package/dist/admins-components124.js +82 -14
  52. package/dist/admins-components124.js.map +1 -1
  53. package/dist/admins-components125.js +10 -12
  54. package/dist/admins-components125.js.map +1 -1
  55. package/dist/admins-components126.js +5 -30
  56. package/dist/admins-components126.js.map +1 -1
  57. package/dist/admins-components127.js +7 -3
  58. package/dist/admins-components127.js.map +1 -1
  59. package/dist/admins-components128.js +7 -29
  60. package/dist/admins-components128.js.map +1 -1
  61. package/dist/admins-components129.js +3 -2
  62. package/dist/admins-components129.js.map +1 -1
  63. package/dist/admins-components130.js +12 -2
  64. package/dist/admins-components130.js.map +1 -1
  65. package/dist/admins-components131.js +12 -7
  66. package/dist/admins-components131.js.map +1 -1
  67. package/dist/admins-components132.js +30 -74
  68. package/dist/admins-components132.js.map +1 -1
  69. package/dist/admins-components133.js +4 -29
  70. package/dist/admins-components133.js.map +1 -1
  71. package/dist/admins-components134.js +27 -57
  72. package/dist/admins-components134.js.map +1 -1
  73. package/dist/admins-components135.js +5 -24
  74. package/dist/admins-components135.js.map +1 -1
  75. package/dist/admins-components136.js +5 -50
  76. package/dist/admins-components136.js.map +1 -1
  77. package/dist/admins-components137.js +7 -30
  78. package/dist/admins-components137.js.map +1 -1
  79. package/dist/admins-components138.js +74 -3
  80. package/dist/admins-components138.js.map +1 -1
  81. package/dist/admins-components139.js +27 -177
  82. package/dist/admins-components139.js.map +1 -1
  83. package/dist/admins-components140.js +58 -45
  84. package/dist/admins-components140.js.map +1 -1
  85. package/dist/admins-components141.js +23 -36
  86. package/dist/admins-components141.js.map +1 -1
  87. package/dist/admins-components142.js +46 -42
  88. package/dist/admins-components142.js.map +1 -1
  89. package/dist/admins-components143.js +28 -138
  90. package/dist/admins-components143.js.map +1 -1
  91. package/dist/admins-components144.js +3 -58
  92. package/dist/admins-components144.js.map +1 -1
  93. package/dist/admins-components145.js +178 -6
  94. package/dist/admins-components145.js.map +1 -1
  95. package/dist/admins-components146.js +45 -5
  96. package/dist/admins-components146.js.map +1 -1
  97. package/dist/admins-components147.js +37 -76
  98. package/dist/admins-components147.js.map +1 -1
  99. package/dist/admins-components148.js +45 -28
  100. package/dist/admins-components148.js.map +1 -1
  101. package/dist/admins-components149.js +129 -1919
  102. package/dist/admins-components149.js.map +1 -1
  103. package/dist/admins-components15.js +8 -42
  104. package/dist/admins-components15.js.map +1 -1
  105. package/dist/admins-components150.js +54 -24807
  106. package/dist/admins-components150.js.map +1 -1
  107. package/dist/admins-components151.js +6 -8
  108. package/dist/admins-components151.js.map +1 -1
  109. package/dist/admins-components152.js +6 -7
  110. package/dist/admins-components152.js.map +1 -0
  111. package/dist/admins-components153.js +76 -142
  112. package/dist/admins-components153.js.map +1 -1
  113. package/dist/admins-components154.js +28 -8
  114. package/dist/admins-components154.js.map +1 -1
  115. package/dist/admins-components155.js +1930 -8
  116. package/dist/admins-components155.js.map +1 -1
  117. package/dist/admins-components156.js +24812 -0
  118. package/dist/admins-components156.js.map +1 -0
  119. package/dist/admins-components157.js +8 -167
  120. package/dist/admins-components157.js.map +1 -1
  121. package/dist/admins-components158.js +7 -51
  122. package/dist/admins-components159.js +141 -8
  123. package/dist/admins-components159.js.map +1 -1
  124. package/dist/admins-components16.js +89 -4
  125. package/dist/admins-components16.js.map +1 -1
  126. package/dist/admins-components160.js +8 -49
  127. package/dist/admins-components160.js.map +1 -1
  128. package/dist/admins-components161.js +9 -6
  129. package/dist/admins-components161.js.map +1 -1
  130. package/dist/admins-components163.js +160 -50
  131. package/dist/admins-components163.js.map +1 -1
  132. package/dist/admins-components164.js +34 -42
  133. package/dist/admins-components164.js.map +1 -1
  134. package/dist/admins-components165.js +3 -3
  135. package/dist/admins-components165.js.map +1 -1
  136. package/dist/admins-components166.js +18 -20
  137. package/dist/admins-components166.js.map +1 -1
  138. package/dist/admins-components167.js +6 -9
  139. package/dist/admins-components167.js.map +1 -1
  140. package/dist/{admins-components162.js → admins-components168.js} +3 -3
  141. package/dist/{admins-components162.js.map → admins-components168.js.map} +1 -1
  142. package/dist/admins-components169.js +51 -51
  143. package/dist/admins-components169.js.map +1 -1
  144. package/dist/admins-components17.js +4 -94
  145. package/dist/admins-components17.js.map +1 -1
  146. package/dist/admins-components170.js +60 -0
  147. package/dist/admins-components170.js.map +1 -0
  148. package/dist/admins-components171.js +10 -0
  149. package/dist/admins-components171.js.map +1 -0
  150. package/dist/admins-components172.js +53 -0
  151. package/dist/admins-components172.js.map +1 -0
  152. package/dist/admins-components173.js +10 -0
  153. package/dist/admins-components173.js.map +1 -0
  154. package/dist/admins-components175.js +59 -0
  155. package/dist/admins-components175.js.map +1 -0
  156. package/dist/admins-components18.js +37 -239
  157. package/dist/admins-components18.js.map +1 -1
  158. package/dist/admins-components19.js +1 -2
  159. package/dist/admins-components19.js.map +1 -1
  160. package/dist/admins-components20.js +91 -179
  161. package/dist/admins-components20.js.map +1 -1
  162. package/dist/admins-components21.js +245 -0
  163. package/dist/admins-components21.js.map +1 -0
  164. package/dist/admins-components22.js +3 -4
  165. package/dist/admins-components22.js.map +1 -1
  166. package/dist/admins-components23.js +172 -68
  167. package/dist/admins-components23.js.map +1 -1
  168. package/dist/admins-components25.js +6 -58
  169. package/dist/admins-components25.js.map +1 -1
  170. package/dist/admins-components26.js +79 -0
  171. package/dist/{admins-components24.js.map → admins-components26.js.map} +1 -1
  172. package/dist/admins-components27.js +3 -3
  173. package/dist/admins-components27.js.map +1 -1
  174. package/dist/admins-components28.js +50 -64
  175. package/dist/admins-components28.js.map +1 -1
  176. package/dist/admins-components29.js +75 -0
  177. package/dist/admins-components29.js.map +1 -0
  178. package/dist/admins-components31.js +6 -39
  179. package/dist/admins-components31.js.map +1 -1
  180. package/dist/admins-components32.js +66 -0
  181. package/dist/admins-components32.js.map +1 -0
  182. package/dist/admins-components34.js +6 -36
  183. package/dist/admins-components34.js.map +1 -1
  184. package/dist/admins-components35.js +39 -4
  185. package/dist/admins-components35.js.map +1 -1
  186. package/dist/{admins-components33.js → admins-components37.js} +1 -1
  187. package/dist/{admins-components33.js.map → admins-components37.js.map} +1 -1
  188. package/dist/admins-components38.js +36 -6
  189. package/dist/admins-components38.js.map +1 -1
  190. package/dist/admins-components39.js +4 -146
  191. package/dist/admins-components39.js.map +1 -1
  192. package/dist/{admins-components36.js.map → admins-components40.js.map} +1 -1
  193. package/dist/admins-components42.js +6 -124
  194. package/dist/admins-components42.js.map +1 -1
  195. package/dist/admins-components43.js +146 -4
  196. package/dist/admins-components43.js.map +1 -1
  197. package/dist/admins-components45.js +4 -2
  198. package/dist/admins-components45.js.map +1 -1
  199. package/dist/admins-components46.js +120 -15
  200. package/dist/admins-components46.js.map +1 -1
  201. package/dist/admins-components47.js +5 -0
  202. package/dist/admins-components47.js.map +1 -0
  203. package/dist/admins-components48.js +179 -6
  204. package/dist/admins-components48.js.map +1 -1
  205. package/dist/admins-components49.js +4 -54
  206. package/dist/admins-components49.js.map +1 -1
  207. package/dist/admins-components50.js +15 -89
  208. package/dist/admins-components50.js.map +1 -1
  209. package/dist/admins-components52.js +2 -2
  210. package/dist/admins-components52.js.map +1 -1
  211. package/dist/admins-components53.js +52 -23
  212. package/dist/admins-components53.js.map +1 -1
  213. package/dist/admins-components54.js +93 -9
  214. package/dist/admins-components54.js.map +1 -1
  215. package/dist/admins-components56.js +6 -73
  216. package/dist/admins-components56.js.map +1 -1
  217. package/dist/admins-components57.js +24 -65
  218. package/dist/admins-components57.js.map +1 -1
  219. package/dist/admins-components58.js +9 -4
  220. package/dist/admins-components58.js.map +1 -1
  221. package/dist/admins-components59.js +19 -138
  222. package/dist/admins-components59.js.map +1 -1
  223. package/dist/admins-components60.js +74 -0
  224. package/dist/admins-components60.js.map +1 -0
  225. package/dist/admins-components61.js +66 -7
  226. package/dist/admins-components61.js.map +1 -1
  227. package/dist/admins-components62.js +4 -170
  228. package/dist/admins-components62.js.map +1 -1
  229. package/dist/admins-components63.js +140 -0
  230. package/dist/admins-components63.js.map +1 -0
  231. package/dist/admins-components65.js +7 -7
  232. package/dist/admins-components65.js.map +1 -1
  233. package/dist/admins-components66.js +155 -259
  234. package/dist/admins-components66.js.map +1 -1
  235. package/dist/admins-components68.js +3 -2
  236. package/dist/admins-components68.js.map +1 -1
  237. package/dist/admins-components69.js +6 -119
  238. package/dist/admins-components69.js.map +1 -1
  239. package/dist/admins-components70.js +280 -0
  240. package/dist/admins-components70.js.map +1 -0
  241. package/dist/admins-components72.js +6 -59
  242. package/dist/admins-components72.js.map +1 -1
  243. package/dist/admins-components73.js +110 -207
  244. package/dist/admins-components73.js.map +1 -1
  245. package/dist/admins-components75.js +2 -2
  246. package/dist/admins-components75.js.map +1 -1
  247. package/dist/admins-components76.js +58 -7
  248. package/dist/admins-components76.js.map +1 -1
  249. package/dist/admins-components77.js +220 -51
  250. package/dist/admins-components77.js.map +1 -1
  251. package/dist/admins-components79.js +7 -0
  252. package/dist/admins-components79.js.map +1 -0
  253. package/dist/admins-components80.js +52 -6
  254. package/dist/admins-components80.js.map +1 -1
  255. package/dist/admins-components81.js +246 -32
  256. package/dist/admins-components81.js.map +1 -1
  257. package/dist/admins-components83.js +2 -2
  258. package/dist/admins-components83.js.map +1 -1
  259. package/dist/admins-components84.js +31 -192
  260. package/dist/admins-components84.js.map +1 -1
  261. package/dist/admins-components86.js +2 -2
  262. package/dist/admins-components86.js.map +1 -1
  263. package/dist/admins-components87.js +195 -184
  264. package/dist/admins-components87.js.map +1 -1
  265. package/dist/admins-components89.js +2 -2
  266. package/dist/admins-components89.js.map +1 -1
  267. package/dist/admins-components90.js +16 -3
  268. package/dist/admins-components90.js.map +1 -1
  269. package/dist/admins-components91.js +77 -16
  270. package/dist/admins-components91.js.map +1 -1
  271. package/dist/admins-components93.js +6 -52
  272. package/dist/admins-components93.js.map +1 -1
  273. package/dist/admins-components94.js +195 -81
  274. package/dist/admins-components94.js.map +1 -1
  275. package/dist/admins-components96.js +6 -47
  276. package/dist/admins-components96.js.map +1 -1
  277. package/dist/admins-components97.js +3 -106
  278. package/dist/admins-components97.js.map +1 -1
  279. package/dist/admins-components98.js +3 -20
  280. package/dist/admins-components98.js.map +1 -1
  281. package/dist/admins-components99.js +51 -6
  282. package/dist/admins-components99.js.map +1 -1
  283. package/dist/main.css +1 -1
  284. package/dist/main.css.map +1 -1
  285. package/dist/src/components/Checkbox.vue.d.ts +11 -1
  286. package/dist/src/components/TextInput.vue.d.ts +33 -0
  287. package/dist/src/components/data-table/DataFilters.vue.d.ts +7 -14
  288. package/dist/src/components/data-table/DataList.vue.d.ts +10 -7
  289. package/dist/src/components/data-table/DataSearch.vue.d.ts +26 -0
  290. package/dist/src/composables/useSwipeToClose.d.ts +50 -0
  291. package/dist/src/index.d.ts +5 -1
  292. package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  293. package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  294. package/dist/src/styles/components/data-table/data-paginator.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  295. package/dist/src/styles/components/data-table/data-search.scss_vue_type_style_index_0_src_true_lang.css +1 -0
  296. package/dist/src/styles/components/data-table/data-table.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  297. package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  298. package/dist/src/styles/components/image-picker.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  299. package/dist/src/styles/components/sidebar.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  300. package/dist/src/types/data-list.d.ts +0 -1
  301. package/package.json +1 -1
  302. package/dist/admins-components158.js.map +0 -1
  303. package/dist/admins-components24.js +0 -7
  304. package/dist/admins-components30.js +0 -7
  305. package/dist/admins-components30.js.map +0 -1
  306. package/dist/admins-components41.js +0 -7
  307. package/dist/admins-components41.js.map +0 -1
  308. package/dist/admins-components44.js +0 -180
  309. package/dist/admins-components44.js.map +0 -1
  310. package/dist/admins-components55.js +0 -20
  311. package/dist/admins-components55.js.map +0 -1
  312. package/dist/admins-components64.js +0 -8
  313. package/dist/admins-components64.js.map +0 -1
  314. package/dist/admins-components71.js +0 -7
  315. package/dist/admins-components71.js.map +0 -1
  316. package/dist/admins-components78.js +0 -276
  317. package/dist/admins-components78.js.map +0 -1
  318. package/dist/admins-components92.js +0 -4
  319. package/dist/admins-components92.js.map +0 -1
  320. package/dist/admins-components95.js +0 -114
  321. package/dist/admins-components95.js.map +0 -1
  322. /package/dist/{admins-components36.js → admins-components40.js} +0 -0
@@ -1,20 +1,125 @@
1
- import { createElementBlock as e, defineComponent as t, normalizeStyle as n, openBlock as r } from "vue";
2
- //#region src/components/Loader.vue?vue&type=script&setup=true&lang.ts
3
- var i = /* @__PURE__ */ t({
4
- __name: "Loader",
1
+ import e from "./admins-components25.js";
2
+ import t from "./admins-components45.js";
3
+ import { createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, openBlock as o, ref as s, watch as c } from "vue";
4
+ //#region src/components/custom/ExternalArticleOffer.vue?vue&type=script&setup=true&lang.ts
5
+ var l = { class: "ac-component" }, u = { class: "d-flex flex-column gap-2" }, d = { class: "c-input-row" }, f = ["value"], p = { class: "c-input-row" }, m = ["value"], h = { class: "c-input-row" }, g = ["value"], _ = /* @__PURE__ */ a({
6
+ __name: "ExternalArticleOffer",
5
7
  props: {
6
- loading: { type: Boolean },
7
- size: { default: "2rem" }
8
+ modelValue: {},
9
+ onArticleUrlChanged: { type: Function },
10
+ articleEditorUrl: {},
11
+ environment: {},
12
+ searchImageWidgetUrl: {},
13
+ imageBaseUrl: {},
14
+ imageViewId: {},
15
+ formats: {}
8
16
  },
9
- setup(t) {
10
- return (i, a) => (r(), e("div", {
11
- class: "loader",
12
- style: n({
13
- width: t.size,
14
- "--loader-thickness": `calc(${t.size} / 6)`
15
- })
16
- }, null, 4));
17
+ emits: ["update:modelValue"],
18
+ setup(a, { emit: _ }) {
19
+ let v = {
20
+ article: {
21
+ url: "",
22
+ imageUrl: "",
23
+ imageId: "",
24
+ title: "",
25
+ lead: ""
26
+ },
27
+ format: ""
28
+ }, y = _, b = a, x = s(v), S = s({
29
+ id: x.value.article.imageId,
30
+ url: "",
31
+ source: "",
32
+ title: "",
33
+ isAdult: !1
34
+ });
35
+ c(() => b.modelValue, (e) => {
36
+ e ? x.value = e : x.value = v;
37
+ }, {
38
+ deep: !0,
39
+ immediate: !0
40
+ }), c(() => x, (e) => {
41
+ y("update:modelValue", x.value), S.value.id = e.value.article.imageId, S.value.url = e.value.article.imageUrl;
42
+ }, {
43
+ deep: !0,
44
+ immediate: !0
45
+ }), c(() => S.value.id, (e) => {
46
+ x.value.article.imageId = e;
47
+ }, {
48
+ deep: !0,
49
+ immediate: !0
50
+ }), c(() => S.value.url, (e) => {
51
+ x.value.article.imageUrl = e;
52
+ }, {
53
+ deep: !0,
54
+ immediate: !0
55
+ });
56
+ let C = (e) => {
57
+ x.value.article.url = e.target?.value || "", x.value.article.url && b.onArticleUrlChanged(x.value.article.url, (e) => {
58
+ x.value.article = e;
59
+ });
60
+ };
61
+ return ((e) => {
62
+ if (!customElements.get("hvg-search-image") && !document.querySelector(`script[src="${e}"]`)) {
63
+ let t = document.createElement("script");
64
+ t.type = "text/javascript", t.src = e, document.head.appendChild(t);
65
+ }
66
+ })(b.searchImageWidgetUrl), (a, s) => (o(), n("div", l, [r("div", u, [
67
+ r("div", null, [s[4] ||= r("label", {
68
+ for: "articleUrl",
69
+ class: "c-label"
70
+ }, "Article URL", -1), r("div", d, [r("textarea", {
71
+ id: "articleUrl",
72
+ class: "c-input",
73
+ placeholder: "Article URL",
74
+ value: x.value.article.url,
75
+ onInput: C
76
+ }, null, 40, f)])]),
77
+ r("div", null, [s[5] ||= r("label", {
78
+ for: "articleTitle",
79
+ class: "c-label"
80
+ }, "Title", -1), r("div", p, [r("textarea", {
81
+ id: "articleTitle",
82
+ class: "c-input",
83
+ placeholder: "Article title",
84
+ value: x.value.article.title,
85
+ onInput: s[0] ||= (e) => x.value.article.title = e.target?.value || ""
86
+ }, null, 40, m)])]),
87
+ r("div", null, [s[6] ||= r("label", {
88
+ for: "articleLead",
89
+ class: "c-label"
90
+ }, "Lead", -1), r("div", h, [r("textarea", {
91
+ id: "articleLead",
92
+ class: "c-input",
93
+ placeholder: "Article lead / description",
94
+ value: x.value.article.lead,
95
+ onInput: s[1] ||= (e) => x.value.article.lead = e.target?.value || ""
96
+ }, null, 40, g)])]),
97
+ r("div", null, [i(t, {
98
+ modelValue: S.value,
99
+ "onUpdate:modelValue": s[2] ||= (e) => S.value = e,
100
+ details: !1,
101
+ editable: !1,
102
+ environment: b.environment,
103
+ "article-editor-url": b.articleEditorUrl,
104
+ "search-image-widget-url": b.searchImageWidgetUrl,
105
+ "image-base-url": b.imageBaseUrl,
106
+ "image-view-id": b.imageViewId
107
+ }, null, 8, [
108
+ "modelValue",
109
+ "environment",
110
+ "article-editor-url",
111
+ "search-image-widget-url",
112
+ "image-base-url",
113
+ "image-view-id"
114
+ ])]),
115
+ r("div", null, [s[7] ||= r("label", { class: "c-label" }, "Format", -1), i(e, {
116
+ modelValue: x.value.format,
117
+ "onUpdate:modelValue": s[3] ||= (e) => x.value.format = e,
118
+ options: b.formats,
119
+ config: { placeholder: "Select format..." }
120
+ }, null, 8, ["modelValue", "options"])])
121
+ ])]));
17
122
  }
18
123
  });
19
124
  //#endregion
20
- export { i as default };
125
+ export { _ as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components46.js","names":[],"sources":["../src/components/Loader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n loading: boolean\n size?: string\n }>(),\n {\n size: '2rem',\n },\n)\n</script>\n<template>\n <div class=\"loader\" :style=\"{ width: size, '--loader-thickness': `calc(${size} / 6)` }\"></div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/loader.scss\"></style>\n"],"mappings":";;;;;;;;;yBAYE,EAA8F,OAAA;GAAzF,OAAM;GAAU,OAAK,EAAA;IAAA,OAAW,EAAA;IAAI,sBAAA,QAAgC,EAAA,KAAI;GAAA,CAAA"}
1
+ {"version":3,"file":"admins-components46.js","names":[],"sources":["../src/components/custom/ExternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\n\nexport interface Article {\n url: string\n imageUrl: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface ExternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: ExternalArticleOfferModel = {\n article: {\n url: '',\n imageUrl: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: ExternalArticleOfferModel): void\n}>()\n\nconst props = defineProps<{\n modelValue?: ExternalArticleOfferModel\n onArticleUrlChanged: (url: string, callback: (article: Article) => void) => void\n articleEditorUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n formats: { label: string; value: string }[]\n}>()\n\nconst localModel = ref<ExternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId,\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n imageModel.value.url = newVal.value.article.imageUrl\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.url,\n (url) => {\n localModel.value.article.imageUrl = url\n },\n { deep: true, immediate: true },\n)\n\nconst onUrlChanged = (event: Event) => {\n localModel.value.article.url = (event.target as any)?.value || ''\n if (!localModel.value.article.url) return\n\n props.onArticleUrlChanged(localModel.value.article.url, (article) => {\n localModel.value.article = article\n })\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${url}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = url\n document.head.appendChild(script)\n }\n }\n}\n\naddScript(props.searchImageWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <label for=\"articleUrl\" class=\"c-label\">Article URL</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleUrl\"\n class=\"c-input\"\n placeholder=\"Article URL\"\n :value=\"localModel.article.url\"\n @input=\"onUrlChanged\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleLead\" class=\"c-label\">Lead</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleLead\"\n class=\"c-input\"\n placeholder=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.articleEditorUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import e from "./admins-components46.js";
2
+ //#region src/components/custom/ExternalArticleOffer.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admins-components47.js","names":[],"sources":["../src/components/custom/ExternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\n\nexport interface Article {\n url: string\n imageUrl: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface ExternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: ExternalArticleOfferModel = {\n article: {\n url: '',\n imageUrl: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: ExternalArticleOfferModel): void\n}>()\n\nconst props = defineProps<{\n modelValue?: ExternalArticleOfferModel\n onArticleUrlChanged: (url: string, callback: (article: Article) => void) => void\n articleEditorUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n formats: { label: string; value: string }[]\n}>()\n\nconst localModel = ref<ExternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId,\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n imageModel.value.url = newVal.value.article.imageUrl\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.url,\n (url) => {\n localModel.value.article.imageUrl = url\n },\n { deep: true, immediate: true },\n)\n\nconst onUrlChanged = (event: Event) => {\n localModel.value.article.url = (event.target as any)?.value || ''\n if (!localModel.value.article.url) return\n\n props.onArticleUrlChanged(localModel.value.article.url, (article) => {\n localModel.value.article = article\n })\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${url}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = url\n document.head.appendChild(script)\n }\n }\n}\n\naddScript(props.searchImageWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <label for=\"articleUrl\" class=\"c-label\">Article URL</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleUrl\"\n class=\"c-input\"\n placeholder=\"Article URL\"\n :value=\"localModel.article.url\"\n @input=\"onUrlChanged\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleLead\" class=\"c-label\">Lead</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleLead\"\n class=\"c-input\"\n placeholder=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.articleEditorUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -1,7 +1,180 @@
1
- import './src/styles/components/loader.scss_vue_type_style_index_0_src_true_lang.css';
2
- import e from "./admins-components46.js";
3
- /* empty css */
4
- //#region src/components/Loader.vue
5
- var t = e;
1
+ import e from "./admins-components6.js";
2
+ import t from "./admins-components25.js";
3
+ import n from "./admins-components37.js";
4
+ import r from "./admins-components45.js";
5
+ import { createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, onMounted as u, onUnmounted as d, openBlock as f, ref as p, watch as m, withCtx as h } from "vue";
6
+ //#region src/components/custom/InternalArticleOffer.vue?vue&type=script&setup=true&lang.ts
7
+ var g = { class: "ac-component" }, _ = { class: "d-flex flex-column gap-2" }, v = {
8
+ key: 0,
9
+ class: "flex gap-2"
10
+ }, y = { class: "c-input-row" }, b = ["value"], x = { class: "c-input-row" }, S = ["value"], C = { class: "c-input-row" }, w = ["value"], T = { class: "c-input-row" }, E = ["value"], D = ["id", "apiurl"], O = "00000000-0000-0000-0000-000000000000", k = /* @__PURE__ */ l({
11
+ __name: "InternalArticleOffer",
12
+ props: {
13
+ modelValue: {},
14
+ searchArticleApiUrl: {},
15
+ searchArticleWidgetUrl: {},
16
+ environment: {},
17
+ searchImageWidgetUrl: {},
18
+ imageBaseUrl: {},
19
+ imageViewId: {},
20
+ showIds: {
21
+ type: Boolean,
22
+ default: !0
23
+ },
24
+ formats: {}
25
+ },
26
+ emits: ["update:modelValue"],
27
+ setup(l, { emit: k }) {
28
+ let A = {
29
+ article: {
30
+ siteId: "",
31
+ id: "",
32
+ imageId: "",
33
+ title: "",
34
+ lead: ""
35
+ },
36
+ format: ""
37
+ }, j = k, M = l, N = p(A), P = p({
38
+ id: N.value.article.imageId || "",
39
+ url: "",
40
+ source: "",
41
+ title: "",
42
+ isAdult: !1
43
+ }), F = p(!1);
44
+ m(() => M.modelValue, (e) => {
45
+ e ? N.value = e : N.value = A;
46
+ }, {
47
+ deep: !0,
48
+ immediate: !0
49
+ }), m(() => N, (e) => {
50
+ j("update:modelValue", N.value), P.value.id = e.value.article.imageId;
51
+ }, {
52
+ deep: !0,
53
+ immediate: !0
54
+ }), m(() => P.value.id, (e) => {
55
+ N.value.article.imageId = e;
56
+ }, {
57
+ deep: !0,
58
+ immediate: !0
59
+ });
60
+ let I = p((/* @__PURE__ */ new Date()).getTime().toString() + "article");
61
+ d(() => {
62
+ window.removeEventListener("search_posts_selected", L);
63
+ }), u(() => {
64
+ window.addEventListener("search_posts_selected", L);
65
+ });
66
+ let L = (e) => {
67
+ if (e.detail.id == I.value) {
68
+ if (e.detail.result && e.detail.posts.length > 0) {
69
+ N.value.article.id = e.detail.posts[0].id, N.value.article.siteId = e.detail.posts[0].siteId, N.value.article.title = e.detail.posts[0].title, N.value.article.lead = e.detail.posts[0].lead;
70
+ let t = e.detail.posts[0].featuredImage;
71
+ N.value.article.imageId = t || O;
72
+ }
73
+ F.value = !1;
74
+ }
75
+ }, R = () => {
76
+ F.value = !0;
77
+ }, z = (e) => {
78
+ if (!customElements.get("search-posts-widget") && !document.querySelector(`script[src="${e}"]`)) {
79
+ let t = document.createElement("script");
80
+ t.type = "text/javascript", t.src = e, document.head.appendChild(t);
81
+ }
82
+ };
83
+ if (!customElements.get("hvg-search-image") && !document.querySelector(`script[src="${M.searchImageWidgetUrl}"]`)) {
84
+ let e = document.createElement("script");
85
+ e.type = "text/javascript", e.src = M.searchImageWidgetUrl, e.async = !0, document.head.appendChild(e);
86
+ }
87
+ return z(M.searchArticleWidgetUrl), (u, d) => (f(), o("div", g, [s("div", _, [
88
+ s("div", null, [c(e, {
89
+ type: "success",
90
+ label: "Cikk kiválasztása",
91
+ class: "nowrap",
92
+ onClick: R,
93
+ icon: "fa-solid fa-newspaper"
94
+ })]),
95
+ l.showIds ? (f(), o("div", v, [s("div", null, [d[5] ||= s("label", {
96
+ for: "articleId",
97
+ class: "c-label"
98
+ }, "Article ID", -1), s("div", y, [s("input", {
99
+ id: "articleId",
100
+ type: "text",
101
+ class: "c-input",
102
+ placeholder: "Article ID",
103
+ disabled: "",
104
+ value: N.value.article.id
105
+ }, null, 8, b)])]), s("div", null, [d[6] ||= s("label", {
106
+ for: "articleSiteId",
107
+ class: "c-label"
108
+ }, "Site ID", -1), s("div", x, [s("input", {
109
+ id: "articleSiteId",
110
+ type: "text",
111
+ class: "c-input",
112
+ placeholder: "Site ID",
113
+ disabled: "",
114
+ value: N.value.article.siteId
115
+ }, null, 8, S)])])])) : a("", !0),
116
+ s("div", null, [d[7] ||= s("label", {
117
+ for: "articleTitle",
118
+ class: "c-label"
119
+ }, "Title", -1), s("div", C, [s("textarea", {
120
+ id: "articleTitle",
121
+ class: "c-input",
122
+ placeholder: "Article title",
123
+ value: N.value.article.title,
124
+ onInput: d[0] ||= (e) => N.value.article.title = e.target?.value || ""
125
+ }, null, 40, w)])]),
126
+ s("div", null, [d[8] ||= s("label", {
127
+ for: "articleLead",
128
+ class: "c-label"
129
+ }, "Lead", -1), s("div", T, [s("textarea", {
130
+ id: "articleLead",
131
+ class: "c-input",
132
+ placeholder: "Article lead / description",
133
+ value: N.value.article.lead,
134
+ onInput: d[1] ||= (e) => N.value.article.lead = e.target?.value || ""
135
+ }, null, 40, E)])]),
136
+ d[10] ||= s("hr", { class: "separator" }, null, -1),
137
+ s("div", null, [c(r, {
138
+ modelValue: P.value,
139
+ "onUpdate:modelValue": d[2] ||= (e) => P.value = e,
140
+ details: !1,
141
+ editable: !1,
142
+ environment: M.environment,
143
+ "article-editor-url": M.searchArticleApiUrl,
144
+ "search-image-widget-url": M.searchImageWidgetUrl,
145
+ "image-base-url": M.imageBaseUrl,
146
+ "image-view-id": M.imageViewId
147
+ }, null, 8, [
148
+ "modelValue",
149
+ "environment",
150
+ "article-editor-url",
151
+ "search-image-widget-url",
152
+ "image-base-url",
153
+ "image-view-id"
154
+ ])]),
155
+ s("div", null, [d[9] ||= s("label", { class: "c-label" }, "Format", -1), c(t, {
156
+ modelValue: N.value.format,
157
+ "onUpdate:modelValue": d[3] ||= (e) => N.value.format = e,
158
+ options: M.formats,
159
+ config: { placeholder: "Select format..." }
160
+ }, null, 8, ["modelValue", "options"])]),
161
+ F.value ? (f(), i(n, {
162
+ key: 1,
163
+ title: "Search Article",
164
+ onClose: d[4] ||= (e) => F.value = !1
165
+ }, {
166
+ default: h(() => [s("search-posts-widget", {
167
+ id: I.value,
168
+ selector: "true",
169
+ apiurl: M.searchArticleApiUrl,
170
+ wpurl: "",
171
+ searchurl: "",
172
+ style: { height: "500px" }
173
+ }, null, 8, D)]),
174
+ _: 1
175
+ })) : a("", !0)
176
+ ])]));
177
+ }
178
+ });
6
179
  //#endregion
7
- export { t as default };
180
+ export { k as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components48.js","names":[],"sources":["../src/components/Loader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n loading: boolean\n size?: string\n }>(),\n {\n size: '2rem',\n },\n)\n</script>\n<template>\n <div class=\"loader\" :style=\"{ width: size, '--loader-thickness': `calc(${size} / 6)` }\"></div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/loader.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components48.js","names":[],"sources":["../src/components/custom/InternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\nimport Modal from '@/components/Modal.vue'\nimport Button from '@/components/Button.vue'\n\nexport interface Article {\n siteId: string\n id: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface InternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: InternalArticleOfferModel = {\n article: {\n siteId: '',\n id: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: InternalArticleOfferModel): void\n}>()\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: InternalArticleOfferModel\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n showIds?: boolean\n formats: { label: string; value: string }[]\n }>(),\n {\n showIds: true,\n },\n)\n\nconst localModel = ref<InternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId || '',\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\nconst showArticleModal = ref(false)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nconst articleCausationId = ref(new Date().getTime().toString() + 'article')\nconst EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\nonUnmounted(() => {\n window.removeEventListener('search_posts_selected', onPostSelected)\n})\n\nonMounted(() => {\n window.addEventListener('search_posts_selected', onPostSelected)\n})\n\nconst onPostSelected = (e: any) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n localModel.value.article.id = e.detail.posts[0].id\n localModel.value.article.siteId = e.detail.posts[0].siteId\n localModel.value.article.title = e.detail.posts[0].title\n localModel.value.article.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n localModel.value.article.imageId = imageId || EMPTYGUID\n }\n\n showArticleModal.value = false\n }\n}\n\nconst selectArticle = () => {\n showArticleModal.value = true\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('search-posts-widget')) {\n if (!document.querySelector(`script[src=\"${url}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = url\n document.head.appendChild(script)\n }\n }\n}\n\nif (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${props.searchImageWidgetUrl}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = props.searchImageWidgetUrl\n script.async = true\n document.head.appendChild(script)\n }\n}\n\naddScript(props.searchArticleWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <Button\n type=\"success\"\n label=\"Cikk kiválasztása\"\n class=\"nowrap\"\n @click=\"selectArticle\"\n icon=\"fa-solid fa-newspaper\"\n />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"flex gap-2\">\n <div>\n <label for=\"articleId\" class=\"c-label\">Article ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Article ID\"\n disabled\n :value=\"localModel.article.id\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleSiteId\" class=\"c-label\">Site ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleSiteId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Site ID\"\n disabled\n :value=\"localModel.article.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleLead\" class=\"c-label\">Lead</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleLead\"\n class=\"c-input\"\n placeholder=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <hr class=\"separator\" />\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.searchArticleApiUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n\n <Modal v-if=\"showArticleModal\" title=\"Search Article\" @close=\"showArticleModal = false\">\n <search-posts-widget\n :id=\"articleCausationId\"\n selector=\"true\"\n :apiurl=\"props.searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n style=\"height: 500px\"\n />\n </Modal>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,55 +1,5 @@
1
- import { ref as e } from "vue";
2
- //#region src/services/toast.ts
3
- var t = e(null);
4
- function n(e) {
5
- t.value = e;
6
- }
7
- function r(e) {
8
- return t.value ? t.value.addToast(e) : (console.warn("[useToast] No <ToastNotification /> instance is mounted. Mount it once in your app root (e.g. App.vue) before calling toast.*"), null);
9
- }
10
- function i(e, t, n = {}) {
11
- return r({
12
- title: e,
13
- message: t,
14
- type: "success",
15
- ...n
16
- });
17
- }
18
- function a(e, t, n = {}) {
19
- return r({
20
- title: e,
21
- message: t,
22
- type: "error",
23
- displayDuration: n.displayDuration ?? 1e4,
24
- ...n
25
- });
26
- }
27
- function o(e, t, n = {}) {
28
- return r({
29
- title: e,
30
- message: t,
31
- type: "warning",
32
- ...n
33
- });
34
- }
35
- function s(e, t, n = {}) {
36
- return r({
37
- title: e,
38
- message: t,
39
- type: "info",
40
- ...n
41
- });
42
- }
43
- function c(e) {
44
- t.value?.dismiss(e);
45
- }
46
- var l = {
47
- show: r,
48
- success: i,
49
- error: a,
50
- warning: o,
51
- info: s,
52
- dismiss: c
53
- };
1
+ import e from "./admins-components48.js";
2
+ //#region src/components/custom/InternalArticleOffer.vue
3
+ var t = e;
54
4
  //#endregion
55
- export { n as __setToastInstance, l as toast };
5
+ export { t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components49.js","names":[],"sources":["../src/services/toast.ts"],"sourcesContent":["import { ref } from 'vue'\nimport type { ToastInput, ToastPosition, ToastType } from '@/components/ToastNotification.vue'\n\n// Singleton instance management\nexport interface ToastExposed {\n addToast: (input: ToastInput) => number\n dismiss: (id: number) => void\n}\nconst instance = ref<ToastExposed | null>(null)\n\nexport function __setToastInstance(value: ToastExposed | null): void {\n instance.value = value\n}\n\nexport interface ToastShortcutOptions {\n displayDuration?: number\n position?: ToastPosition\n title?: string\n id?: number\n}\n\ninterface ToastApi {\n show: (input: ToastInput) => number | null\n success: (title: string, message: string, options?: ToastShortcutOptions) => number | null\n error: (title: string, message: string, options?: ToastShortcutOptions) => number | null\n warning: (title: string, message: string, options?: ToastShortcutOptions) => number | null\n info: (title: string, message: string, options?: ToastShortcutOptions) => number | null\n dismiss: (id: number) => void\n}\n\nfunction show(input: ToastInput): number | null {\n if (!instance.value) {\n console.warn(\n '[useToast] No <ToastNotification /> instance is mounted. ' +\n 'Mount it once in your app root (e.g. App.vue) before calling toast.*',\n )\n return null\n }\n return instance.value.addToast(input)\n}\n\nfunction success(\n title: string,\n message: string,\n options: ToastShortcutOptions = {},\n): number | null {\n return show({\n title,\n message,\n type: 'success',\n ...options,\n })\n}\n\nfunction error(title: string, message: string, options: ToastShortcutOptions = {}): number | null {\n return show({\n title,\n message,\n type: 'error',\n displayDuration: options.displayDuration ?? 10000,\n ...options,\n })\n}\n\nfunction warning(\n title: string,\n message: string,\n options: ToastShortcutOptions = {},\n): number | null {\n return show({\n title,\n message,\n type: 'warning',\n ...options,\n })\n}\n\nfunction info(title: string, message: string, options: ToastShortcutOptions = {}): number | null {\n return show({\n title,\n message,\n type: 'info',\n ...options,\n })\n}\n\nfunction dismiss(id: number): void {\n instance.value?.dismiss(id)\n}\n\nexport const toast: ToastApi = {\n show,\n success,\n error,\n warning,\n info,\n dismiss,\n}\n\nexport type { ToastInput, ToastPosition, ToastType }\n"],"mappings":";;AAQA,IAAM,IAAW,EAAyB,IAAI;AAE9C,SAAgB,EAAmB,GAAkC;CACnE,EAAS,QAAQ;AACnB;AAkBA,SAAS,EAAK,GAAkC;CAQ9C,OAPK,EAAS,QAOP,EAAS,MAAM,SAAS,CAAK,KANlC,QAAQ,KACN,+HAEF,GACO;AAGX;AAEA,SAAS,EACP,GACA,GACA,IAAgC,CAAC,GAClB;CACf,OAAO,EAAK;EACV;EACA;EACA,MAAM;EACN,GAAG;CACL,CAAC;AACH;AAEA,SAAS,EAAM,GAAe,GAAiB,IAAgC,CAAC,GAAkB;CAChG,OAAO,EAAK;EACV;EACA;EACA,MAAM;EACN,iBAAiB,EAAQ,mBAAmB;EAC5C,GAAG;CACL,CAAC;AACH;AAEA,SAAS,EACP,GACA,GACA,IAAgC,CAAC,GAClB;CACf,OAAO,EAAK;EACV;EACA;EACA,MAAM;EACN,GAAG;CACL,CAAC;AACH;AAEA,SAAS,EAAK,GAAe,GAAiB,IAAgC,CAAC,GAAkB;CAC/F,OAAO,EAAK;EACV;EACA;EACA,MAAM;EACN,GAAG;CACL,CAAC;AACH;AAEA,SAAS,EAAQ,GAAkB;CACjC,EAAS,OAAO,QAAQ,CAAE;AAC5B;AAEA,IAAa,IAAkB;CAC7B;CACA;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"admins-components49.js","names":[],"sources":["../src/components/custom/InternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\nimport Modal from '@/components/Modal.vue'\nimport Button from '@/components/Button.vue'\n\nexport interface Article {\n siteId: string\n id: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface InternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: InternalArticleOfferModel = {\n article: {\n siteId: '',\n id: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: InternalArticleOfferModel): void\n}>()\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: InternalArticleOfferModel\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n showIds?: boolean\n formats: { label: string; value: string }[]\n }>(),\n {\n showIds: true,\n },\n)\n\nconst localModel = ref<InternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId || '',\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\nconst showArticleModal = ref(false)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nconst articleCausationId = ref(new Date().getTime().toString() + 'article')\nconst EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\nonUnmounted(() => {\n window.removeEventListener('search_posts_selected', onPostSelected)\n})\n\nonMounted(() => {\n window.addEventListener('search_posts_selected', onPostSelected)\n})\n\nconst onPostSelected = (e: any) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n localModel.value.article.id = e.detail.posts[0].id\n localModel.value.article.siteId = e.detail.posts[0].siteId\n localModel.value.article.title = e.detail.posts[0].title\n localModel.value.article.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n localModel.value.article.imageId = imageId || EMPTYGUID\n }\n\n showArticleModal.value = false\n }\n}\n\nconst selectArticle = () => {\n showArticleModal.value = true\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('search-posts-widget')) {\n if (!document.querySelector(`script[src=\"${url}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = url\n document.head.appendChild(script)\n }\n }\n}\n\nif (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${props.searchImageWidgetUrl}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = props.searchImageWidgetUrl\n script.async = true\n document.head.appendChild(script)\n }\n}\n\naddScript(props.searchArticleWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <Button\n type=\"success\"\n label=\"Cikk kiválasztása\"\n class=\"nowrap\"\n @click=\"selectArticle\"\n icon=\"fa-solid fa-newspaper\"\n />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"flex gap-2\">\n <div>\n <label for=\"articleId\" class=\"c-label\">Article ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Article ID\"\n disabled\n :value=\"localModel.article.id\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleSiteId\" class=\"c-label\">Site ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleSiteId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Site ID\"\n disabled\n :value=\"localModel.article.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleLead\" class=\"c-label\">Lead</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleLead\"\n class=\"c-input\"\n placeholder=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <hr class=\"separator\" />\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.searchArticleApiUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n\n <Modal v-if=\"showArticleModal\" title=\"Search Article\" @close=\"showArticleModal = false\">\n <search-posts-widget\n :id=\"articleCausationId\"\n selector=\"true\"\n :apiurl=\"props.searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n style=\"height: 500px\"\n />\n </Modal>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -1,94 +1,20 @@
1
- import { __setToastInstance as e } from "./admins-components49.js";
2
- import { Fragment as t, TransitionGroup as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, getCurrentInstance as c, normalizeClass as l, normalizeStyle as u, onBeforeUnmount as d, onMounted as f, openBlock as p, ref as m, renderList as h, toDisplayString as g, withCtx as _ } from "vue";
3
- //#region src/components/ToastNotification.vue?vue&type=script&setup=true&lang.ts
4
- var v = { class: "ac-component" }, y = { class: "c-toast__body" }, b = {
5
- key: 0,
6
- class: "c-toast__title"
7
- }, x = { class: "c-toast__message" }, S = ["onClick"], C = /* @__PURE__ */ s({
8
- __name: "ToastNotification",
1
+ import { createElementBlock as e, defineComponent as t, normalizeStyle as n, openBlock as r } from "vue";
2
+ //#region src/components/Loader.vue?vue&type=script&setup=true&lang.ts
3
+ var i = /* @__PURE__ */ t({
4
+ __name: "Loader",
9
5
  props: {
10
- defaultPosition: { default: "bottom-right" },
11
- defaultDisplayDuration: { default: 5e3 }
6
+ loading: { type: Boolean },
7
+ size: { default: "2rem" }
12
8
  },
13
- setup(s, { expose: C }) {
14
- let w = s, T = null, E = 0, D = m([]);
15
- function O(e) {
16
- let t = e.id ?? ++E, n = {
17
- id: t,
18
- title: e.title,
19
- message: e.message,
20
- type: e.type ?? "info",
21
- displayDuration: e.displayDuration ?? w.defaultDisplayDuration,
22
- position: e.position ?? w.defaultPosition,
23
- addedAt: Date.now()
24
- };
25
- return D.value.push(n), t;
26
- }
27
- function k(e) {
28
- D.value = D.value.filter((t) => t.id !== e);
29
- }
30
- function A() {
31
- let e = Date.now();
32
- D.value = D.value.filter((t) => e - t.addedAt < t.displayDuration);
33
- }
34
- T ||= setInterval(A, 500), d(() => {
35
- T &&= (clearInterval(T), null);
36
- }), C({
37
- addToast: O,
38
- dismiss: k
39
- });
40
- let j = c();
41
- f(() => {
42
- e(j?.exposed ?? null);
43
- }), d(() => {
44
- e(null);
45
- });
46
- function M(e) {
47
- switch (e) {
48
- case "success": return "fa-solid fa-circle-check";
49
- case "warning": return "fa-solid fa-triangle-exclamation";
50
- case "error": return "fa-solid fa-circle-xmark";
51
- default: return "fa-solid fa-circle-info";
52
- }
53
- }
54
- function N(e) {
55
- let t = 0;
56
- for (let n of D.value) {
57
- if (n.id === e.id) break;
58
- n.position === e.position && t++;
59
- }
60
- return t;
61
- }
62
- return (e, s) => (p(), i("div", v, [o(n, {
63
- tag: "div",
64
- class: "c-toast-container",
65
- name: "c-toast"
66
- }, {
67
- default: _(() => [(p(!0), i(t, null, h(D.value, (e) => (p(), i("div", {
68
- key: e.id,
69
- class: l(["c-toast", [`c-toast--${e.type}`, `c-toast--pos-${e.position}`]]),
70
- style: u({ "--stack-index": N(e) }),
71
- role: "status",
72
- "aria-live": "polite"
73
- }, [
74
- a("i", {
75
- class: l(["c-toast__icon", M(e.type)]),
76
- "aria-hidden": "true"
77
- }, null, 2),
78
- a("div", y, [e.title ? (p(), i("div", b, g(e.title), 1)) : r("", !0), a("div", x, g(e.message), 1)]),
79
- a("button", {
80
- type: "button",
81
- class: "c-toast__close",
82
- "aria-label": "Bezárás",
83
- onClick: (t) => k(e.id)
84
- }, [...s[0] ||= [a("i", {
85
- class: "fa-solid fa-xmark",
86
- "aria-hidden": "true"
87
- }, null, -1)]], 8, S)
88
- ], 6))), 128))]),
89
- _: 1
90
- })]));
9
+ setup(t) {
10
+ return (i, a) => (r(), e("div", {
11
+ class: "loader",
12
+ style: n({
13
+ width: t.size,
14
+ "--loader-thickness": `calc(${t.size} / 6)`
15
+ })
16
+ }, null, 4));
91
17
  }
92
18
  });
93
19
  //#endregion
94
- export { C as default };
20
+ export { i as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components50.js","names":[],"sources":["../src/components/ToastNotification.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ToastType = 'info' | 'success' | 'warning' | 'error'\n\nexport type ToastPosition =\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'middle-right'\n | 'middle-center'\n | 'middle-left'\n | 'bottom-right'\n | 'bottom-center'\n | 'bottom-left'\n\nexport interface ToastInput {\n title: string\n message: string\n type?: ToastType\n displayDuration?: number\n position?: ToastPosition\n id?: number\n}\n\nexport interface Toast extends Required<ToastInput> {\n id: number\n addedAt: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { getCurrentInstance, onBeforeUnmount, onMounted, ref } from 'vue'\nimport { __setToastInstance, type ToastExposed } from '@/services/toast'\n\nexport interface ToastNotificationProps {\n defaultPosition?: ToastPosition\n defaultDisplayDuration?: number\n}\n\nconst props = withDefaults(defineProps<ToastNotificationProps>(), {\n defaultPosition: 'bottom-right',\n defaultDisplayDuration: 5000,\n})\n\nconst TICK_MS = 500\nlet timer: ReturnType<typeof setInterval> | null = null\nlet nextId = 0\n\nconst toasts = ref<Toast[]>([])\n\nfunction addToast(input: ToastInput): number {\n const id = input.id ?? ++nextId\n const toast: Toast = {\n id,\n title: input.title,\n message: input.message,\n type: input.type ?? 'info',\n displayDuration: input.displayDuration ?? props.defaultDisplayDuration,\n position: input.position ?? props.defaultPosition,\n addedAt: Date.now(),\n }\n toasts.value.push(toast)\n return id\n}\n\nfunction dismiss(id: number): void {\n toasts.value = toasts.value.filter((t) => t.id !== id)\n}\n\n//This way toasts doesnt expire while browser tab is inactive.\nfunction tick(): void {\n const now = Date.now()\n toasts.value = toasts.value.filter((t) => now - t.addedAt < t.displayDuration)\n}\n\nif (!timer) {\n timer = setInterval(tick, TICK_MS)\n}\n\nonBeforeUnmount(() => {\n if (timer) {\n clearInterval(timer)\n timer = null\n }\n})\n\ndefineExpose({ addToast, dismiss })\n\n//Singleton\nconst ownInstance = getCurrentInstance()\nonMounted(() => {\n __setToastInstance((ownInstance?.exposed as ToastExposed | null) ?? null)\n})\nonBeforeUnmount(() => {\n __setToastInstance(null)\n})\n\nfunction iconFor(type: ToastType): string {\n switch (type) {\n case 'success':\n return 'fa-solid fa-circle-check'\n case 'warning':\n return 'fa-solid fa-triangle-exclamation'\n case 'error':\n return 'fa-solid fa-circle-xmark'\n case 'info':\n default:\n return 'fa-solid fa-circle-info'\n }\n}\n\nfunction getStackIndex(toast: Toast): number {\n let index = 0\n for (const t of toasts.value) {\n if (t.id === toast.id) break\n if (t.position === toast.position) index++\n }\n return index\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <TransitionGroup tag=\"div\" class=\"c-toast-container\" name=\"c-toast\">\n <div\n v-for=\"toast in toasts\"\n :key=\"toast.id\"\n class=\"c-toast\"\n :class=\"[`c-toast--${toast.type}`, `c-toast--pos-${toast.position}`]\"\n :style=\"{ '--stack-index': getStackIndex(toast) }\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <i class=\"c-toast__icon\" :class=\"iconFor(toast.type)\" aria-hidden=\"true\"></i>\n <div class=\"c-toast__body\">\n <div v-if=\"toast.title\" class=\"c-toast__title\">{{ toast.title }}</div>\n <div class=\"c-toast__message\">{{ toast.message }}</div>\n </div>\n <button\n type=\"button\"\n class=\"c-toast__close\"\n aria-label=\"Bezárás\"\n @click=\"dismiss(toast.id)\"\n >\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </TransitionGroup>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/toast-notification.scss\"></style>\n"],"mappings":";;;;;;;;;;;;;EAsCA,IAAM,IAAQ,GAMV,IAA+C,MAC/C,IAAS,GAEP,IAAS,EAAa,CAAC,CAAC;EAE9B,SAAS,EAAS,GAA2B;GAC3C,IAAM,IAAK,EAAM,MAAM,EAAE,GACnB,IAAe;IACnB;IACA,OAAO,EAAM;IACb,SAAS,EAAM;IACf,MAAM,EAAM,QAAQ;IACpB,iBAAiB,EAAM,mBAAmB,EAAM;IAChD,UAAU,EAAM,YAAY,EAAM;IAClC,SAAS,KAAK,IAAI;GACpB;GAEA,OADA,EAAO,MAAM,KAAK,CAAK,GAChB;EACT;EAEA,SAAS,EAAQ,GAAkB;GACjC,EAAO,QAAQ,EAAO,MAAM,QAAQ,MAAM,EAAE,OAAO,CAAE;EACvD;EAGA,SAAS,IAAa;GACpB,IAAM,IAAM,KAAK,IAAI;GACrB,EAAO,QAAQ,EAAO,MAAM,QAAQ,MAAM,IAAM,EAAE,UAAU,EAAE,eAAe;EAC/E;EAaA,AAXA,AACE,MAAQ,YAAY,GAAM,GAAO,GAGnC,QAAsB;GACpB,AAEE,OADA,cAAc,CAAK,GACX;EAEZ,CAAC,GAED,EAAa;GAAE;GAAU;EAAQ,CAAC;EAGlC,IAAM,IAAc,EAAmB;EAIvC,AAHA,QAAgB;GACd,EAAoB,GAAa,WAAmC,IAAI;EAC1E,CAAC,GACD,QAAsB;GACpB,EAAmB,IAAI;EACzB,CAAC;EAED,SAAS,EAAQ,GAAyB;GACxC,QAAQ,GAAR;IACE,KAAK,WACH,OAAO;IACT,KAAK,WACH,OAAO;IACT,KAAK,SACH,OAAO;IAET,SACE,OAAO;GACX;EACF;EAEA,SAAS,EAAc,GAAsB;GAC3C,IAAI,IAAQ;GACZ,KAAK,IAAM,KAAK,EAAO,OAAO;IAC5B,IAAI,EAAE,OAAO,EAAM,IAAI;IACvB,AAAI,EAAE,aAAa,EAAM,YAAU;GACrC;GACA,OAAO;EACT;yBAIE,EA0BM,OA1BN,GA0BM,CAzBJ,EAwBkB,GAAA;GAxBD,KAAI;GAAM,OAAM;GAAoB,MAAK;;oBAE/B,EAAA,EAAA,EAAA,GADzB,EAsBM,GAAA,MAAA,EArBY,EAAA,QAAT,YADT,EAsBM,OAAA;IApBH,KAAK,EAAM;IACZ,OAAK,EAAA,CAAC,WAAS,CAAA,YACM,EAAM,QAAI,gBAAoB,EAAM,UAAQ,CAAA,CAAA;IAChE,OAAK,EAAA,EAAA,iBAAqB,EAAc,CAAK,EAAA,CAAA;IAC9C,MAAK;IACL,aAAU;;IAEV,EAA6E,KAAA;KAA1E,OAAK,EAAA,CAAC,iBAAwB,EAAQ,EAAM,IAAI,CAAA,CAAA;KAAG,eAAY;;IAClE,EAGM,OAHN,GAGM,CAFO,EAAM,SAAA,EAAA,GAAjB,EAAsE,OAAtE,GAAsE,EAApB,EAAM,KAAK,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,GAC7D,EAAuD,OAAvD,GAAuD,EAAtB,EAAM,OAAO,GAAA,CAAA,CAAA,CAAA;IAEhD,EAOS,UAAA;KANP,MAAK;KACL,OAAM;KACN,cAAW;KACV,UAAK,MAAE,EAAQ,EAAM,EAAE;qBAExB,EAAoD,KAAA;KAAjD,OAAM;KAAoB,eAAY"}
1
+ {"version":3,"file":"admins-components50.js","names":[],"sources":["../src/components/Loader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n loading: boolean\n size?: string\n }>(),\n {\n size: '2rem',\n },\n)\n</script>\n<template>\n <div class=\"loader\" :style=\"{ width: size, '--loader-thickness': `calc(${size} / 6)` }\"></div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/loader.scss\"></style>\n"],"mappings":";;;;;;;;;yBAYE,EAA8F,OAAA;GAAzF,OAAM;GAAU,OAAK,EAAA;IAAA,OAAW,EAAA;IAAI,sBAAA,QAAgC,EAAA,KAAI;GAAA,CAAA"}
@@ -1,7 +1,7 @@
1
- import './src/styles/components/toast-notification.scss_vue_type_style_index_0_src_true_lang.css';
1
+ import './src/styles/components/loader.scss_vue_type_style_index_0_src_true_lang.css';
2
2
  import e from "./admins-components50.js";
3
3
  /* empty css */
4
- //#region src/components/ToastNotification.vue
4
+ //#region src/components/Loader.vue
5
5
  var t = e;
6
6
  //#endregion
7
7
  export { t as default };