@7pmlabs/design-system 0.3.6 → 0.3.8

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 (308) hide show
  1. package/dist/design-system100.js +1 -1
  2. package/dist/design-system100.js.map +1 -1
  3. package/dist/design-system100.mjs +62 -63
  4. package/dist/design-system100.mjs.map +1 -1
  5. package/dist/design-system101.js +1 -1
  6. package/dist/design-system101.js.map +1 -1
  7. package/dist/design-system101.mjs +2172 -6
  8. package/dist/design-system101.mjs.map +1 -1
  9. package/dist/design-system102.js +1 -1
  10. package/dist/design-system102.js.map +1 -1
  11. package/dist/design-system102.mjs +1069 -2138
  12. package/dist/design-system102.mjs.map +1 -1
  13. package/dist/design-system103.js +1 -1
  14. package/dist/design-system103.js.map +1 -1
  15. package/dist/design-system103.mjs +25 -67
  16. package/dist/design-system103.mjs.map +1 -1
  17. package/dist/design-system104.js +1 -1
  18. package/dist/design-system104.mjs +18 -2
  19. package/dist/design-system104.mjs.map +1 -1
  20. package/dist/design-system105.js +1 -1
  21. package/dist/design-system105.js.map +1 -1
  22. package/dist/design-system105.mjs +2 -4
  23. package/dist/design-system105.mjs.map +1 -1
  24. package/dist/design-system106.js +1 -1
  25. package/dist/design-system106.js.map +1 -1
  26. package/dist/design-system106.mjs +4 -8
  27. package/dist/design-system106.mjs.map +1 -1
  28. package/dist/design-system107.js +1 -1
  29. package/dist/design-system107.js.map +1 -1
  30. package/dist/design-system107.mjs +7 -6
  31. package/dist/design-system107.mjs.map +1 -1
  32. package/dist/design-system108.js +1 -1
  33. package/dist/design-system108.js.map +1 -1
  34. package/dist/design-system108.mjs +7 -2
  35. package/dist/design-system108.mjs.map +1 -1
  36. package/dist/design-system109.js +1 -1
  37. package/dist/design-system109.mjs +2 -2
  38. package/dist/design-system110.js +1 -1
  39. package/dist/design-system110.js.map +1 -1
  40. package/dist/design-system110.mjs +2 -63
  41. package/dist/design-system110.mjs.map +1 -1
  42. package/dist/design-system111.js +1 -1
  43. package/dist/design-system111.js.map +1 -1
  44. package/dist/design-system111.mjs +62 -3
  45. package/dist/design-system111.mjs.map +1 -1
  46. package/dist/design-system112.js +1 -1
  47. package/dist/design-system112.js.map +1 -1
  48. package/dist/design-system112.mjs +4 -9
  49. package/dist/design-system112.mjs.map +1 -1
  50. package/dist/design-system113.js +1 -1
  51. package/dist/design-system113.js.map +1 -1
  52. package/dist/design-system113.mjs +7 -5
  53. package/dist/design-system113.mjs.map +1 -1
  54. package/dist/design-system114.js +1 -1
  55. package/dist/design-system114.js.map +1 -1
  56. package/dist/design-system114.mjs +6 -3
  57. package/dist/design-system114.mjs.map +1 -1
  58. package/dist/design-system115.js +1 -1
  59. package/dist/design-system115.js.map +1 -1
  60. package/dist/design-system115.mjs +4 -3
  61. package/dist/design-system115.mjs.map +1 -1
  62. package/dist/design-system116.js +1 -1
  63. package/dist/design-system116.js.map +1 -1
  64. package/dist/design-system116.mjs +3 -6
  65. package/dist/design-system116.mjs.map +1 -1
  66. package/dist/design-system117.js +1 -1
  67. package/dist/design-system117.js.map +1 -1
  68. package/dist/design-system117.mjs +5 -9
  69. package/dist/design-system117.mjs.map +1 -1
  70. package/dist/design-system118.js +1 -1
  71. package/dist/design-system118.js.map +1 -1
  72. package/dist/design-system118.mjs +9 -4
  73. package/dist/design-system118.mjs.map +1 -1
  74. package/dist/design-system119.js +1 -1
  75. package/dist/design-system119.js.map +1 -1
  76. package/dist/design-system119.mjs +5 -5
  77. package/dist/design-system119.mjs.map +1 -1
  78. package/dist/design-system12.js +1 -1
  79. package/dist/design-system12.js.map +1 -1
  80. package/dist/design-system12.mjs +2 -2
  81. package/dist/design-system120.js +1 -1
  82. package/dist/design-system120.js.map +1 -1
  83. package/dist/design-system120.mjs +5 -4
  84. package/dist/design-system120.mjs.map +1 -1
  85. package/dist/design-system121.js +1 -1
  86. package/dist/design-system121.js.map +1 -1
  87. package/dist/design-system121.mjs +4 -4
  88. package/dist/design-system121.mjs.map +1 -1
  89. package/dist/design-system122.js +1 -1
  90. package/dist/design-system122.js.map +1 -1
  91. package/dist/design-system122.mjs +3 -11
  92. package/dist/design-system122.mjs.map +1 -1
  93. package/dist/design-system123.js +1 -1
  94. package/dist/design-system123.js.map +1 -1
  95. package/dist/design-system123.mjs +12 -27
  96. package/dist/design-system123.mjs.map +1 -1
  97. package/dist/design-system124.js +1 -1
  98. package/dist/design-system124.js.map +1 -1
  99. package/dist/design-system124.mjs +27 -6
  100. package/dist/design-system124.mjs.map +1 -1
  101. package/dist/design-system125.js +1 -1
  102. package/dist/design-system125.js.map +1 -1
  103. package/dist/design-system125.mjs +6 -6
  104. package/dist/design-system125.mjs.map +1 -1
  105. package/dist/design-system126.js +1 -1
  106. package/dist/design-system126.js.map +1 -1
  107. package/dist/design-system126.mjs +6 -8
  108. package/dist/design-system126.mjs.map +1 -1
  109. package/dist/design-system127.js +1 -1
  110. package/dist/design-system127.js.map +1 -1
  111. package/dist/design-system127.mjs +7 -4
  112. package/dist/design-system127.mjs.map +1 -1
  113. package/dist/design-system128.js +1 -1
  114. package/dist/design-system128.js.map +1 -1
  115. package/dist/design-system128.mjs +5 -6
  116. package/dist/design-system128.mjs.map +1 -1
  117. package/dist/design-system129.js +1 -1
  118. package/dist/design-system129.js.map +1 -1
  119. package/dist/design-system129.mjs +6 -7
  120. package/dist/design-system129.mjs.map +1 -1
  121. package/dist/design-system13.js +1 -1
  122. package/dist/design-system13.js.map +1 -1
  123. package/dist/design-system13.mjs +2 -2
  124. package/dist/design-system130.js +1 -1
  125. package/dist/design-system130.js.map +1 -1
  126. package/dist/design-system130.mjs +6 -5
  127. package/dist/design-system130.mjs.map +1 -1
  128. package/dist/design-system131.js +1 -1
  129. package/dist/design-system131.js.map +1 -1
  130. package/dist/design-system131.mjs +6 -10
  131. package/dist/design-system131.mjs.map +1 -1
  132. package/dist/design-system132.js +1 -1
  133. package/dist/design-system132.js.map +1 -1
  134. package/dist/design-system132.mjs +10 -6
  135. package/dist/design-system132.mjs.map +1 -1
  136. package/dist/design-system133.js +1 -1
  137. package/dist/design-system133.js.map +1 -1
  138. package/dist/design-system133.mjs +6 -7
  139. package/dist/design-system133.mjs.map +1 -1
  140. package/dist/design-system134.js +1 -1
  141. package/dist/design-system134.js.map +1 -1
  142. package/dist/design-system134.mjs +6 -9
  143. package/dist/design-system134.mjs.map +1 -1
  144. package/dist/design-system135.js +1 -1
  145. package/dist/design-system135.js.map +1 -1
  146. package/dist/design-system135.mjs +9 -6
  147. package/dist/design-system135.mjs.map +1 -1
  148. package/dist/design-system136.js +1 -1
  149. package/dist/design-system136.js.map +1 -1
  150. package/dist/design-system136.mjs +6 -17
  151. package/dist/design-system136.mjs.map +1 -1
  152. package/dist/design-system137.js +1 -1
  153. package/dist/design-system137.js.map +1 -1
  154. package/dist/design-system137.mjs +17 -6
  155. package/dist/design-system137.mjs.map +1 -1
  156. package/dist/design-system138.js +1 -1
  157. package/dist/design-system138.js.map +1 -1
  158. package/dist/design-system138.mjs +6 -12
  159. package/dist/design-system138.mjs.map +1 -1
  160. package/dist/design-system139.js +1 -1
  161. package/dist/design-system139.js.map +1 -1
  162. package/dist/design-system139.mjs +12 -3
  163. package/dist/design-system139.mjs.map +1 -1
  164. package/dist/design-system14.js +1 -1
  165. package/dist/design-system14.js.map +1 -1
  166. package/dist/design-system14.mjs +60 -71
  167. package/dist/design-system14.mjs.map +1 -1
  168. package/dist/design-system140.js +1 -1
  169. package/dist/design-system140.js.map +1 -1
  170. package/dist/design-system140.mjs +3 -7
  171. package/dist/design-system140.mjs.map +1 -1
  172. package/dist/design-system141.js +1 -1
  173. package/dist/design-system141.js.map +1 -1
  174. package/dist/design-system141.mjs +2 -10
  175. package/dist/design-system141.mjs.map +1 -1
  176. package/dist/design-system142.js +1 -1
  177. package/dist/design-system142.mjs +2 -2
  178. package/dist/design-system143.js +1 -1
  179. package/dist/design-system143.js.map +1 -1
  180. package/dist/design-system143.mjs +7 -5
  181. package/dist/design-system143.mjs.map +1 -1
  182. package/dist/design-system144.js +1 -1
  183. package/dist/design-system144.js.map +1 -1
  184. package/dist/design-system144.mjs +9 -9
  185. package/dist/design-system144.mjs.map +1 -1
  186. package/dist/design-system145.js +1 -1
  187. package/dist/design-system145.js.map +1 -1
  188. package/dist/design-system145.mjs +5 -15
  189. package/dist/design-system145.mjs.map +1 -1
  190. package/dist/design-system146.js +1 -1
  191. package/dist/design-system146.js.map +1 -1
  192. package/dist/design-system146.mjs +10 -6
  193. package/dist/design-system146.mjs.map +1 -1
  194. package/dist/design-system147.js +1 -1
  195. package/dist/design-system147.js.map +1 -1
  196. package/dist/design-system147.mjs +15 -5
  197. package/dist/design-system147.mjs.map +1 -1
  198. package/dist/design-system148.js +1 -1
  199. package/dist/design-system148.js.map +1 -1
  200. package/dist/design-system148.mjs +5 -8
  201. package/dist/design-system148.mjs.map +1 -1
  202. package/dist/design-system149.js +1 -1
  203. package/dist/design-system149.js.map +1 -1
  204. package/dist/design-system149.mjs +5 -6
  205. package/dist/design-system149.mjs.map +1 -1
  206. package/dist/design-system150.js +1 -1
  207. package/dist/design-system150.js.map +1 -1
  208. package/dist/design-system150.mjs +8 -5
  209. package/dist/design-system150.mjs.map +1 -1
  210. package/dist/design-system151.js +1 -1
  211. package/dist/design-system151.js.map +1 -1
  212. package/dist/design-system151.mjs +6 -5
  213. package/dist/design-system151.mjs.map +1 -1
  214. package/dist/design-system152.js +1 -1
  215. package/dist/design-system152.js.map +1 -1
  216. package/dist/design-system152.mjs +4 -5
  217. package/dist/design-system152.mjs.map +1 -1
  218. package/dist/design-system153.js +1 -1
  219. package/dist/design-system153.js.map +1 -1
  220. package/dist/design-system153.mjs +5 -6
  221. package/dist/design-system153.mjs.map +1 -1
  222. package/dist/design-system154.js +1 -1
  223. package/dist/design-system154.js.map +1 -1
  224. package/dist/design-system154.mjs +6 -5
  225. package/dist/design-system154.mjs.map +1 -1
  226. package/dist/design-system155.js +1 -1
  227. package/dist/design-system155.js.map +1 -1
  228. package/dist/design-system155.mjs +6 -39
  229. package/dist/design-system155.mjs.map +1 -1
  230. package/dist/design-system156.js +1 -1
  231. package/dist/design-system156.js.map +1 -1
  232. package/dist/design-system156.mjs +3 -4
  233. package/dist/design-system156.mjs.map +1 -1
  234. package/dist/design-system157.js +1 -1
  235. package/dist/design-system157.js.map +1 -1
  236. package/dist/design-system157.mjs +39 -5
  237. package/dist/design-system157.mjs.map +1 -1
  238. package/dist/design-system158.js +1 -1
  239. package/dist/design-system158.js.map +1 -1
  240. package/dist/design-system158.mjs +7 -2
  241. package/dist/design-system158.mjs.map +1 -1
  242. package/dist/design-system159.js +1 -1
  243. package/dist/design-system159.js.map +1 -1
  244. package/dist/design-system159.mjs +6 -16
  245. package/dist/design-system159.mjs.map +1 -1
  246. package/dist/design-system16.js +1 -1
  247. package/dist/design-system16.mjs +1 -1
  248. package/dist/design-system160.js +1 -1
  249. package/dist/design-system160.js.map +1 -1
  250. package/dist/design-system160.mjs +15 -7
  251. package/dist/design-system160.mjs.map +1 -1
  252. package/dist/design-system161.js +1 -1
  253. package/dist/design-system161.js.map +1 -1
  254. package/dist/design-system161.mjs +7 -17
  255. package/dist/design-system161.mjs.map +1 -1
  256. package/dist/design-system163.js +1 -1
  257. package/dist/design-system163.mjs +1 -1
  258. package/dist/design-system167.js +1 -1
  259. package/dist/design-system167.mjs +1 -1
  260. package/dist/design-system168.js +1 -1
  261. package/dist/design-system168.mjs +1 -1
  262. package/dist/design-system169.js +1 -1
  263. package/dist/design-system169.mjs +1 -1
  264. package/dist/design-system170.js +1 -1
  265. package/dist/design-system170.mjs +1 -1
  266. package/dist/design-system171.js +1 -1
  267. package/dist/design-system171.mjs +1 -1
  268. package/dist/design-system173.js +1 -1
  269. package/dist/design-system173.mjs +2 -2
  270. package/dist/design-system18.js +1 -1
  271. package/dist/design-system18.js.map +1 -1
  272. package/dist/design-system18.mjs +2 -2
  273. package/dist/design-system186.js +1 -1
  274. package/dist/design-system186.mjs +2 -2
  275. package/dist/design-system187.js +1 -1
  276. package/dist/design-system187.mjs +2 -2
  277. package/dist/design-system195.js +1 -1
  278. package/dist/design-system195.mjs +2 -2
  279. package/dist/design-system201.js +1 -1
  280. package/dist/design-system201.mjs +1 -1
  281. package/dist/design-system210.js +1 -1
  282. package/dist/design-system210.mjs +1 -1
  283. package/dist/design-system217.js +1 -1
  284. package/dist/design-system217.mjs +1 -1
  285. package/dist/design-system24.js +1 -1
  286. package/dist/design-system24.mjs +1 -1
  287. package/dist/design-system40.js +1 -1
  288. package/dist/design-system40.js.map +1 -1
  289. package/dist/design-system40.mjs +33 -29
  290. package/dist/design-system40.mjs.map +1 -1
  291. package/dist/design-system46.js +1 -1
  292. package/dist/design-system46.mjs +1 -1
  293. package/dist/design-system89.js +1 -1
  294. package/dist/design-system89.js.map +1 -1
  295. package/dist/design-system89.mjs +2 -2
  296. package/dist/design-system97.js +1 -1
  297. package/dist/design-system97.js.map +1 -1
  298. package/dist/design-system97.mjs +68 -1103
  299. package/dist/design-system97.mjs.map +1 -1
  300. package/dist/design-system98.js +1 -1
  301. package/dist/design-system98.mjs +3 -3
  302. package/dist/design-system99.js +1 -1
  303. package/dist/design-system99.js.map +1 -1
  304. package/dist/design-system99.mjs +5 -24
  305. package/dist/design-system99.mjs.map +1 -1
  306. package/dist/style.css +1 -1
  307. package/dist/types/components/BDropdown/BDropdown.vue.d.ts +0 -13
  308. package/package.json +10 -10
@@ -1,16 +1,16 @@
1
- import { defineComponent as M, ref as _, computed as n, openBlock as t, createElementBlock as c, createVNode as D, createElementVNode as r, withDirectives as f, renderSlot as y, normalizeClass as m, vShow as h, createCommentVNode as v, withKeys as z, vModelDynamic as A, createBlock as F, unref as H } from "vue";
2
- import { useValidationField as N } from "./design-system3.mjs";
3
- import { useI18n as P } from "./design-system48.mjs";
4
- import U from "./design-system30.mjs";
1
+ import { defineComponent as M, ref as D, computed as n, openBlock as t, createElementBlock as c, createVNode as z, createElementVNode as r, withDirectives as f, renderSlot as y, normalizeClass as m, vShow as h, createCommentVNode as v, withKeys as A, vModelDynamic as F, createBlock as H, unref as N } from "vue";
2
+ import { useValidationField as P } from "./design-system3.mjs";
3
+ import { useI18n as U } from "./design-system48.mjs";
4
+ import _ from "./design-system30.mjs";
5
5
  import S from "./design-system31.mjs";
6
6
  import T from "./design-system98.mjs";
7
- const j = { class: "ds-relative" }, x = {
7
+ const j = { class: "ds-relative" }, G = {
8
8
  key: 0,
9
9
  class: "ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t"
10
- }, G = ["id"], J = ["id", "autocomplete", "disabled", "inputmode", "placeholder", "readonly", "type", "onKeyup"], L = {
10
+ }, J = ["id"], L = ["id", "autocomplete", "disabled", "inputmode", "placeholder", "readonly", "type", "onKeyup"], O = {
11
11
  key: 1,
12
12
  class: "ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t"
13
- }, O = ["id"], se = /* @__PURE__ */ M({
13
+ }, Q = ["id"], se = /* @__PURE__ */ M({
14
14
  __name: "BTextField",
15
15
  props: {
16
16
  inputId: { default: "" },
@@ -35,7 +35,7 @@ const j = { class: "ds-relative" }, x = {
35
35
  },
36
36
  emits: ["focus", "blur", "click:prepend", "click:append", "press:enter", "update:modelValue"],
37
37
  setup(I, { expose: k, emit: d }) {
38
- const o = I, { t: g } = P(), a = _(null), C = {
38
+ const o = I, { t: g } = U(), a = D(null), C = {
39
39
  validateRule: (e) => typeof e == "number" ? !!e : !!(e && (e != null && e.trim())),
40
40
  errorMessage: () => o.requiredErrorMessage || g("ds.global.field_required")
41
41
  }, s = n(() => o.inputId || `id-${T()}`), u = n({
@@ -47,26 +47,24 @@ const j = { class: "ds-relative" }, x = {
47
47
  }
48
48
  }), B = n(() => [
49
49
  {
50
- "ds-pl-9": o.prependIcon,
51
- "ds-pr-9": o.appendIcon,
52
50
  "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": o.disabled,
53
51
  "ds-text-black/[0.85]": !o.disabled,
54
52
  "ds-border-error focus:ds-ring-1 focus:ds-ring-error": !p.value.valid,
55
53
  "ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": p.value.valid
56
54
  },
57
55
  o.inputCssClass
58
- ]), V = n(() => {
56
+ ]), $ = n(() => {
59
57
  let e = [];
60
58
  return o.required && e.push(C), o.validationRules && (e = e.concat(o.validationRules)), e.length ? e : void 0;
61
- }), { validate: b, validationResult: p } = N(
59
+ }), { validate: b, validationResult: p } = P(
62
60
  s.value,
63
61
  u,
64
- V.value
65
- ), q = () => {
62
+ $.value
63
+ ), V = () => {
66
64
  d("click:prepend");
67
- }, R = () => {
65
+ }, q = () => {
68
66
  d("click:append");
69
- }, $ = () => {
67
+ }, R = () => {
70
68
  d("press:enter");
71
69
  }, w = () => {
72
70
  d("focus");
@@ -82,19 +80,19 @@ const j = { class: "ds-relative" }, x = {
82
80
  var e;
83
81
  (e = a.value) == null || e.blur();
84
82
  } }), (e, l) => (t(), c("div", null, [
85
- D(S, {
83
+ z(S, {
86
84
  id: s.value,
87
85
  label: e.label,
88
86
  required: e.required
89
87
  }, null, 8, ["id", "label", "required"]),
90
88
  r("div", j, [
91
- e.$slots.prependIcon || e.prependIcon ? f((t(), c("div", x, [
89
+ e.$slots.prependIcon || e.prependIcon ? f((t(), c("div", G, [
92
90
  y(e.$slots, "prependIcon", {}, () => [
93
91
  r("span", {
94
92
  id: `${s.value}prependIcon`,
95
93
  class: m(e.prependIcon),
96
- onClick: q
97
- }, null, 10, G)
94
+ onClick: V
95
+ }, null, 10, J)
98
96
  ])
99
97
  ], 512)), [
100
98
  [h, !e.hidePrependIcon]
@@ -105,7 +103,13 @@ const j = { class: "ds-relative" }, x = {
105
103
  ref: a,
106
104
  "onUpdate:modelValue": l[0] || (l[0] = (i) => u.value = i),
107
105
  autocomplete: o.autocomplete ? "on" : "off",
108
- class: m([B.value, "ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light"]),
106
+ class: m([[
107
+ B.value,
108
+ {
109
+ "ds-pl-9": e.$slots.prependIcon || o.prependIcon,
110
+ "ds-pr-9": e.$slots.appendIcon || o.appendIcon
111
+ }
112
+ ], "ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light"]),
109
113
  disabled: o.disabled,
110
114
  inputmode: o.inputmode,
111
115
  placeholder: o.placeholder,
@@ -117,26 +121,26 @@ const j = { class: "ds-relative" }, x = {
117
121
  (...i) => e.inputHandler && e.inputHandler(...i)),
118
122
  onKeyup: [
119
123
  K,
120
- z($, ["enter"])
124
+ A(R, ["enter"])
121
125
  ]
122
- }, null, 42, J), [
123
- [A, u.value]
126
+ }, null, 42, L), [
127
+ [F, u.value]
124
128
  ]),
125
- e.$slots.appendIcon || e.appendIcon ? f((t(), c("div", L, [
129
+ e.$slots.appendIcon || e.appendIcon ? f((t(), c("div", O, [
126
130
  y(e.$slots, "appendIcon", {}, () => [
127
131
  r("span", {
128
132
  id: `${s.value}appendIcon`,
129
133
  class: m(e.appendIcon),
130
- onClick: R
131
- }, null, 10, O)
134
+ onClick: q
135
+ }, null, 10, Q)
132
136
  ])
133
137
  ], 512)), [
134
138
  [h, !e.hideAppendIcon]
135
139
  ]) : v("", !0)
136
140
  ]),
137
- e.hideDetails ? v("", !0) : (t(), F(U, {
141
+ e.hideDetails ? v("", !0) : (t(), H(_, {
138
142
  key: 0,
139
- "error-message": H(p).errorMessage(),
143
+ "error-message": N(p).errorMessage(),
140
144
  class: "ds-mt-1"
141
145
  }, null, 8, ["error-message"]))
142
146
  ]));
@@ -1 +1 @@
1
- {"version":3,"file":"design-system40.mjs","sources":["../src/components/BTextField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelDynamic as _vModelDynamic, withKeys as _withKeys, unref as _unref, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_3 = [\"id\"]\nconst _hoisted_4 = [\"id\", \"autocomplete\", \"disabled\", \"inputmode\", \"placeholder\", \"readonly\", \"type\", \"onKeyup\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_6 = [\"id\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n/**\n * Props\n */\nexport interface BTextFieldProps {\n inputId?: string;\n inputCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n modelValue: string | number;\n label?: string;\n /**\n * FontAwesome v6.1.0 - Solid.\n */\n prependIcon?: string;\n /**\n * Hide prepended icon.\n */\n hidePrependIcon?: boolean;\n /**\n * FontAwesome v6.1.0 - Solid.\n */\n appendIcon?: string;\n /**\n * Hide appended icon.\n */\n hideAppendIcon?: boolean;\n placeholder?: string;\n autocomplete?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n type?: string;\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Function is executed on input event.\n */\n inputHandler?: any;\n inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'; // This allows a browser to display an appropriate virtual keyboard\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTextField',\n props: {\n inputId: { default: '' },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n modelValue: {},\n label: { default: '' },\n prependIcon: { default: '' },\n hidePrependIcon: { type: Boolean, default: false },\n appendIcon: { default: '' },\n hideAppendIcon: { type: Boolean, default: false },\n placeholder: { default: '' },\n autocomplete: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n type: { default: 'text' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n inputHandler: { default: undefined },\n inputmode: { default: 'text' }\n },\n emits: [\"focus\", \"blur\", \"click:prepend\", \"click:append\", \"press:enter\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit }) {\n\nconst props = __props;\n\n// https://github.com/tailwindlabs/tailwindcss/discussions/7554\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => {\n if (typeof val === 'number') {\n return !!val;\n }\n return !!(val && val?.trim());\n },\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst inputCssClassValue = computed(() => [\n {\n 'ds-pl-9': props.prependIcon,\n 'ds-pr-9': props.appendIcon,\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n },\n props.inputCssClass,\n]);\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Methods\n */\nconst onClickPrependIcon = () => {\n emit('click:prepend');\n};\nconst onClickAppendIcon = () => {\n emit('click:append');\n};\nconst onKeyUpEnter = () => {\n emit('press:enter');\n};\nconst onFocus = () => {\n emit('focus');\n};\nconst onBlur = () => {\n emit('blur');\n};\nconst onKeyUp = () => {\n validate();\n};\nconst focus = () => {\n inputRef.value?.focus();\n};\nconst blur = () => {\n inputRef.value?.blur();\n};\n\n__expose({ validate, focus, blur });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.$slots.prependIcon || _ctx.prependIcon)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"prependIcon\", {}, () => [\n _createElementVNode(\"span\", {\n id: `${id.value}prependIcon`,\n class: _normalizeClass(_ctx.prependIcon),\n onClick: onClickPrependIcon\n }, null, 10, _hoisted_3)\n ])\n ], 512)), [\n [_vShow, !_ctx.hidePrependIcon]\n ])\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n autocomplete: props.autocomplete ? 'on' : 'off',\n class: _normalizeClass([inputCssClassValue.value, \"ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light\"]),\n disabled: props.disabled,\n inputmode: props.inputmode,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: props.type,\n onBlur: onBlur,\n onFocus: onFocus,\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.inputHandler && _ctx.inputHandler(...args))),\n onKeyup: [\n onKeyUp,\n _withKeys(onKeyUpEnter, [\"enter\"])\n ]\n }, null, 42, _hoisted_4), [\n [_vModelDynamic, value.value]\n ]),\n (_ctx.$slots.appendIcon || _ctx.appendIcon)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"appendIcon\", {}, () => [\n _createElementVNode(\"span\", {\n id: `${id.value}appendIcon`,\n class: _normalizeClass(_ctx.appendIcon),\n onClick: onClickAppendIcon\n }, null, 10, _hoisted_6)\n ])\n ], 512)), [\n [_vShow, !_ctx.hideAppendIcon]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_sfc_main","_defineComponent","__props","__expose","emit","props","t","useI18n","inputRef","ref","validateRequired","val","id","computed","uuid","value","inputCssClassValue","validationResult","vRules","result","validate","useValidationField","onClickPrependIcon","onClickAppendIcon","onKeyUpEnter","onFocus","onBlur","onKeyUp","_a","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_withDirectives","_renderSlot","_normalizeClass","_vShow","_createCommentVNode","$event","args","_withKeys","_vModelDynamic","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"design-system40.mjs","sources":["../src/components/BTextField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelDynamic as _vModelDynamic, withKeys as _withKeys, unref as _unref, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_3 = [\"id\"]\nconst _hoisted_4 = [\"id\", \"autocomplete\", \"disabled\", \"inputmode\", \"placeholder\", \"readonly\", \"type\", \"onKeyup\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_6 = [\"id\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n/**\n * Props\n */\nexport interface BTextFieldProps {\n inputId?: string;\n inputCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n modelValue: string | number;\n label?: string;\n /**\n * FontAwesome v6.1.0 - Solid.\n */\n prependIcon?: string;\n /**\n * Hide prepended icon.\n */\n hidePrependIcon?: boolean;\n /**\n * FontAwesome v6.1.0 - Solid.\n */\n appendIcon?: string;\n /**\n * Hide appended icon.\n */\n hideAppendIcon?: boolean;\n placeholder?: string;\n autocomplete?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n type?: string;\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Function is executed on input event.\n */\n inputHandler?: any;\n inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'; // This allows a browser to display an appropriate virtual keyboard\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTextField',\n props: {\n inputId: { default: '' },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n modelValue: {},\n label: { default: '' },\n prependIcon: { default: '' },\n hidePrependIcon: { type: Boolean, default: false },\n appendIcon: { default: '' },\n hideAppendIcon: { type: Boolean, default: false },\n placeholder: { default: '' },\n autocomplete: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n type: { default: 'text' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n inputHandler: { default: undefined },\n inputmode: { default: 'text' }\n },\n emits: [\"focus\", \"blur\", \"click:prepend\", \"click:append\", \"press:enter\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit }) {\n\nconst props = __props;\n\n// https://github.com/tailwindlabs/tailwindcss/discussions/7554\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => {\n if (typeof val === 'number') {\n return !!val;\n }\n return !!(val && val?.trim());\n },\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst inputCssClassValue = computed(() => [\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n },\n props.inputCssClass,\n]);\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Methods\n */\nconst onClickPrependIcon = () => {\n emit('click:prepend');\n};\nconst onClickAppendIcon = () => {\n emit('click:append');\n};\nconst onKeyUpEnter = () => {\n emit('press:enter');\n};\nconst onFocus = () => {\n emit('focus');\n};\nconst onBlur = () => {\n emit('blur');\n};\nconst onKeyUp = () => {\n validate();\n};\nconst focus = () => {\n inputRef.value?.focus();\n};\nconst blur = () => {\n inputRef.value?.blur();\n};\n\n__expose({ validate, focus, blur });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.$slots.prependIcon || _ctx.prependIcon)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"prependIcon\", {}, () => [\n _createElementVNode(\"span\", {\n id: `${id.value}prependIcon`,\n class: _normalizeClass(_ctx.prependIcon),\n onClick: onClickPrependIcon\n }, null, 10, _hoisted_3)\n ])\n ], 512)), [\n [_vShow, !_ctx.hidePrependIcon]\n ])\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n autocomplete: props.autocomplete ? 'on' : 'off',\n class: _normalizeClass([[\n inputCssClassValue.value,\n {\n 'ds-pl-9': _ctx.$slots.prependIcon || props.prependIcon,\n 'ds-pr-9': _ctx.$slots.appendIcon || props.appendIcon,\n },\n ], \"ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light\"]),\n disabled: props.disabled,\n inputmode: props.inputmode,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: props.type,\n onBlur: onBlur,\n onFocus: onFocus,\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.inputHandler && _ctx.inputHandler(...args))),\n onKeyup: [\n onKeyUp,\n _withKeys(onKeyUpEnter, [\"enter\"])\n ]\n }, null, 42, _hoisted_4), [\n [_vModelDynamic, value.value]\n ]),\n (_ctx.$slots.appendIcon || _ctx.appendIcon)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"appendIcon\", {}, () => [\n _createElementVNode(\"span\", {\n id: `${id.value}appendIcon`,\n class: _normalizeClass(_ctx.appendIcon),\n onClick: onClickAppendIcon\n }, null, 10, _hoisted_6)\n ])\n ], 512)), [\n [_vShow, !_ctx.hideAppendIcon]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_sfc_main","_defineComponent","__props","__expose","emit","props","t","useI18n","inputRef","ref","validateRequired","val","id","computed","uuid","value","inputCssClassValue","validationResult","vRules","result","validate","useValidationField","onClickPrependIcon","onClickAppendIcon","onKeyUpEnter","onFocus","onBlur","onKeyUp","_a","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_withDirectives","_renderSlot","_normalizeClass","_vShow","_createCommentVNode","$event","args","_withKeys","_vModelDynamic","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),d=require("./design-system161.js"),r=require("./design-system6.js"),u=require("./design-system37.js"),i=e.defineComponent({__name:"BImagePreview",props:{modelValue:{type:Boolean},url:{}},emits:["update:modelValue"],setup(s,{emit:a}){const n=s,o=e.computed({get(){return n.modelValue},set(t){a("update:modelValue",t)}});e.watch(o,t=>{t?r.lockScrollBody():r.unlockScrollBody()});const c=()=>{o.value=!1},l=t=>{t.key==="Escape"&&c()};return e.onMounted(()=>{document.addEventListener("keydown",l)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",l)}),(t,m)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>[e.createVNode(d,{class:"ds-right-4 ds-top-4 ds-h-8 ds-w-8",onClick:c}),e.createElementVNode("div",{style:e.normalizeStyle({backgroundImage:`url('${n.url}')`,height:"calc(100vh - 16px)",width:"calc(100vw - 16px)"}),class:"ds-bg-contain ds-bg-center ds-bg-no-repeat"},null,4)]),_:1})):e.createCommentVNode("",!0)]),_:1}))}});module.exports=i;
1
+ "use strict";const e=require("vue"),d=require("./design-system104.js"),r=require("./design-system6.js"),u=require("./design-system37.js"),i=e.defineComponent({__name:"BImagePreview",props:{modelValue:{type:Boolean},url:{}},emits:["update:modelValue"],setup(s,{emit:a}){const n=s,o=e.computed({get(){return n.modelValue},set(t){a("update:modelValue",t)}});e.watch(o,t=>{t?r.lockScrollBody():r.unlockScrollBody()});const c=()=>{o.value=!1},l=t=>{t.key==="Escape"&&c()};return e.onMounted(()=>{document.addEventListener("keydown",l)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",l)}),(t,m)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>[e.createVNode(d,{class:"ds-right-4 ds-top-4 ds-h-8 ds-w-8",onClick:c}),e.createElementVNode("div",{style:e.normalizeStyle({backgroundImage:`url('${n.url}')`,height:"calc(100vh - 16px)",width:"calc(100vw - 16px)"}),class:"ds-bg-contain ds-bg-center ds-bg-no-repeat"},null,4)]),_:1})):e.createCommentVNode("",!0)]),_:1}))}});module.exports=i;
2
2
  //# sourceMappingURL=design-system46.js.map
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as m, computed as u, watch as i, onMounted as p, onBeforeUnmount as f, openBlock as r, createBlock as a, Transition as v, withCtx as c, createVNode as k, createElementVNode as g, normalizeStyle as y, createCommentVNode as B } from "vue";
2
- import h from "./design-system161.mjs";
2
+ import h from "./design-system104.mjs";
3
3
  import { lockScrollBody as w, unlockScrollBody as _ } from "./design-system6.mjs";
4
4
  import V from "./design-system37.mjs";
5
5
  const I = /* @__PURE__ */ m({
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("vue"),h=require("./design-system4.js"),L=require("./design-system48.js"),P=require("./design-system161.js"),j=require("./design-system46.js"),A=require("./design-system3.js"),$=require("./design-system31.js"),U=require("./design-system11.js"),H=require("./design-system30.js"),O=require("./design-system98.js"),G=require("./design-system99.js"),J=d=>(t.pushScopeId("data-v-91ede486"),d=d(),t.popScopeId(),d),K={class:"ds-w-full"},Q={class:"ds-gap-2 ds-space-y-4 ds-rounded-lg ds-bg-white ds-p-4 ds-drop-shadow"},W={key:0,class:"ds-flex ds-flex-wrap ds-justify-center ds-gap-1"},X=["onClick","onDragenter","onDragstart","onDrop"],Y=["src"],Z={class:"ds-flex ds-flex-wrap ds-justify-center"},ee=J(()=>t.createElementVNode("svg",{class:"ds-absolute -ds-bottom-[3px] ds-left-0 ds-h-4 ds-w-4 ds-fill-primary-t",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},[t.createElementVNode("path",{d:"M447.1 32h-384C28.64 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM111.1 96c26.51 0 48 21.49 48 48S138.5 192 111.1 192s-48-21.49-48-48S85.48 96 111.1 96zM446.1 407.6C443.3 412.8 437.9 416 432 416H82.01c-6.021 0-11.53-3.379-14.26-8.75c-2.73-5.367-2.215-11.81 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51l93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192C448.6 396 448.9 402.3 446.1 407.6z"})],-1)),te=["accept","multiple"],ae=t.defineComponent({__name:"BImagePicker",props:{inputId:{default:""},modelValue:{},label:{default:""},multiple:{type:Boolean,default:!1},maxFileSize:{default:20},hideDetails:{type:Boolean,default:!1},required:{type:Boolean,default:!1},requiredErrorMessage:{default:""},validationRules:{default:void 0}},emits:["change","update:modelValue"],setup(d,{expose:y,emit:c}){const l=d,{t:p}=L.useI18n(),m=t.ref(null),_=t.ref(0),n=t.computed({get(){return l.modelValue},set(e){c("update:modelValue",e)}}),g=t.ref(!0),v=t.ref(!0),i=t.ref({visible:!1,url:""}),f=t.computed(()=>h.FileImageTypes.join(", ")),V=t.computed(()=>l.inputId||`id-${O()}`),k={validateRule:e=>!!e&&e.length>0,errorMessage:()=>l.requiredErrorMessage||p("ds.global.field_required")},B={validateRule:()=>g.value,errorMessage:()=>p("ds.components.base.image_picker.file_types_valid",{types:f.value})},D={validateRule:()=>v.value,errorMessage:()=>p("ds.components.base.image_picker.file_size_valid",{size:l.maxFileSize})},w=t.computed(()=>{let e=[];return l.required&&e.push(k),l.validationRules&&(e=e.concat(l.validationRules)),e.push(B),e.push(D),e.length?e:void 0}),{validate:u,validationResult:C}=A.useValidationField(V.value,n,w.value);y({validate:u});const I=(e,a)=>{_.value=e,a.target.classList.add("dragging"),a.dataTransfer.effectAllowed="move",a.dataTransfer.setData("index",e.toString())},b=e=>{e.target.classList.remove("dragging")},E=(e,a)=>{const s=a.target;_.value!==e&&s.classList.add("dropped-target")},q=e=>{e.preventDefault(),e.dataTransfer.dropEffect="move"},x=e=>{e.target.classList.remove("dropped-target")},F=(e,a)=>{a.preventDefault(),a.target.classList.remove("dropped-target");const r=parseInt(a.dataTransfer.getData("index")),o=n.value[r];n.value.splice(r,1),n.value.splice(e,0,o),c("change"),u()},N=()=>{var e;(e=m.value)==null||e.click()},R=e=>{let a=e.target.files||e.dataTransfer.files;a.length&&S(a)},S=e=>{Array.from(e).forEach(a=>{if(g.value=h.FileImageTypes.includes(a.type),v.value=z(a.size)<=l.maxFileSize,g.value&&v.value){let s=new FileReader;s.onload=r=>{l.multiple?n.value.push({url:r.target.result,file:a,type:a.type}):n.value.splice(0,1,{url:r.target.result,file:a,type:a.type}),c("change"),u()},s.readAsDataURL(a)}else u()})},T=(e,a)=>{e.stopPropagation(),n.value.splice(a,1),c("change"),u()},z=e=>e/1024**2,M=e=>{i.value.url=e.url,i.value.visible=!0};return(e,a)=>(t.openBlock(),t.createElementBlock("div",K,[t.createVNode($,{label:l.label},null,8,["label"]),t.createElementVNode("div",Q,[t.unref(G)(n.value)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",W,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,(s,r)=>(t.openBlock(),t.createElementBlock("div",{key:r,class:"draggable ds-h-full ds-cursor-pointer ds-rounded-lg ds-transition-all hover:ds-ring-2 hover:ds-ring-primary-t",draggable:"true",onClick:o=>M(s),onDragend:b,onDragenter:o=>E(r,o),onDragleave:x,onDragover:q,onDragstart:o=>I(r,o),onDrop:o=>F(r,o)},[t.createElementVNode("img",{src:s.url,alt:"image",class:"ds-h-full ds-w-full ds-rounded-lg"},null,8,Y),t.createVNode(P,{class:"ds-right-1 ds-top-1 ds-h-8 ds-w-8",onClick:o=>T(o,r)},null,8,["onClick"])],40,X))),128))])),t.createElementVNode("div",Z,[t.createVNode(U,{onClick:N},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.$t("ds.components.base.image_picker.select_image")),1)]),"append-icon":t.withCtx(()=>[ee]),_:1}),t.createElementVNode("input",{ref_key:"inputRef",ref:m,accept:f.value,multiple:l.multiple,class:"ds-hidden",type:"file",onChange:R},null,40,te)])]),l.hideDetails?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(H,{key:0,"error-message":t.unref(C).errorMessage(),class:"mt-1"},null,8,["error-message"])),t.createVNode(j,{modelValue:i.value.visible,"onUpdate:modelValue":a[0]||(a[0]=s=>i.value.visible=s),url:i.value.url},null,8,["modelValue","url"])]))}});module.exports=ae;
1
+ "use strict";const t=require("vue"),h=require("./design-system4.js"),L=require("./design-system48.js"),P=require("./design-system104.js"),j=require("./design-system46.js"),A=require("./design-system3.js"),$=require("./design-system31.js"),U=require("./design-system11.js"),H=require("./design-system30.js"),O=require("./design-system98.js"),G=require("./design-system103.js"),J=d=>(t.pushScopeId("data-v-91ede486"),d=d(),t.popScopeId(),d),K={class:"ds-w-full"},Q={class:"ds-gap-2 ds-space-y-4 ds-rounded-lg ds-bg-white ds-p-4 ds-drop-shadow"},W={key:0,class:"ds-flex ds-flex-wrap ds-justify-center ds-gap-1"},X=["onClick","onDragenter","onDragstart","onDrop"],Y=["src"],Z={class:"ds-flex ds-flex-wrap ds-justify-center"},ee=J(()=>t.createElementVNode("svg",{class:"ds-absolute -ds-bottom-[3px] ds-left-0 ds-h-4 ds-w-4 ds-fill-primary-t",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},[t.createElementVNode("path",{d:"M447.1 32h-384C28.64 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM111.1 96c26.51 0 48 21.49 48 48S138.5 192 111.1 192s-48-21.49-48-48S85.48 96 111.1 96zM446.1 407.6C443.3 412.8 437.9 416 432 416H82.01c-6.021 0-11.53-3.379-14.26-8.75c-2.73-5.367-2.215-11.81 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51l93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192C448.6 396 448.9 402.3 446.1 407.6z"})],-1)),te=["accept","multiple"],ae=t.defineComponent({__name:"BImagePicker",props:{inputId:{default:""},modelValue:{},label:{default:""},multiple:{type:Boolean,default:!1},maxFileSize:{default:20},hideDetails:{type:Boolean,default:!1},required:{type:Boolean,default:!1},requiredErrorMessage:{default:""},validationRules:{default:void 0}},emits:["change","update:modelValue"],setup(d,{expose:y,emit:c}){const l=d,{t:p}=L.useI18n(),m=t.ref(null),_=t.ref(0),n=t.computed({get(){return l.modelValue},set(e){c("update:modelValue",e)}}),g=t.ref(!0),v=t.ref(!0),i=t.ref({visible:!1,url:""}),f=t.computed(()=>h.FileImageTypes.join(", ")),V=t.computed(()=>l.inputId||`id-${O()}`),k={validateRule:e=>!!e&&e.length>0,errorMessage:()=>l.requiredErrorMessage||p("ds.global.field_required")},B={validateRule:()=>g.value,errorMessage:()=>p("ds.components.base.image_picker.file_types_valid",{types:f.value})},D={validateRule:()=>v.value,errorMessage:()=>p("ds.components.base.image_picker.file_size_valid",{size:l.maxFileSize})},w=t.computed(()=>{let e=[];return l.required&&e.push(k),l.validationRules&&(e=e.concat(l.validationRules)),e.push(B),e.push(D),e.length?e:void 0}),{validate:u,validationResult:C}=A.useValidationField(V.value,n,w.value);y({validate:u});const I=(e,a)=>{_.value=e,a.target.classList.add("dragging"),a.dataTransfer.effectAllowed="move",a.dataTransfer.setData("index",e.toString())},b=e=>{e.target.classList.remove("dragging")},E=(e,a)=>{const s=a.target;_.value!==e&&s.classList.add("dropped-target")},q=e=>{e.preventDefault(),e.dataTransfer.dropEffect="move"},x=e=>{e.target.classList.remove("dropped-target")},F=(e,a)=>{a.preventDefault(),a.target.classList.remove("dropped-target");const r=parseInt(a.dataTransfer.getData("index")),o=n.value[r];n.value.splice(r,1),n.value.splice(e,0,o),c("change"),u()},N=()=>{var e;(e=m.value)==null||e.click()},R=e=>{let a=e.target.files||e.dataTransfer.files;a.length&&S(a)},S=e=>{Array.from(e).forEach(a=>{if(g.value=h.FileImageTypes.includes(a.type),v.value=z(a.size)<=l.maxFileSize,g.value&&v.value){let s=new FileReader;s.onload=r=>{l.multiple?n.value.push({url:r.target.result,file:a,type:a.type}):n.value.splice(0,1,{url:r.target.result,file:a,type:a.type}),c("change"),u()},s.readAsDataURL(a)}else u()})},T=(e,a)=>{e.stopPropagation(),n.value.splice(a,1),c("change"),u()},z=e=>e/1024**2,M=e=>{i.value.url=e.url,i.value.visible=!0};return(e,a)=>(t.openBlock(),t.createElementBlock("div",K,[t.createVNode($,{label:l.label},null,8,["label"]),t.createElementVNode("div",Q,[t.unref(G)(n.value)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",W,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,(s,r)=>(t.openBlock(),t.createElementBlock("div",{key:r,class:"draggable ds-h-full ds-cursor-pointer ds-rounded-lg ds-transition-all hover:ds-ring-2 hover:ds-ring-primary-t",draggable:"true",onClick:o=>M(s),onDragend:b,onDragenter:o=>E(r,o),onDragleave:x,onDragover:q,onDragstart:o=>I(r,o),onDrop:o=>F(r,o)},[t.createElementVNode("img",{src:s.url,alt:"image",class:"ds-h-full ds-w-full ds-rounded-lg"},null,8,Y),t.createVNode(P,{class:"ds-right-1 ds-top-1 ds-h-8 ds-w-8",onClick:o=>T(o,r)},null,8,["onClick"])],40,X))),128))])),t.createElementVNode("div",Z,[t.createVNode(U,{onClick:N},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.$t("ds.components.base.image_picker.select_image")),1)]),"append-icon":t.withCtx(()=>[ee]),_:1}),t.createElementVNode("input",{ref_key:"inputRef",ref:m,accept:f.value,multiple:l.multiple,class:"ds-hidden",type:"file",onChange:R},null,40,te)])]),l.hideDetails?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(H,{key:0,"error-message":t.unref(C).errorMessage(),class:"mt-1"},null,8,["error-message"])),t.createVNode(j,{modelValue:i.value.visible,"onUpdate:modelValue":a[0]||(a[0]=s=>i.value.visible=s),url:i.value.url},null,8,["modelValue","url"])]))}});module.exports=ae;
2
2
  //# sourceMappingURL=design-system89.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system89.js","sources":["../src/components/BImagePicker/BImagePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-91ede486\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ds-w-full\" }\nconst _hoisted_2 = { class: \"ds-gap-2 ds-space-y-4 ds-rounded-lg ds-bg-white ds-p-4 ds-drop-shadow\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"ds-flex ds-flex-wrap ds-justify-center ds-gap-1\"\n}\nconst _hoisted_4 = [\"onClick\", \"onDragenter\", \"onDragstart\", \"onDrop\"]\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = { class: \"ds-flex ds-flex-wrap ds-justify-center\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"ds-absolute -ds-bottom-[3px] ds-left-0 ds-h-4 ds-w-4 ds-fill-primary-t\",\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", { d: \"M447.1 32h-384C28.64 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM111.1 96c26.51 0 48 21.49 48 48S138.5 192 111.1 192s-48-21.49-48-48S85.48 96 111.1 96zM446.1 407.6C443.3 412.8 437.9 416 432 416H82.01c-6.021 0-11.53-3.379-14.26-8.75c-2.73-5.367-2.215-11.81 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51l93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192C448.6 396 448.9 402.3 446.1 407.6z\" })\n], -1))\nconst _hoisted_8 = [\"accept\", \"multiple\"]\n\nimport { FileImageTypes } from '@/constants/Common';\nimport type { FileItemRead } from '@/types';\nimport { isEmpty } from 'lodash-es';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BImagePickerCloseButton from './BImagePickerCloseButton.vue';\nimport ImagePreview from './BImagePreview.vue';\nimport type { ValidationRule } from '@/composables/Validation';\nimport { useValidationField } from '@/composables/Validation';\nimport BLabel from '../BLabel.vue';\nimport BButton from '../BButton.vue';\nimport BErrorMessage from '../BErrorMessage.vue';\n\n/**\n * Props\n */\nexport interface Props {\n inputId?: string;\n modelValue: FileItemRead[];\n label?: string;\n multiple?: boolean;\n maxFileSize?: number;\n hideDetails?: boolean;\n required?: boolean;\n requiredErrorMessage?: string;\n validationRules?: ValidationRule[];\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BImagePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n multiple: { type: Boolean, default: false },\n maxFileSize: { default: 20 },\n hideDetails: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n validationRules: { default: undefined }\n },\n emits: [\"change\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit }) {\n\nconst props = __props;\n\n/**\n * Drag & Drop: https://www.w3schools.com/jsref/event_ondragover.asp\n */\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst draggedIndex = ref(0);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst fileTypesValid = ref(true);\nconst fileSizeValid = ref(true);\nconst previewImage = ref({\n visible: false,\n url: '',\n});\nconst allowedTypes = computed(() => FileImageTypes.join(', '));\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst validateRequired: ValidationRule = {\n validateRule: (val: FileItemRead[]) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst validateFileTypesValid: ValidationRule = {\n validateRule: () => fileTypesValid.value,\n errorMessage: () =>\n t('ds.components.base.image_picker.file_types_valid', {\n types: allowedTypes.value,\n }),\n};\nconst validateFileSizeValid: ValidationRule = {\n validateRule: () => fileSizeValid.value,\n errorMessage: () =>\n t('ds.components.base.image_picker.file_size_valid', {\n size: props.maxFileSize,\n }),\n};\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n result.push(validateFileTypesValid);\n result.push(validateFileSizeValid);\n\n return result.length ? result : undefined;\n});\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n__expose({ validate });\n\n/**\n * Methods\n */\n/* Events fired on the drag target */\nconst handleDragStart = (index: number, e: DragEvent) => {\n draggedIndex.value = index;\n const target = e.target as HTMLDivElement;\n target.classList.add('dragging');\n e.dataTransfer!.effectAllowed = 'move';\n e.dataTransfer!.setData('index', index.toString());\n};\nconst handleDragEnd = (e: DragEvent) => {\n const target = e.target as HTMLDivElement;\n target.classList.remove('dragging');\n};\n/* Events fired on the drop target */\nconst handleDragEnter = (index: number, e: DragEvent) => {\n const target = e.target as HTMLDivElement;\n if (draggedIndex.value !== index) {\n target.classList.add('dropped-target');\n }\n};\nconst handleDragOver = (e: DragEvent) => {\n // By default, data/elements cannot be dropped in other elements. To allow a drop, we must prevent the default handling of the element\n e.preventDefault();\n e.dataTransfer!.dropEffect = 'move';\n};\nconst handleDragLeave = (e: DragEvent) => {\n // When the draggable p element leaves the droptarget, reset the style\n const target = e.target as HTMLDivElement;\n target.classList.remove('dropped-target');\n};\nconst handleDrop = (index: number, e: DragEvent) => {\n e.preventDefault();\n const target = e.target as HTMLDivElement;\n target.classList.remove('dropped-target');\n const draggedIndex = parseInt(e.dataTransfer!.getData('index'));\n const draggedImg = value.value[draggedIndex];\n value.value.splice(draggedIndex, 1);\n value.value.splice(index, 0, draggedImg);\n\n emit('change');\n validate();\n};\nconst openFileDialog = () => {\n inputRef.value?.click();\n};\nconst onChangeInput = (e: any) => {\n let fileList: FileList = e.target.files || e.dataTransfer.files;\n if (!fileList.length) {\n return;\n }\n createFileImages(fileList);\n};\nconst createFileImages = (fileList: FileList) => {\n Array.from(fileList).forEach((file) => {\n fileTypesValid.value = FileImageTypes.includes(file.type);\n fileSizeValid.value = convertToMB(file.size) <= props.maxFileSize;\n\n if (fileTypesValid.value && fileSizeValid.value) {\n let reader: any = new FileReader();\n\n reader.onload = (f: any) => {\n if (props.multiple) {\n value.value.push({\n url: f.target.result,\n file,\n type: file.type,\n });\n } else {\n value.value.splice(0, 1, {\n url: f.target.result,\n file,\n type: file.type,\n });\n }\n\n emit('change');\n validate();\n };\n\n reader.readAsDataURL(file);\n } else {\n validate();\n }\n });\n};\nconst removeFileImage = (e: Event, index: number) => {\n e.stopPropagation();\n value.value.splice(index, 1);\n\n emit('change');\n validate();\n};\nconst convertToMB = (numberOfBytes: number) => numberOfBytes / 1024 ** 2;\nconst preview = (item: FileItemRead) => {\n previewImage.value.url = item.url;\n previewImage.value.visible = true;\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(BLabel, {\n label: props.label\n }, null, 8, [\"label\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (!_unref(isEmpty)(value.value))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(value.value, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"draggable ds-h-full ds-cursor-pointer ds-rounded-lg ds-transition-all hover:ds-ring-2 hover:ds-ring-primary-t\",\n draggable: \"true\",\n onClick: ($event: any) => (preview(item)),\n onDragend: handleDragEnd,\n onDragenter: ($event: any) => (handleDragEnter(index, $event)),\n onDragleave: handleDragLeave,\n onDragover: handleDragOver,\n onDragstart: ($event: any) => (handleDragStart(index, $event)),\n onDrop: ($event: any) => (handleDrop(index, $event))\n }, [\n _createElementVNode(\"img\", {\n src: item.url,\n alt: \"image\",\n class: \"ds-h-full ds-w-full ds-rounded-lg\"\n }, null, 8, _hoisted_5),\n _createVNode(BImagePickerCloseButton, {\n class: \"ds-right-1 ds-top-1 ds-h-8 ds-w-8\",\n onClick: (e) => removeFileImage(e, index)\n }, null, 8, [\"onClick\"])\n ], 40, _hoisted_4))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(BButton, { onClick: openFileDialog }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('ds.components.base.image_picker.select_image')), 1)\n ]),\n \"append-icon\": _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }),\n _createElementVNode(\"input\", {\n ref_key: \"inputRef\",\n ref: inputRef,\n accept: allowedTypes.value,\n multiple: props.multiple,\n class: \"ds-hidden\",\n type: \"file\",\n onChange: onChangeInput\n }, null, 40, _hoisted_8)\n ])\n ]),\n (!props.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(ImagePreview, {\n modelValue: previewImage.value.visible,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((previewImage.value.visible) = $event)),\n url: previewImage.value.url\n }, null, 8, [\"modelValue\", \"url\"])\n ]))\n}\n}\n\n})"],"names":["_withScopeId","_pushScopeId","n","_popScopeId","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createElementVNode","_hoisted_8","_sfc_main","_defineComponent","__props","__expose","emit","props","t","useI18n","inputRef","ref","draggedIndex","value","computed","val","fileTypesValid","fileSizeValid","previewImage","allowedTypes","FileImageTypes","id","uuid","validateRequired","validateFileTypesValid","validateFileSizeValid","vRules","result","validate","validationResult","useValidationField","handleDragStart","index","e","handleDragEnd","handleDragEnter","target","handleDragOver","handleDragLeave","handleDrop","draggedImg","openFileDialog","_a","onChangeInput","fileList","createFileImages","file","convertToMB","reader","f","removeFileImage","numberOfBytes","preview","item","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_unref","isEmpty","_createCommentVNode","_Fragment","_renderList","$event","BImagePickerCloseButton","BButton","_withCtx","_createTextVNode","_toDisplayString","_createBlock","BErrorMessage","ImagePreview"],"mappings":"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"}
1
+ {"version":3,"file":"design-system89.js","sources":["../src/components/BImagePicker/BImagePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-91ede486\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ds-w-full\" }\nconst _hoisted_2 = { class: \"ds-gap-2 ds-space-y-4 ds-rounded-lg ds-bg-white ds-p-4 ds-drop-shadow\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"ds-flex ds-flex-wrap ds-justify-center ds-gap-1\"\n}\nconst _hoisted_4 = [\"onClick\", \"onDragenter\", \"onDragstart\", \"onDrop\"]\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = { class: \"ds-flex ds-flex-wrap ds-justify-center\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"ds-absolute -ds-bottom-[3px] ds-left-0 ds-h-4 ds-w-4 ds-fill-primary-t\",\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", { d: \"M447.1 32h-384C28.64 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM111.1 96c26.51 0 48 21.49 48 48S138.5 192 111.1 192s-48-21.49-48-48S85.48 96 111.1 96zM446.1 407.6C443.3 412.8 437.9 416 432 416H82.01c-6.021 0-11.53-3.379-14.26-8.75c-2.73-5.367-2.215-11.81 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51l93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192C448.6 396 448.9 402.3 446.1 407.6z\" })\n], -1))\nconst _hoisted_8 = [\"accept\", \"multiple\"]\n\nimport { FileImageTypes } from '@/constants/Common';\nimport type { FileItemRead } from '@/types';\nimport { isEmpty } from 'lodash-es';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BImagePickerCloseButton from './BImagePickerCloseButton.vue';\nimport ImagePreview from './BImagePreview.vue';\nimport type { ValidationRule } from '@/composables/Validation';\nimport { useValidationField } from '@/composables/Validation';\nimport BLabel from '../BLabel.vue';\nimport BButton from '../BButton.vue';\nimport BErrorMessage from '../BErrorMessage.vue';\n\n/**\n * Props\n */\nexport interface Props {\n inputId?: string;\n modelValue: FileItemRead[];\n label?: string;\n multiple?: boolean;\n maxFileSize?: number;\n hideDetails?: boolean;\n required?: boolean;\n requiredErrorMessage?: string;\n validationRules?: ValidationRule[];\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BImagePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n multiple: { type: Boolean, default: false },\n maxFileSize: { default: 20 },\n hideDetails: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n validationRules: { default: undefined }\n },\n emits: [\"change\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit }) {\n\nconst props = __props;\n\n/**\n * Drag & Drop: https://www.w3schools.com/jsref/event_ondragover.asp\n */\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst draggedIndex = ref(0);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst fileTypesValid = ref(true);\nconst fileSizeValid = ref(true);\nconst previewImage = ref({\n visible: false,\n url: '',\n});\nconst allowedTypes = computed(() => FileImageTypes.join(', '));\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst validateRequired: ValidationRule = {\n validateRule: (val: FileItemRead[]) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst validateFileTypesValid: ValidationRule = {\n validateRule: () => fileTypesValid.value,\n errorMessage: () =>\n t('ds.components.base.image_picker.file_types_valid', {\n types: allowedTypes.value,\n }),\n};\nconst validateFileSizeValid: ValidationRule = {\n validateRule: () => fileSizeValid.value,\n errorMessage: () =>\n t('ds.components.base.image_picker.file_size_valid', {\n size: props.maxFileSize,\n }),\n};\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n result.push(validateFileTypesValid);\n result.push(validateFileSizeValid);\n\n return result.length ? result : undefined;\n});\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n__expose({ validate });\n\n/**\n * Methods\n */\n/* Events fired on the drag target */\nconst handleDragStart = (index: number, e: DragEvent) => {\n draggedIndex.value = index;\n const target = e.target as HTMLDivElement;\n target.classList.add('dragging');\n e.dataTransfer!.effectAllowed = 'move';\n e.dataTransfer!.setData('index', index.toString());\n};\nconst handleDragEnd = (e: DragEvent) => {\n const target = e.target as HTMLDivElement;\n target.classList.remove('dragging');\n};\n/* Events fired on the drop target */\nconst handleDragEnter = (index: number, e: DragEvent) => {\n const target = e.target as HTMLDivElement;\n if (draggedIndex.value !== index) {\n target.classList.add('dropped-target');\n }\n};\nconst handleDragOver = (e: DragEvent) => {\n // By default, data/elements cannot be dropped in other elements. To allow a drop, we must prevent the default handling of the element\n e.preventDefault();\n e.dataTransfer!.dropEffect = 'move';\n};\nconst handleDragLeave = (e: DragEvent) => {\n // When the draggable p element leaves the droptarget, reset the style\n const target = e.target as HTMLDivElement;\n target.classList.remove('dropped-target');\n};\nconst handleDrop = (index: number, e: DragEvent) => {\n e.preventDefault();\n const target = e.target as HTMLDivElement;\n target.classList.remove('dropped-target');\n const draggedIndex = parseInt(e.dataTransfer!.getData('index'));\n const draggedImg = value.value[draggedIndex];\n value.value.splice(draggedIndex, 1);\n value.value.splice(index, 0, draggedImg);\n\n emit('change');\n validate();\n};\nconst openFileDialog = () => {\n inputRef.value?.click();\n};\nconst onChangeInput = (e: any) => {\n let fileList: FileList = e.target.files || e.dataTransfer.files;\n if (!fileList.length) {\n return;\n }\n createFileImages(fileList);\n};\nconst createFileImages = (fileList: FileList) => {\n Array.from(fileList).forEach((file) => {\n fileTypesValid.value = FileImageTypes.includes(file.type);\n fileSizeValid.value = convertToMB(file.size) <= props.maxFileSize;\n\n if (fileTypesValid.value && fileSizeValid.value) {\n let reader: any = new FileReader();\n\n reader.onload = (f: any) => {\n if (props.multiple) {\n value.value.push({\n url: f.target.result,\n file,\n type: file.type,\n });\n } else {\n value.value.splice(0, 1, {\n url: f.target.result,\n file,\n type: file.type,\n });\n }\n\n emit('change');\n validate();\n };\n\n reader.readAsDataURL(file);\n } else {\n validate();\n }\n });\n};\nconst removeFileImage = (e: Event, index: number) => {\n e.stopPropagation();\n value.value.splice(index, 1);\n\n emit('change');\n validate();\n};\nconst convertToMB = (numberOfBytes: number) => numberOfBytes / 1024 ** 2;\nconst preview = (item: FileItemRead) => {\n previewImage.value.url = item.url;\n previewImage.value.visible = true;\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(BLabel, {\n label: props.label\n }, null, 8, [\"label\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (!_unref(isEmpty)(value.value))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(value.value, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"draggable ds-h-full ds-cursor-pointer ds-rounded-lg ds-transition-all hover:ds-ring-2 hover:ds-ring-primary-t\",\n draggable: \"true\",\n onClick: ($event: any) => (preview(item)),\n onDragend: handleDragEnd,\n onDragenter: ($event: any) => (handleDragEnter(index, $event)),\n onDragleave: handleDragLeave,\n onDragover: handleDragOver,\n onDragstart: ($event: any) => (handleDragStart(index, $event)),\n onDrop: ($event: any) => (handleDrop(index, $event))\n }, [\n _createElementVNode(\"img\", {\n src: item.url,\n alt: \"image\",\n class: \"ds-h-full ds-w-full ds-rounded-lg\"\n }, null, 8, _hoisted_5),\n _createVNode(BImagePickerCloseButton, {\n class: \"ds-right-1 ds-top-1 ds-h-8 ds-w-8\",\n onClick: (e) => removeFileImage(e, index)\n }, null, 8, [\"onClick\"])\n ], 40, _hoisted_4))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(BButton, { onClick: openFileDialog }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('ds.components.base.image_picker.select_image')), 1)\n ]),\n \"append-icon\": _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }),\n _createElementVNode(\"input\", {\n ref_key: \"inputRef\",\n ref: inputRef,\n accept: allowedTypes.value,\n multiple: props.multiple,\n class: \"ds-hidden\",\n type: \"file\",\n onChange: onChangeInput\n }, null, 40, _hoisted_8)\n ])\n ]),\n (!props.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(ImagePreview, {\n modelValue: previewImage.value.visible,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((previewImage.value.visible) = $event)),\n url: previewImage.value.url\n }, null, 8, [\"modelValue\", \"url\"])\n ]))\n}\n}\n\n})"],"names":["_withScopeId","_pushScopeId","n","_popScopeId","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createElementVNode","_hoisted_8","_sfc_main","_defineComponent","__props","__expose","emit","props","t","useI18n","inputRef","ref","draggedIndex","value","computed","val","fileTypesValid","fileSizeValid","previewImage","allowedTypes","FileImageTypes","id","uuid","validateRequired","validateFileTypesValid","validateFileSizeValid","vRules","result","validate","validationResult","useValidationField","handleDragStart","index","e","handleDragEnd","handleDragEnter","target","handleDragOver","handleDragLeave","handleDrop","draggedImg","openFileDialog","_a","onChangeInput","fileList","createFileImages","file","convertToMB","reader","f","removeFileImage","numberOfBytes","preview","item","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_unref","isEmpty","_createCommentVNode","_Fragment","_renderList","$event","BImagePickerCloseButton","BButton","_withCtx","_createTextVNode","_toDisplayString","_createBlock","BErrorMessage","ImagePreview"],"mappings":"wXAGMA,MAAqBC,EAAa,YAAA,iBAAiB,EAAEC,EAAEA,IAAIC,EAAAA,aAAcD,GACzEE,EAAa,CAAE,MAAO,aACtBC,EAAa,CAAE,MAAO,yEACtBC,EAAa,CACjB,IAAK,EACL,MAAO,iDACT,EACMC,EAAa,CAAC,UAAW,cAAe,cAAe,QAAQ,EAC/DC,EAAa,CAAC,KAAK,EACnBC,EAAa,CAAE,MAAO,0CACtBC,GAA2BV,EAAa,IAAmBW,EAAA,mBAAoB,MAAO,CAC1F,MAAO,yEACP,QAAS,cACT,MAAO,4BACT,EAAG,CACgCA,EAAAA,mBAAA,OAAQ,CAAE,EAAG,wgBAAygB,CACzjB,EAAG,EAAE,CAAC,EACAC,GAAa,CAAC,SAAU,UAAU,EA+BZC,GAAiBC,kBAAA,CAC3C,OAAQ,eACR,MAAO,CACL,QAAS,CAAE,QAAS,EAAG,EACvB,WAAY,CAAC,EACb,MAAO,CAAE,QAAS,EAAG,EACrB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAM,EAC1C,YAAa,CAAE,QAAS,EAAG,EAC3B,YAAa,CAAE,KAAM,QAAS,QAAS,EAAM,EAC7C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAM,EAC1C,qBAAsB,CAAE,QAAS,EAAG,EACpC,gBAAiB,CAAE,QAAS,MAAU,CACxC,EACA,MAAO,CAAC,SAAU,mBAAmB,EACrC,MAAMC,EAAc,CAAE,OAAQC,EAAU,KAAAC,GAAQ,CAElD,MAAMC,EAAQH,EAeR,CAAE,EAAAI,GAAMC,EAAAA,UACRC,EAAWC,MAA6B,IAAI,EAC5CC,EAAeD,MAAI,CAAC,EACpBE,EAAQC,EAAAA,SAAS,CACrB,KAAM,CACJ,OAAOP,EAAM,UACf,EACA,IAAIQ,EAAK,CACPT,EAAK,oBAAqBS,CAAG,CAC/B,CAAA,CACD,EACKC,EAAiBL,MAAI,EAAI,EACzBM,EAAgBN,MAAI,EAAI,EACxBO,EAAeP,EAAAA,IAAI,CACvB,QAAS,GACT,IAAK,EAAA,CACN,EACKQ,EAAeL,EAAAA,SAAS,IAAMM,EAAe,eAAA,KAAK,IAAI,CAAC,EACvDC,EAAKP,WAAS,IAAMP,EAAM,SAAW,MAAMe,GAAM,EAAE,EACnDC,EAAmC,CACvC,aAAeR,GAAwB,CAAC,CAACA,GAAOA,EAAI,OAAS,EAC7D,aAAc,IACZR,EAAM,sBAAwBC,EAAE,0BAA0B,CAAA,EAExDgB,EAAyC,CAC7C,aAAc,IAAMR,EAAe,MACnC,aAAc,IACZR,EAAE,mDAAoD,CACpD,MAAOW,EAAa,KAAA,CACrB,CAAA,EAECM,EAAwC,CAC5C,aAAc,IAAMR,EAAc,MAClC,aAAc,IACZT,EAAE,kDAAmD,CACnD,KAAMD,EAAM,WAAA,CACb,CAAA,EAECmB,EAASZ,EAAAA,SAAS,IAAM,CAC5B,IAAIa,EAA2B,CAAA,EAE/B,OAAIpB,EAAM,UACRoB,EAAO,KAAKJ,CAAgB,EAE1BhB,EAAM,kBACCoB,EAAAA,EAAO,OAAOpB,EAAM,eAAe,GAE9CoB,EAAO,KAAKH,CAAsB,EAClCG,EAAO,KAAKF,CAAqB,EAE1BE,EAAO,OAASA,EAAS,MAAA,CACjC,EACK,CAAE,SAAAC,EAAU,iBAAAC,CAAA,EAAqBC,EAAA,mBACrCT,EAAG,MACHR,EACAa,EAAO,KAAA,EAEArB,EAAA,CAAE,SAAAuB,EAAU,EAMf,MAAAG,EAAkB,CAACC,EAAeC,IAAiB,CACvDrB,EAAa,MAAQoB,EACNC,EAAE,OACV,UAAU,IAAI,UAAU,EAC/BA,EAAE,aAAc,cAAgB,OAChCA,EAAE,aAAc,QAAQ,QAASD,EAAM,UAAU,CAAA,EAE7CE,EAAiB,GAAiB,CACvB,EAAE,OACV,UAAU,OAAO,UAAU,CAAA,EAG9BC,EAAkB,CAACH,EAAeC,IAAiB,CACvD,MAAMG,EAASH,EAAE,OACbrB,EAAa,QAAUoB,GAClBI,EAAA,UAAU,IAAI,gBAAgB,CACvC,EAEIC,EAAkB,GAAiB,CAEvC,EAAE,eAAe,EACjB,EAAE,aAAc,WAAa,MAAA,EAEzBC,EAAmB,GAAiB,CAEzB,EAAE,OACV,UAAU,OAAO,gBAAgB,CAAA,EAEpCC,EAAa,CAACP,EAAeC,IAAiB,CAClDA,EAAE,eAAe,EACFA,EAAE,OACV,UAAU,OAAO,gBAAgB,EACxC,MAAMrB,EAAe,SAASqB,EAAE,aAAc,QAAQ,OAAO,CAAC,EACxDO,EAAa3B,EAAM,MAAMD,CAAY,EACrCC,EAAA,MAAM,OAAOD,EAAc,CAAC,EAClCC,EAAM,MAAM,OAAOmB,EAAO,EAAGQ,CAAU,EAEvClC,EAAK,QAAQ,EACJsB,GAAA,EAELa,EAAiB,IAAM,QAC3BC,EAAAhC,EAAS,QAAT,MAAAgC,EAAgB,OAAM,EAElBC,EAAiB,GAAW,CAChC,IAAIC,EAAqB,EAAE,OAAO,OAAS,EAAE,aAAa,MACrDA,EAAS,QAGdC,EAAiBD,CAAQ,CAAA,EAErBC,EAAoBD,GAAuB,CAC/C,MAAM,KAAKA,CAAQ,EAAE,QAASE,GAAS,CAIjC,GAHJ9B,EAAe,MAAQI,EAAA,eAAe,SAAS0B,EAAK,IAAI,EACxD7B,EAAc,MAAQ8B,EAAYD,EAAK,IAAI,GAAKvC,EAAM,YAElDS,EAAe,OAASC,EAAc,MAAO,CAC3C,IAAA+B,EAAc,IAAI,WAEfA,EAAA,OAAUC,GAAW,CACtB1C,EAAM,SACRM,EAAM,MAAM,KAAK,CACf,IAAKoC,EAAE,OAAO,OACd,KAAAH,EACA,KAAMA,EAAK,IAAA,CACZ,EAEKjC,EAAA,MAAM,OAAO,EAAG,EAAG,CACvB,IAAKoC,EAAE,OAAO,OACd,KAAAH,EACA,KAAMA,EAAK,IAAA,CACZ,EAGHxC,EAAK,QAAQ,EACJsB,GAAA,EAGXoB,EAAO,cAAcF,CAAI,CAAA,MAEhBlB,GACX,CACD,CAAA,EAEGsB,EAAkB,CAAC,EAAUlB,IAAkB,CACnD,EAAE,gBAAgB,EACZnB,EAAA,MAAM,OAAOmB,EAAO,CAAC,EAE3B1B,EAAK,QAAQ,EACJsB,GAAA,EAELmB,EAAeI,GAA0BA,EAAgB,MAAQ,EACjEC,EAAWC,GAAuB,CACzBnC,EAAA,MAAM,IAAMmC,EAAK,IAC9BnC,EAAa,MAAM,QAAU,EAAA,EAGxB,MAAA,CAACoC,EAAUC,KACRC,YAAW,EAAGC,qBAAoB,MAAOhE,EAAY,CAC3DiE,EAAAA,YAAaC,EAAQ,CACnB,MAAOpD,EAAM,KACZ,EAAA,KAAM,EAAG,CAAC,OAAO,CAAC,EACrBP,EAAA,mBAAoB,MAAON,EAAY,CACnCkE,EAAO,MAAAC,CAAO,EAAEhD,EAAM,KAAK,EA2BzBiD,EAAAA,mBAAoB,GAAI,EAAI,GA1B3BN,EAAAA,YAAcC,EAAAA,mBAAoB,MAAO9D,EAAY,EACnD6D,EAAAA,UAAW,EAAI,EAAGC,EAAoB,mBAAAM,WAAW,KAAMC,EAAA,WAAYnD,EAAM,MAAO,CAACwC,EAAMrB,KAC9EwB,EAAA,UAAA,EAAcC,EAAA,mBAAoB,MAAO,CAC/C,IAAKzB,EACL,MAAO,gHACP,UAAW,OACX,QAAUiC,GAAiBb,EAAQC,CAAI,EACvC,UAAWnB,EACX,YAAc+B,GAAiB9B,EAAgBH,EAAOiC,CAAM,EAC5D,YAAa3B,EACb,WAAYD,EACZ,YAAc4B,GAAiBlC,EAAgBC,EAAOiC,CAAM,EAC5D,OAASA,GAAiB1B,EAAWP,EAAOiC,CAAM,CAAA,EACjD,CACDjE,EAAAA,mBAAoB,MAAO,CACzB,IAAKqD,EAAK,IACV,IAAK,QACL,MAAO,mCAAA,EACN,KAAM,EAAGxD,CAAU,EACtB6D,EAAAA,YAAaQ,EAAyB,CACpC,MAAO,oCACP,QAAUjC,GAAMiB,EAAgBjB,EAAGD,CAAK,CACvC,EAAA,KAAM,EAAG,CAAC,SAAS,CAAC,CAAA,EACtB,GAAIpC,CAAU,EAClB,EAAG,GAAG,EAAA,CACR,GAELI,EAAA,mBAAoB,MAAOF,EAAY,CACrC4D,EAAAA,YAAaS,EAAS,CAAE,QAAS1B,GAAkB,CACjD,QAAS2B,UAAS,IAAM,CACtBC,kBAAiBC,EAAiB,gBAAAhB,EAAK,GAAG,8CAA8C,CAAC,EAAG,CAAC,CAAA,CAC9F,EACD,cAAec,UAAS,IAAM,CAC5BrE,EAAA,CACD,EACD,EAAG,CAAA,CACJ,EACDC,EAAAA,mBAAoB,QAAS,CAC3B,QAAS,WACT,IAAKU,EACL,OAAQS,EAAa,MACrB,SAAUZ,EAAM,SAChB,MAAO,YACP,KAAM,OACN,SAAUoC,CAAA,EACT,KAAM,GAAI1C,EAAU,CAAA,CACxB,CAAA,CACF,EACCM,EAAM,YAMJuD,EAAoB,mBAAA,GAAI,EAAI,GAL3BN,EAAW,UAAA,EAAGe,EAAAA,YAAaC,EAAe,CACzC,IAAK,EACL,gBAAiBZ,EAAA,MAAO/B,CAAgB,EAAE,aAAa,EACvD,MAAO,MAAA,EACN,KAAM,EAAG,CAAC,eAAe,CAAC,GAEjC6B,EAAAA,YAAae,EAAc,CACzB,WAAYvD,EAAa,MAAM,QAC/B,sBAAuBqC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKU,GAAkB/C,EAAa,MAAM,QAAW+C,GAClG,IAAK/C,EAAa,MAAM,KACvB,KAAM,EAAG,CAAC,aAAc,KAAK,CAAC,CAAA,CAClC,EAEH,CAEA,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as G, ref as c, computed as m, openBlock as p, createElementBlock as v, createVNode as f, createElementVNode as d, unref as b, Fragment as J, renderList as K, createCommentVNode as C, withCtx as I, createTextVNode as Q, toDisplayString as W, createBlock as X, pushScopeId as Y, popScopeId as Z } from "vue";
2
2
  import { FileImageTypes as V } from "./design-system4.mjs";
3
3
  import { useI18n as ee } from "./design-system48.mjs";
4
- import te from "./design-system161.mjs";
4
+ import te from "./design-system104.mjs";
5
5
  import ae from "./design-system46.mjs";
6
6
  import { useValidationField as le } from "./design-system3.mjs";
7
7
  import se from "./design-system31.mjs";
8
8
  import re from "./design-system11.mjs";
9
9
  import oe from "./design-system30.mjs";
10
10
  import de from "./design-system98.mjs";
11
- import ne from "./design-system99.mjs";
11
+ import ne from "./design-system103.mjs";
12
12
  const ie = (n) => (Y("data-v-91ede486"), n = n(), Z(), n), ue = { class: "ds-w-full" }, ce = { class: "ds-gap-2 ds-space-y-4 ds-rounded-lg ds-bg-white ds-p-4 ds-drop-shadow" }, pe = {
13
13
  key: 0,
14
14
  class: "ds-flex ds-flex-wrap ds-justify-center ds-gap-1"
@@ -1,2 +1,2 @@
1
- "use strict";const ne=require("./design-system94.js"),re=require("./design-system109.js");(function(he,fe){(function(U,j){he.exports=j()})(ne.commonjsGlobal,function(){return function(){var U={d:function(r,e){for(var t in e)U.o(e,t)&&!U.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},o:function(r,e){return Object.prototype.hasOwnProperty.call(r,e)}},j={};U.d(j,{default:function(){return T}});var l={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},Q={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:l.days,minView:l.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function y(r){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document;return typeof r=="string"?e.querySelector(r):r}function b(){let{tagName:r="div",className:e="",innerHtml:t="",id:s="",attrs:a={}}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=document.createElement(r);return e&&n.classList.add(...e.split(" ")),s&&(n.id=s),t&&(n.innerHTML=t),a&&z(n,a),n}function z(r,e){for(let[t,s]of Object.entries(e))s!==void 0&&r.setAttribute(t,s);return r}function Z(r){return new Date(r.getFullYear(),r.getMonth()+1,0).getDate()}function D(r){let e=r.getHours(),t=e%12==0?12:e%12;return{year:r.getFullYear(),month:r.getMonth(),fullMonth:r.getMonth()+1<10?"0"+(r.getMonth()+1):r.getMonth()+1,date:r.getDate(),fullDate:r.getDate()<10?"0"+r.getDate():r.getDate(),day:r.getDay(),hours:e,fullHours:O(e),hours12:t,fullHours12:O(t),minutes:r.getMinutes(),fullMinutes:r.getMinutes()<10?"0"+r.getMinutes():r.getMinutes()}}function O(r){return r<10?"0"+r:r}function F(r){let e=10*Math.floor(r.getFullYear()/10);return[e,e+9]}function M(){let r=[];for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return t.forEach(a=>{if(typeof a=="object")for(let n in a)a[n]&&r.push(n);else a&&r.push(a)}),r.join(" ")}function v(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l.days;if(!r||!e)return!1;let s=D(r),a=D(e);return{[l.days]:s.date===a.date&&s.month===a.month&&s.year===a.year,[l.months]:s.month===a.month&&s.year===a.year,[l.years]:s.year===a.year}[t]}function $(r,e,t){let s=J(r,!1).getTime(),a=J(e,!1).getTime();return t?s>=a:s>a}function E(r,e){return!$(r,e,!0)}function J(r){let e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],t=new Date(r.getTime());return typeof e!="boolean"||e||oe(t),t}function oe(r){return r.setHours(0,0,0,0),r}function w(r,e,t){r.length?r.forEach(s=>{s.addEventListener(e,t)}):r.addEventListener(e,t)}function R(r,e){return!(!r||r===document||r instanceof DocumentFragment)&&(r.matches(e)?r:R(r.parentNode,e))}function A(r,e,t){return r>t?t:r<e?e:r}function Y(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),s=1;s<e;s++)t[s-1]=arguments[s];return t.filter(a=>a).forEach(a=>{for(let[n,i]of Object.entries(a))if(i!==void 0&&i.toString()==="[object Object]"){let h=r[n]!==void 0?r[n].toString():void 0,o=i.toString(),d=Array.isArray(i)?[]:{};r[n]=r[n]?h!==o?d:r[n]:d,Y(r[n],i)}else r[n]=i}),r}function C(r){let e=r;return r instanceof Date||(e=new Date(r)),isNaN(e.getTime())&&(console.log('Unable to convert value "'.concat(r,'" to Date object')),e=!1),e}function G(r){let e="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+e+")("+r+")($|<|"+e+")","g")}function V(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}class le{constructor(){let{type:e,date:t,dp:s,opts:a,body:n}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};V(this,"focus",()=>{this.$cell.classList.add("-focus-"),this.focused=!0}),V(this,"removeFocus",()=>{this.$cell.classList.remove("-focus-"),this.focused=!1}),V(this,"select",()=>{this.$cell.classList.add("-selected-"),this.selected=!0}),V(this,"removeSelect",()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1}),V(this,"onChangeSelectedDate",()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())}),V(this,"onChangeFocusDate",i=>{if(!i)return void(this.focused&&this.removeFocus());let h=v(i,this.date,this.type);h?this.focus():!h&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()}),V(this,"render",()=>(this.$cell.innerHTML=this._getHtml(),this.$cell.adpCell=this,this.$cell)),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=s,this.opts=a,this.body=n,this.customData=!1,this.init()}init(){let{range:e,onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),e&&this._handleRangeStatus())}_bindDatepickerEvents(){this.dp.on(l.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(l.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(l.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(l.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var e;let{year:t,month:s,date:a}=D(this.date),n=((e=this.customData)===null||e===void 0?void 0:e.attrs)||{};this.$cell=b({className:this._getClassName(),attrs:{"data-year":t,"data-month":s,"data-date":a,...n}})}_getClassName(){var e,t;let s=new Date,{selectOtherMonths:a,selectOtherYears:n}=this.opts,{minDate:i,maxDate:h}=this.dp,{day:o}=D(this.date),d=this._isOutOfMinMaxRange(),c=(e=this.customData)===null||e===void 0?void 0:e.disabled,u=M("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":v(s,this.date,this.type),"-min-date-":i&&v(i,this.date,this.type),"-max-date-":h&&v(h,this.date,this.type)}),p="";switch(this.type){case l.days:p=M({"-weekend-":this.dp.isWeekend(o),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!a||d||c});break;case l.months:p=M({"-disabled-":d||c});break;case l.years:p=M({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!n||c})}return M(u,p,(t=this.customData)===null||t===void 0?void 0:t.classes)}_getHtml(){var e;let{year:t,month:s,date:a}=D(this.date),{showOtherMonths:n,showOtherYears:i}=this.opts;if((e=this.customData)!==null&&e!==void 0&&e.html)return this.customData.html;switch(this.type){case l.days:return!n&&this.isOtherMonth?"":a;case l.months:return this.dp.locale[this.opts.monthsField][s];case l.years:return!i&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:i,date:h}=D(a),o=s===l.days,d=s===l.years,c=!!e&&new Date(i,d?e.getMonth():n,o?h:e.getDate()),u=!!t&&new Date(i,d?t.getMonth():n,o?h:t.getDate());return e&&t?E(c,e)||$(u,t):e?E(c,e):t?$(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){let{rangeDateFrom:e,rangeDateTo:t}=this.dp,s=M({"-in-range-":e&&t&&(a=this.date,n=e,i=t,$(a,n)&&E(a,i)),"-range-from-":e&&v(this.date,e,this.type),"-range-to-":t&&v(this.date,t,this.type)});var a,n,i;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),s&&this.$cell.classList.add(...s.split(" "))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){v(this.dp.focusDate,this.date,this.type)&&this.focus()}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function k(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}let de={[l.days]:'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(l.days,'-"></div>'),[l.months]:'<div class="air-datepicker-body--cells -'.concat(l.months,'-"></div>'),[l.years]:'<div class="air-datepicker-body--cells -'.concat(l.years,'-"></div>')};const P=".air-datepicker-cell";class ee{constructor(e){let{dp:t,type:s,opts:a}=e;k(this,"handleClick",n=>{let i=n.target.closest(P).adpCell;if(i.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let h=this.dp._checkIfDateIsSelected(i.date,i.type);h?this.dp._handleAlreadySelectedDates(h,i.date):this.dp.selectDate(i.date)}),k(this,"handleDayNameClick",n=>{let i=n.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(i),datepicker:this.dp})}),k(this,"onChangeCurrentView",n=>{n!==this.type?this.hide():(this.show(),this.render())}),k(this,"onMouseOverCell",n=>{let i=R(n.target,P);this.dp.setFocusDate(!!i&&i.adpCell.date)}),k(this,"onMouseOutCell",()=>{this.dp.setFocusDate(!1)}),k(this,"onClickBody",n=>{let{onClickDayName:i}=this.opts,h=n.target;h.closest(P)&&this.handleClick(n),i&&h.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(n)}),k(this,"onMouseDown",n=>{this.pressed=!0;let i=R(n.target,P),h=i&&i.adpCell;v(h.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),v(h.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)}),k(this,"onMouseMove",n=>{if(!this.pressed||!this.dp.isMinViewReached)return;n.preventDefault();let i=R(n.target,P),h=i&&i.adpCell,{selectedDates:o,rangeDateTo:d,rangeDateFrom:c}=this.dp;if(!h||h.isDisabled)return;let{date:u}=h;if(o.length===2){if(this.rangeFromFocused&&!$(u,d)){let{hours:p,minutes:g}=D(c);u.setHours(p),u.setMinutes(g),this.dp.rangeDateFrom=u,this.dp.replaceDate(c,u)}if(this.rangeToFocused&&!E(u,c)){let{hours:p,minutes:g}=D(d);u.setHours(p),u.setMinutes(g),this.dp.rangeDateTo=u,this.dp.replaceDate(d,u)}}}),k(this,"onMouseUp",()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1}),k(this,"onChangeViewDate",(n,i)=>{if(!this.isVisible)return;let h=F(n),o=F(i);switch(this.dp.currentView){case l.days:if(v(n,i,l.months))return;break;case l.months:if(v(n,i,l.years))return;break;case l.years:if(h[0]===o[0]&&h[1]===o[1])return}this.render()}),k(this,"render",()=>{this.destroyCells(),this._generateCells(),this.cells.forEach(n=>{this.$cells.appendChild(n.render())})}),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===l.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;w(this.$el,"mouseover",this.onMouseOverCell),w(this.$el,"mouseout",this.onMouseOutCell),w(this.$el,"click",this.onClickBody),e&&t&&(w(this.$el,"mousedown",this.onMouseDown),w(this.$el,"mousemove",this.onMouseMove),w(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(l.eventChangeViewDate,this.onChangeViewDate),this.dp.on(l.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=b({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:de[this.type]}),this.$names=y(".air-datepicker-body--day-names",this.$el),this.$cells=y(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,i=0;for(;i<7;){let h=n%7,o=M("air-datepicker-body--day-name",{[l.cssClassWeekend]:s(h),"-clickable-":!!a}),d=this.dp.locale.daysMin[h];t+='<div class="'.concat(o,`" data-day-index='`).concat(h,"'>").concat(d,"</div>"),i++,n++}return t}_getDaysCells(){let{viewDate:e,locale:{firstDay:t}}=this.dp,s=Z(e),{year:a,month:n}=D(e),i=new Date(a,n,1),h=new Date(a,n,s),o=i.getDay()-t,d=6-h.getDay()+t;o=o<0?o+7:o,d=d>6?d-7:d;let c=function(N,B){let{year:K,month:I,date:q}=D(N);return new Date(K,I,q-B)}(i,o),u=s+o+d,p=c.getDate(),{year:g,month:f}=D(c),_=0;for(;_<u;){let N=new Date(g,f,p+_);this._generateCell(N),_++}}_generateCell(e){let{type:t,dp:s,opts:a}=this,n=new le({type:t,dp:s,opts:a,date:e,body:this});return this.cells.push(n),n}_generateDayCells(){this._getDaysCells()}_generateMonthCells(){let{year:e}=this.dp.parsedViewDate,t=0;for(;t<12;)this.cells.push(this._generateCell(new Date(e,t))),t++}_generateYearCells(){let e=F(this.dp.viewDate),t=e[0]-1,s=e[1]+1,a=t;for(;a<=s;)this.cells.push(this._generateCell(new Date(a,0))),a++}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCells(){switch(this.type){case l.days:this._generateDayCells();break;case l.months:this._generateMonthCells();break;case l.years:this._generateYearCells()}}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach(e=>e.destroy()),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(l.eventChangeViewDate,this.onChangeViewDate),this.dp.off(l.eventChangeCurrentView,this.onChangeCurrentView)}}function x(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}class ce{constructor(e){let{dp:t,opts:s}=e;x(this,"onClickNav",a=>{let n=R(a.target,".air-datepicker-nav--action");if(!n)return;let i=n.dataset.action;this.dp[i]()}),x(this,"onChangeViewDate",()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()}),x(this,"onChangeCurrentView",()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()}),x(this,"onClickNavTitle",()=>{this.dp.isFinalView||this.dp.up()}),x(this,"update",()=>{let{prevHtml:a,nextHtml:n}=this.opts;this.$prev.innerHTML=a,this.$next.innerHTML=n,this._resetNavStatus(),this.render(),this.handleNavStatus()}),x(this,"renderDelay",()=>{setTimeout(this.render)}),x(this,"render",()=>{this.$title.innerHTML=this._getTitle(),function(a,n){for(let i in n)n[i]?a.classList.add(i):a.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})}),this.dp=t,this.opts=s,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=y(".air-datepicker-nav--title",this.$el),this.$prev=y('[data-action="prev"]',this.$el),this.$next=y('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(l.eventChangeViewDate,this.onChangeViewDate),this.dp.on(l.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(l.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(l.eventChangeTime,this.render))}destroy(){this.dp.off(l.eventChangeViewDate,this.onChangeViewDate),this.dp.off(l.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(l.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(l.eventChangeTime,this.render))}_createElement(){this.$el=b({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:e,opts:t}=this,s=t.navTitles[e.currentView];return typeof s=="function"?s(e):e.formatDate(e.viewDate,s)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,i=!!t&&D(t),h=!!s&&D(s);switch(this.dp.currentView){case l.days:t&&i.month>=n&&i.year>=a&&this._disableNav("prev"),s&&h.month<=n&&h.year<=a&&this._disableNav("next");break;case l.months:t&&i.year>=a&&this._disableNav("prev"),s&&h.year<=a&&this._disableNav("next");break;case l.years:{let o=F(this.dp.viewDate);t&&i.year>=o[0]&&this._disableNav("prev"),s&&h.year<=o[1]&&this._disableNav("next");break}}}_disableNav(e){y('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){(function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];e.length?e.forEach(n=>{n.classList.remove(...s)}):e.classList.remove(...s)})(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(e,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(t,"</div>")}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find(t=>typeof e[t]=="function")}}var te={today:{content:r=>r.locale.today,onClick:r=>r.setViewDate(new Date)},clear:{content:r=>r.locale.clear,onClick:r=>r.clear()}};class ue{constructor(e){let{dp:t,opts:s}=e;this.dp=t,this.opts=s,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=b({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach(t=>{let s=t;typeof t=="string"&&te[t]&&(s=te[t]);let a=this.createButton(s);s.onClick&&this.attachEventToButton(a,s.onClick),this.$el.appendChild(a)})}attachEventToButton(e,t){e.addEventListener("click",()=>{t(this.dp)})}createButton(e){let{content:t,className:s,tagName:a="button",attrs:n={}}=e,i=typeof t=="function"?t(this.dp):t;return b({tagName:a,innerHtml:"<span tabindex='-1'>".concat(i,"</span>"),className:M("air-datepicker-button",s),attrs:n})}render(){this.generateButtons()}}function H(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}class pe{constructor(){let{opts:e,dp:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};H(this,"toggleTimepickerIsActive",a=>{this.dp.timepickerIsActive=a}),H(this,"onChangeSelectedDate",a=>{let{date:n,updateTime:i=!1}=a;n&&(this.setMinMaxTime(n),this.setCurrentTime(!!i&&n),this.addTimeToDate(n))}),H(this,"onChangeLastSelectedDate",a=>{a&&(this.setTime(a),this.render())}),H(this,"onChangeInputRange",a=>{let n=a.target;this[n.getAttribute("name")]=n.value,this.updateText(),this.dp.trigger(l.eventChangeTime,{hours:this.hours,minutes:this.minutes})}),H(this,"onMouseEnterLeave",a=>{let n=a.target.getAttribute("name"),i=this.$minutesText;n==="hours"&&(i=this.$hoursText),i.classList.toggle("-focus-")}),H(this,"onFocus",()=>{this.toggleTimepickerIsActive(!0)}),H(this,"onBlur",()=>{this.toggleTimepickerIsActive(!1)}),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(G("h"))||s.match(G("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(l.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(l.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),w(this.$ranges,e,this.onChangeInputRange),w(this.$ranges,"mouseenter",this.onMouseEnterLeave),w(this.$ranges,"mouseleave",this.onMouseEnterLeave),w(this.$ranges,"focus",this.onFocus),w(this.$ranges,"mousedown",this.onFocus),w(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=b({className:M("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(l.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(l.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:s,minutes:a,minHours:n,minMinutes:i,maxHours:h,maxMinutes:o,dayPeriod:d,opts:{hoursStep:c,minutesStep:u}}=this;this.$el.innerHTML='<div class="air-datepicker-time--current">'+' <span class="air-datepicker-time--current-hours">'.concat(O(s),"</span>")+' <span class="air-datepicker-time--current-colon">:</span>'+' <span class="air-datepicker-time--current-minutes">'.concat(O(a),"</span>")+" ".concat(e?"<span class='air-datepicker-time--current-ampm'>".concat(d,"</span>"):"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+' <input type="range" name="hours" value="'.concat(t,'" min="').concat(n,'" max="').concat(h,'" step="').concat(c,'"/>')+' </div> <div class="air-datepicker-time--row">'+' <input type="range" name="minutes" value="'.concat(a,'" min="').concat(i,'" max="').concat(o,'" step="').concat(u,'"/>')+" </div></div>"}defineDOM(){let e=t=>y(t,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:s}=this.dp;t&&v(e,t)&&this.setMinTimeFromMinDate(t),s&&v(e,s)&&this.setMaxTimeFromMaxDate(s)}}setCurrentTime(e){let{hours:t,minutes:s}=e?D(e):this;this.hours=A(t,this.minHours,this.maxHours),this.minutes=A(s,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:s,maxMinutes:a}=this.opts;this.minHours=A(e,0,23),this.minMinutes=A(t,0,59),this.maxHours=A(s,0,23),this.maxMinutes=A(a,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes()}getDayPeriod(e,t){let s=e,a=Number(e);e instanceof Date&&(s=D(e),a=Number(s.hours));let n="am";if(t||this.ampm){switch(!0){case a===12:case a>11:n="pm"}a=a%12==0?12:a%12}return{hours:a,dayPeriod:n}}updateSliders(){z(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,z(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=O(this.displayHours),this.$minutesText.innerHTML=O(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(e){this._hours=e;let{hours:t,dayPeriod:s}=this.getDayPeriod(e);this.displayHours=t,this.dayPeriod=s}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function L(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}class me{constructor(e){let{dp:t,opts:s}=e;L(this,"pressedKeys",new Set),L(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],a=>a.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],a=>a.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],a=>a.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],a=>a.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],a=>a.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],a=>a.year-=10],[["Control","Shift","ArrowUp"],(a,n)=>n.up()]])),L(this,"handleHotKey",a=>{let n=this.hotKeys.get(a),i=D(this.getInitialFocusDate());n(i,this.dp);let{year:h,month:o,date:d}=i,c=Z(new Date(h,o));c<d&&(d=c);let u=this.dp.getClampedDate(new Date(h,o,d));this.dp.setFocusDate(u,{viewDateTransition:!0})}),L(this,"isHotKeyPressed",()=>{let a=!1,n=this.pressedKeys.size,i=h=>this.pressedKeys.has(h);for(let[h]of this.hotKeys){if(a)break;if(Array.isArray(h[0]))h.forEach(o=>{a||n!==o.length||(a=o.every(i)&&h)});else{if(n!==h.length)continue;a=h.every(i)&&h}}return a}),L(this,"isArrow",a=>a>=37&&a<=40),L(this,"onKeyDown",a=>{let{key:n,which:i}=a,{dp:h,dp:{focusDate:o},opts:d}=this;this.registerKey(n);let c=this.isHotKeyPressed();if(c)return a.preventDefault(),void this.handleHotKey(c);if(this.isArrow(i))return a.preventDefault(),void this.focusNextCell(n);if(n==="Enter"){if(h.currentView!==d.minView)return void h.down();if(o){let u=h._checkIfDateIsSelected(o);return void(u?h._handleAlreadySelectedDates(u,o):h.selectDate(o))}}n==="Escape"&&this.dp.hide()}),L(this,"onKeyUp",a=>{this.removeKey(a.key)}),this.dp=t,this.opts=s,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,i=e||s[s.length-1];if(!i)switch(t){case l.days:i=new Date(a,n,new Date().getDate());break;case l.months:i=new Date(a,n,1);break;case l.years:i=new Date(a,0,1)}return i}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:i}=l,h=D(t),o=h.year,d=h.month,c=h.date;switch(e){case"ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===i&&(o-=1);break;case"ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===i&&(o-=4);break;case"ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===i&&(o+=1);break;case"ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===i&&(o+=4)}let u=this.dp.getClampedDate(new Date(o,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let ge={on(r,e){this.__events||(this.__events={}),this.__events[r]?this.__events[r].push(e):this.__events[r]=[e]},off(r,e){this.__events&&this.__events[r]&&(this.__events[r]=this.__events[r].filter(t=>t!==e))},removeAllEvents(){this.__events={}},trigger(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),s=1;s<e;s++)t[s-1]=arguments[s];this.__events&&this.__events[r]&&this.__events[r].forEach(a=>{a(...t)})}};function m(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}let X="",W="",S="",se=!1;class T{constructor(e,t){var s=this;if(m(this,"viewIndexes",[l.days,l.months,l.years]),m(this,"next",()=>{let{year:i,month:h}=this.parsedViewDate;switch(this.currentView){case l.days:this.setViewDate(new Date(i,h+1,1));break;case l.months:this.setViewDate(new Date(i+1,h,1));break;case l.years:this.setViewDate(new Date(i+10,0,1))}}),m(this,"prev",()=>{let{year:i,month:h}=this.parsedViewDate;switch(this.currentView){case l.days:this.setViewDate(new Date(i,h-1,1));break;case l.months:this.setViewDate(new Date(i-1,h,1));break;case l.years:this.setViewDate(new Date(i-10,0,1))}}),m(this,"_finishHide",()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)}),m(this,"setPosition",function(i){let h=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(typeof(i=i||s.opts.position)=="function")return void(s.customHide=i({$datepicker:s.$datepicker,$target:s.$el,$pointer:s.$pointer,isViewChange:h,done:s._finishHide}));let o,d,{isMobile:c}=s.opts,u=s.$el.getBoundingClientRect(),p=s.$el.getBoundingClientRect(),g=s.$datepicker.offsetParent,f=s.$el.offsetParent,_=s.$datepicker.getBoundingClientRect(),N=i.split(" "),B=window.scrollY,K=window.scrollX,I=s.opts.offset,q=N[0],De=N[1];if(c)s.$datepicker.style.cssText="left: 50%; top: 50%";else{if(g===f&&g!==document.body&&(p={top:s.$el.offsetTop,left:s.$el.offsetLeft,width:u.width,height:s.$el.offsetHeight},B=0,K=0),g!==f&&g!==document.body){let ae=g.getBoundingClientRect();p={top:u.top-ae.top,left:u.left-ae.left,width:u.width,height:u.height},B=0,K=0}switch(q){case"top":o=p.top-_.height-I;break;case"right":d=p.left+p.width+I;break;case"bottom":o=p.top+p.height+I;break;case"left":d=p.left-_.width-I}switch(De){case"top":o=p.top;break;case"right":d=p.left+p.width-_.width;break;case"bottom":o=p.top+p.height-_.height;break;case"left":d=p.left;break;case"center":/left|right/.test(q)?o=p.top+p.height/2-_.height/2:d=p.left+p.width/2-_.width/2}s.$datepicker.style.cssText="left: ".concat(d+K,"px; top: ").concat(o+B,"px")}}),m(this,"_setInputValue",()=>{let{opts:i,$altField:h,locale:{dateFormat:o}}=this,{altFieldDateFormat:d,altField:c}=i;c&&h&&(h.value=this._getInputValue(d)),this.$el.value=this._getInputValue(o)}),m(this,"_getInputValue",i=>{let{selectedDates:h,opts:o}=this,{multipleDates:d,multipleDatesSeparator:c}=o;if(!h.length)return"";let u=typeof i=="function",p=u?i(d?h:h[0]):h.map(g=>this.formatDate(g,i));return p=u?p:p.join(c),p}),m(this,"_checkIfDateIsSelected",function(i){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l.days,o=!1;return s.selectedDates.some(d=>{let c=v(i,d,h);return o=c&&d,c}),o}),m(this,"_scheduleCallAfterTransition",i=>{this._cancelScheduledCall(),i&&i(!1),this._onTransitionEnd=()=>{i&&i(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})}),m(this,"_cancelScheduledCall",()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)}),m(this,"setViewDate",i=>{if(!((i=C(i))instanceof Date)||v(i,this.viewDate))return;let h=this.viewDate;this.viewDate=i;let{onChangeViewDate:o}=this.opts;if(o){let{month:d,year:c}=this.parsedViewDate;o({month:d,year:c,decade:this.curDecade})}this.trigger(l.eventChangeViewDate,i,h)}),m(this,"setFocusDate",function(i){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!i||(i=C(i))instanceof Date)&&(s.focusDate=i,s.opts.range&&i&&s._handleRangeOnFocus(),s.trigger(l.eventChangeFocusDate,i,h))}),m(this,"setCurrentView",i=>{if(this.viewIndexes.includes(i)){if(this.currentView=i,this.elIsInput&&this.visible&&this.setPosition(void 0,!0),this.trigger(l.eventChangeCurrentView,i),!this.views[i]){let h=this.views[i]=new ee({dp:this,opts:this.opts,type:i});this.shouldUpdateDOM&&this.$content.appendChild(h.$el)}this.opts.onChangeView&&this.opts.onChangeView(i)}}),m(this,"_updateLastSelectedDate",i=>{this.lastSelectedDate=i,this.trigger(l.eventChangeLastSelectedDate,i)}),m(this,"destroy",()=>{let{showEvent:i,isMobile:h}=this.opts,o=this.$datepicker.parentNode;o&&o.removeChild(this.$datepicker),this.$el.removeEventListener(i,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),h&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts=null,this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=null,this.rangeDateFrom=null,this.rangeDateTo=null}),m(this,"update",i=>{let h=Y({},this.opts);Y(this.opts,i);let{timepicker:o,buttons:d,range:c,selectedDates:u,isMobile:p}=this.opts,g=this.visible||this.treatAsInline;this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this._handleLocale(),!h.selectedDates&&u&&this.selectDate(u),i.view&&this.setCurrentView(i.view),this._setInputValue(),h.range&&!c?(this.rangeDateTo=!1,this.rangeDateFrom=!1):!h.range&&c&&this.selectedDates.length&&(this.rangeDateFrom=this.selectedDates[0],this.rangeDateTo=this.selectedDates[1]),h.timepicker&&!o?(g&&this.timepicker.destroy(),this.timepicker=!1,this.$timepicker.parentNode.removeChild(this.$timepicker)):!h.timepicker&&o&&this._addTimepicker(),!h.buttons&&d?this._addButtons():h.buttons&&!d?(this.buttons.destroy(),this.$buttons.parentNode.removeChild(this.$buttons)):g&&h.buttons&&d&&this.buttons.clearHtml().render(),!h.isMobile&&p?(this.treatAsInline||S||this._createMobileOverlay(),this._addMobileAttributes(),this.visible&&this._showMobileOverlay()):h.isMobile&&!p&&(this._removeMobileAttributes(),this.visible&&(S.classList.remove("-active-"),typeof this.opts.position!="function"&&this.setPosition())),g&&(this.nav.update(),this.views[this.currentView].render(),this.currentView===l.days&&this.views[this.currentView].renderDayNames())}),m(this,"isOtherMonth",i=>{let{month:h}=D(i);return h!==this.parsedViewDate.month}),m(this,"isOtherYear",i=>{let{year:h}=D(i);return h!==this.parsedViewDate.year}),m(this,"isOtherDecade",i=>{let{year:h}=D(i),[o,d]=F(this.viewDate);return h<o||h>d}),m(this,"_onChangeSelectedDate",i=>{let{silent:h}=i;setTimeout(()=>{this._setInputValue(),this.opts.onSelect&&!h&&this._triggerOnSelect()})}),m(this,"_onChangeFocusedDate",function(i){let{viewDateTransition:h}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!i)return;let o=!1;h&&(o=s.isOtherMonth(i)||s.isOtherYear(i)||s.isOtherDecade(i)),o&&s.setViewDate(i)}),m(this,"_onChangeTime",i=>{let{hours:h,minutes:o}=i,d=new Date,{lastSelectedDate:c,opts:{onSelect:u}}=this,p=c;c||(p=d);let g=this.getCell(p,this.currentViewSingular),f=g&&g.adpCell;f&&f.isDisabled||(p.setHours(h),p.setMinutes(o),c?(this._setInputValue(),u&&this._triggerOnSelect()):this.selectDate(p))}),m(this,"_onFocus",i=>{this.visible||this.show()}),m(this,"_onBlur",i=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()}),m(this,"_onMouseDown",i=>{this.inFocus=!0}),m(this,"_onMouseUp",i=>{this.inFocus=!1,this.$el.focus()}),m(this,"_onResize",()=>{this.visible&&typeof this.opts.position!="function"&&this.setPosition()}),m(this,"_onClickOverlay",()=>{this.visible&&this.hide()}),m(this,"isWeekend",i=>this.opts.weekends.includes(i)),m(this,"getClampedDate",i=>{let{minDate:h,maxDate:o}=this,d=i;return o&&$(i,o)?d=o:h&&E(i,h)&&(d=h),d}),this.$el=y(e),!this.$el)return;this.$datepicker=b({className:"air-datepicker"}),this.opts=Y({},Q,t),this.$customContainer=!!this.opts.container&&y(this.opts.container),this.$altField=y(this.opts.altField||!1),X||(X=y("body"));let{view:a,startDate:n}=this.opts;n||(this.opts.startDate=new Date),this.$el.nodeName==="INPUT"&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=C(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=a,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:s,isMobile:a,selectedDates:n,keyboardNav:i,onlyTimepicker:h}}=this;var o;se||s||!this.elIsInput||(se=!0,W=b({className:o=T.defaultContainerId,id:o}),X.appendChild(W)),!a||S||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(s||this._bindEvents(),i&&!h&&(this.keyboardNav=new me({dp:this,opts:e}))),n&&this.selectDate(n,{silent:!0}),this.opts.visible&&!t&&this.show(),a&&!t&&this.$el.setAttribute("readonly",!0),t&&this._createComponents()}_createMobileOverlay(){S=b({className:"air-datepicker-overlay"}),W.appendChild(S)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:s,buttons:a,timepicker:n,position:i,classes:h,onlyTimepicker:o,isMobile:d}}=this;this._buildBaseHtml(),this.elIsInput&&(s||this._setPositionClasses(i)),!s&&this.elIsInput||this.$datepicker.classList.add("-inline-"),h&&this.$datepicker.classList.add(...h.split(" ")),o&&this.$datepicker.classList.add("-only-timepicker-"),d&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new ee({dp:this,type:this.currentView,opts:e}),this.nav=new ce({dp:this,opts:e}),n&&this._addTimepicker(),a&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){S.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){S.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||this.initialReadonly===""||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&C(e),this.maxDate=!!t&&C(t)}_addTimepicker(){this.$timepicker=b({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new pe({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=b({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new ue({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(l.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(l.eventChangeFocusDate,this._onChangeFocusedDate),this.on(l.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,s;this.elIsInput?e?(t=this.$datepicker,(s=this.$el).parentNode.insertBefore(t,s.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=y(".air-datepicker--content",this.$datepicker),this.$pointer=y(".air-datepicker--pointer",this.$datepicker),this.$nav=y(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:s,timepicker:a,onlyTimepicker:n,timeFormat:i,dateTimeSeparator:h}=this.opts;var o;this.locale=(o=e,JSON.parse(JSON.stringify(o))),t&&(this.locale.dateFormat=t),i!==void 0&&i!==""&&(this.locale.timeFormat=i);let{timeFormat:d}=this.locale;if(s!==""&&(this.locale.firstDay=s),a&&typeof t!="function"){let c=d?h:"";this.locale.dateFormat=[this.locale.dateFormat,d||""].join(c)}n&&typeof t!="function"&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if(typeof e=="function")return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],s=e[1],a="air-datepicker -".concat(t,"-").concat(s,"- -from-").concat(t,"-");this.$datepicker.classList.add(...a.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:s}=this;s&&$(e,s)&&this.setViewDate(s),t&&E(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=C(e),!(e instanceof Date))return;let s=t,a=this.locale,n=D(e),i=F(e),h=T.replacer,o="am";this.opts.timepicker&&this.timepicker&&(o=this.timepicker.getDayPeriod(e).dayPeriod);let d={T:e.getTime(),m:n.minutes,mm:n.fullMinutes,h:n.hours12,hh:n.fullHours12,H:n.hours,HH:n.fullHours,aa:o,AA:o.toUpperCase(),E:a.daysShort[n.day],EEEE:a.days[n.day],d:n.date,dd:n.fullDate,M:n.month+1,MM:n.fullMonth,MMM:a.monthsShort[n.month],MMMM:a.months[n.month],yy:n.year.toString().slice(-2),yyyy:n.year,yyyy1:i[0],yyyy2:i[1]};for(let[c,u]of Object.entries(d))s=h(s,G(c),u);return s}down(e){this._handleUpDownActions(e,"down")}up(e){this._handleUpDownActions(e,"up")}selectDate(e){let t,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:i}=this,{updateTime:h}=s,{moveToOtherMonthsOnSelect:o,moveToOtherYearsOnSelect:d,multipleDates:c,range:u,autoClose:p}=this.opts,g=i.length;if(Array.isArray(e))return e.forEach(f=>{this.selectDate(f,s)}),new Promise(f=>{setTimeout(f)});if((e=C(e))instanceof Date){if(a===l.days&&e.getMonth()!==n.month&&o&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===l.years&&e.getFullYear()!==n.year&&d&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),c&&!u){if(g===c)return;this._checkIfDateIsSelected(e)||i.push(e)}else if(u)switch(g){case 1:i.push(e),this.rangeDateTo||(this.rangeDateTo=e),$(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(l.eventChangeSelectedDate,{action:l.actionSelectDate,silent:s==null?void 0:s.silent,date:e,updateTime:h}),this._updateLastSelectedDate(e),p&&!this.timepickerIsActive&&this.visible&&(c||u?u&&g===1&&this.hide():this.hide()),new Promise(f=>{setTimeout(f)})}}unselectDate(e){let t=this.selectedDates,s=this;if((e=C(e))instanceof Date)return t.some((a,n)=>{if(v(a,e))return t.splice(n,1),s.selectedDates.length?s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1]):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(l.eventChangeSelectedDate,{action:l.actionUnselectDate,date:e}),!0})}replaceDate(e,t){let s=this.selectedDates.find(n=>v(n,e,this.currentView)),a=this.selectedDates.indexOf(s);a<0||v(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(l.eventChangeSelectedDate,{action:l.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(l.eventChangeSelectedDate,{action:l.actionUnselectDate,silent:e.silent}),new Promise(t=>{setTimeout(t)})}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,s=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition(a=>{!this.customHide&&(a&&s||!a&&!s)&&this._finishHide(),e&&e(a)}),t&&S.classList.remove("-active-")}_triggerOnSelect(){let e=[],t=[],{selectedDates:s,locale:a,opts:{onSelect:n,multipleDates:i,range:h}}=this,o=i||h,d=typeof a.dateFormat=="function";s.length&&(e=s.map(J),t=d?i?a.dateFormat(e):e.map(c=>a.dateFormat(c)):e.map(c=>this.formatDate(c,a.dateFormat))),n({date:o?e:e[0],formattedDate:o?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{range:s,toggleSelected:a}=this.opts;s?a?this.unselectDate(t):this.selectedDates.length!==2&&this.selectDate(t):a&&this.unselectDate(t),a||this._updateLastSelectedDate(e)}_handleUpDownActions(e,t){if(!((e=C(e||this.focusDate||this.viewDate))instanceof Date))return;let s=t==="up"?this.viewIndex+1:this.viewIndex-1;s>2&&(s=2),s<0&&(s=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[s])}_handleRangeOnFocus(){this.selectedDates.length===1&&($(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}getCell(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l.day;if(!((e=C(e))instanceof Date))return;let{year:s,month:a,date:n}=D(e),i='[data-year="'.concat(s,'"]'),h='[data-month="'.concat(a,'"]'),o='[data-date="'.concat(n,'"]'),d={[l.day]:"".concat(i).concat(h).concat(o),[l.month]:"".concat(i).concat(h),[l.year]:"".concat(i)};return this.views[this.currentView].$el.querySelector(d[t])}_showMobileOverlay(){S.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce((e,t)=>parseFloat(t)+e,0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return D(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return F(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===l.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===l.days}get $container(){return this.$customContainer||W}static replacer(e,t,s){return e.replace(t,function(a,n,i,h){return n+s+h})}}var ie;return m(T,"defaults",Q),m(T,"version","3.3.0"),m(T,"defaultContainerId","air-datepicker-global-container"),ie=T.prototype,Object.assign(ie,ge),j.default}()})})(re.__module);var ve=re.__module.exports;const ye=ne.getDefaultExportFromCjs(ve);module.exports=ye;
1
+ "use strict";const l=require("vue"),k=["disabled"],w=l.defineComponent({__name:"BOtpFieldBox",props:{value:{default:""},focus:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},emits:["on-change","on-keydown","on-keyup","on-paste","on-focus","on-blur"],setup(c,{expose:d,emit:t}){const u=c,n=l.ref(u.value||""),o=l.ref(null),a=["0","1","2","3","4","5","6","7","8","9"],r=()=>{if(!a.includes(n.value)){n.value="";return}return n.value=n.value.toString(),n.value.length>1&&(n.value=n.value.slice(0,1)),t("on-change",n.value)},i=e=>{u.isDisabled&&e.preventDefault();const s=e;["Alt","Control","Meta","Backspace","ArrowLeft","ArrowRight","v",...a].includes(s.key)?t("on-keydown",e):s.preventDefault()},f=e=>{t("on-keyup",e)},p=e=>{t("on-paste",e)},v=()=>(o.value.select(),t("on-focus")),h=()=>t("on-blur"),y=()=>{o.value.focus(),o.value.select()};return l.watch(()=>u.value,(e,s)=>{e!==s&&(n.value=e)}),l.watch(()=>u.focus,(e,s)=>{s!==e&&o.value&&u.focus&&(o.value.focus(),o.value.select())}),l.onMounted(()=>{o.value&&u.focus&&(o.value.focus(),o.value.select())}),d({focus:y}),(e,s)=>l.withDirectives((l.openBlock(),l.createElementBlock("input",{ref_key:"inputRef",ref:o,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),disabled:e.isDisabled,class:"ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200",inputmode:"numeric",maxlength:"1",onBlur:h,onFocus:v,onInput:r,onKeydown:i,onKeyup:f,onPaste:p},null,40,k)),[[l.vModelText,n.value]])}});module.exports=w;
2
2
  //# sourceMappingURL=design-system97.js.map