ablok-components 0.3.58 → 0.3.60

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 (199) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  2. package/dist/ablok-components.css +1 -1
  3. package/dist/ablok-components.umd.js +4 -4
  4. package/dist/assets/img/guide.png.js +4 -0
  5. package/dist/components/atoms/base-button/base-button.vue.js +92 -0
  6. package/dist/components/atoms/base-button/base-button.vue3.js +5 -0
  7. package/dist/components/atoms/base-headline/base-headline.vue.js +30 -0
  8. package/dist/components/atoms/base-headline/base-headline.vue2.js +4 -0
  9. package/dist/components/atoms/base-image/base-image.vue.js +75 -0
  10. package/dist/components/atoms/base-image/base-image.vue3.js +5 -0
  11. package/dist/components/atoms/base-input/base-input.vue.js +181 -0
  12. package/dist/components/atoms/base-input/base-input.vue3.js +5 -0
  13. package/dist/components/atoms/base-paragraph/base-paragraph.vue.js +21 -0
  14. package/dist/components/atoms/base-paragraph/base-paragraph.vue2.js +4 -0
  15. package/dist/components/atoms/canvas-confetti/canvas-confetti.vue.js +113 -0
  16. package/dist/components/atoms/canvas-confetti/canvas-confetti.vue3.js +5 -0
  17. package/dist/components/atoms/check-group/check-group.vue.js +86 -0
  18. package/dist/components/atoms/check-group/check-group.vue3.js +5 -0
  19. package/dist/components/atoms/custom-html/custom-html.vue.js +26 -0
  20. package/dist/components/atoms/custom-html/custom-html.vue2.js +4 -0
  21. package/dist/components/atoms/input-checkbox/input-checkbox.vue.js +84 -0
  22. package/dist/components/atoms/input-checkbox/input-checkbox.vue3.js +5 -0
  23. package/dist/components/atoms/input-datetime/input-datetime.vue.js +99 -0
  24. package/dist/components/atoms/input-datetime/input-datetime.vue2.js +4 -0
  25. package/dist/components/atoms/input-file/input-file.vue.js +130 -0
  26. package/dist/components/atoms/input-file/input-file.vue2.js +4 -0
  27. package/dist/components/atoms/input-passcode/input-passcode.vue.js +149 -0
  28. package/dist/components/atoms/input-passcode/input-passcode.vue2.js +4 -0
  29. package/dist/components/atoms/input-password/input-password.vue.js +118 -0
  30. package/dist/components/atoms/input-password/input-password.vue2.js +4 -0
  31. package/dist/components/atoms/input-textarea/input-textarea.vue.js +105 -0
  32. package/dist/components/atoms/input-textarea/input-textarea.vue2.js +4 -0
  33. package/dist/components/atoms/loading-spinner/loading-spinner.vue.js +38 -0
  34. package/dist/components/atoms/loading-spinner/loading-spinner.vue3.js +5 -0
  35. package/dist/components/atoms/radio-group/radio-group.vue.js +99 -0
  36. package/dist/components/atoms/radio-group/radio-group.vue3.js +5 -0
  37. package/dist/components/atoms/svg-icon/svg-icon.vue.js +44 -0
  38. package/dist/components/atoms/svg-icon/svg-icon.vue3.js +5 -0
  39. package/dist/components/atoms/zoom-slider/zoom-slider.vue.js +59 -0
  40. package/dist/components/atoms/zoom-slider/zoom-slider.vue3.js +5 -0
  41. package/dist/components/molecules/accordion/accordion-item.vue.js +76 -0
  42. package/dist/components/molecules/accordion/accordion-item.vue3.js +5 -0
  43. package/dist/components/molecules/accordion/accordion.vue.js +12 -0
  44. package/dist/components/molecules/auto-suggest/auto-suggest.vue.js +132 -0
  45. package/dist/components/molecules/auto-suggest/auto-suggest.vue3.js +5 -0
  46. package/dist/components/molecules/base-camera/base-camera.vue.js +392 -0
  47. package/dist/components/molecules/base-camera/base-camera.vue3.js +5 -0
  48. package/dist/components/molecules/base-map/base-map.vue.js +386 -0
  49. package/dist/components/molecules/base-map/base-map.vue3.js +5 -0
  50. package/dist/components/molecules/color-palette/color-palette.vue.js +72 -0
  51. package/dist/components/molecules/color-palette/color-palette.vue3.js +5 -0
  52. package/dist/components/molecules/dom-renderer/dom-renderer.vue.js +102 -0
  53. package/dist/components/molecules/dom-renderer/dom-renderer.vue2.js +4 -0
  54. package/dist/components/molecules/file-upload/file-upload.vue.js +177 -0
  55. package/dist/components/molecules/file-upload/file-upload.vue3.js +5 -0
  56. package/dist/components/molecules/hint-system/hint-system.vue.d.ts +1 -1
  57. package/dist/components/molecules/hint-system/hint-system.vue.js +111 -0
  58. package/dist/components/molecules/hint-system/hint-system.vue3.js +5 -0
  59. package/dist/components/molecules/image-crop/image-crop.vue.js +82 -0
  60. package/dist/components/molecules/image-crop/image-crop.vue2.js +4 -0
  61. package/dist/components/molecules/image-crop-resize/image-crop-resize.vue.js +120 -0
  62. package/dist/components/molecules/image-crop-resize/image-crop-resize.vue2.js +4 -0
  63. package/dist/components/molecules/image-resize/image-resize.vue.js +143 -0
  64. package/dist/components/molecules/image-resize/image-resize.vue2.js +4 -0
  65. package/dist/components/molecules/image-upload/image-upload.vue.js +274 -0
  66. package/dist/components/molecules/image-upload/image-upload.vue3.js +5 -0
  67. package/dist/components/molecules/image-zoom/image-zoom.vue.js +209 -0
  68. package/dist/components/molecules/image-zoom/image-zoom.vue3.js +5 -0
  69. package/dist/components/molecules/input-color/input-color.vue.js +105 -0
  70. package/dist/components/molecules/input-color/input-color.vue3.js +5 -0
  71. package/dist/components/molecules/input-datepicker/input-datepicker.vue.js +263 -0
  72. package/dist/components/molecules/input-datepicker/input-datepicker.vue3.js +5 -0
  73. package/dist/components/molecules/input-dropdown/input-dropdown.vue.js +207 -0
  74. package/dist/components/molecules/input-dropdown/input-dropdown.vue3.js +5 -0
  75. package/dist/components/molecules/link-sharing/link-sharing.vue.js +177 -0
  76. package/dist/components/molecules/link-sharing/link-sharing.vue3.js +7 -0
  77. package/dist/components/molecules/location-list/location-list.vue.js +98 -0
  78. package/dist/components/molecules/location-list/location-list.vue3.js +5 -0
  79. package/dist/components/molecules/media-thumbnails/media-thumbnails.vue.js +55 -0
  80. package/dist/components/molecules/media-thumbnails/media-thumbnails.vue3.js +5 -0
  81. package/dist/components/molecules/popover-notifications/popover-notifications.vue.js +135 -0
  82. package/dist/components/molecules/popover-notifications/popover-notifications.vue3.js +5 -0
  83. package/dist/components/molecules/popover-tooltip/popover-tooltip.vue.js +134 -0
  84. package/dist/components/molecules/popover-tooltip/popover-tooltip.vue3.js +5 -0
  85. package/dist/components/molecules/progress-steps/progress-steps.vue.js +84 -0
  86. package/dist/components/molecules/progress-steps/progress-steps.vue3.js +5 -0
  87. package/dist/components/molecules/qr-code/qr-code.vue.js +103 -0
  88. package/dist/components/molecules/qr-code/qr-code.vue3.js +5 -0
  89. package/dist/components/molecules/radio-buttons/radio-buttons.vue.js +79 -0
  90. package/dist/components/molecules/radio-buttons/radio-buttons.vue3.js +5 -0
  91. package/dist/components/molecules/rte-editor/rte-editor.vue.d.ts +1 -1
  92. package/dist/components/molecules/rte-editor/rte-editor.vue.js +472 -0
  93. package/dist/components/molecules/rte-editor/rte-editor.vue3.js +5 -0
  94. package/dist/components/molecules/select-media/select-media.vue.js +87 -0
  95. package/dist/components/molecules/select-media/select-media.vue3.js +5 -0
  96. package/dist/components/molecules/upload-group/upload-group.vue.js +178 -0
  97. package/dist/components/molecules/upload-group/upload-group.vue3.js +5 -0
  98. package/dist/components/organisms/asset-uploader/asset-uploader.vue.js +126 -0
  99. package/dist/components/organisms/asset-uploader/asset-uploader.vue3.js +5 -0
  100. package/dist/components/organisms/location-finder/location-finder.vue.js +634 -0
  101. package/dist/components/organisms/location-finder/location-finder.vue3.js +5 -0
  102. package/dist/components/templates/base-carousel/base-carousel.vue.js +94 -0
  103. package/dist/components/templates/base-carousel/base-carousel.vue3.js +5 -0
  104. package/dist/components/templates/base-form/base-form.vue.js +35 -0
  105. package/dist/components/templates/base-form/base-form.vue3.js +5 -0
  106. package/dist/components/templates/modal-dialog/modal-dialog.vue.js +123 -0
  107. package/dist/components/templates/modal-dialog/modal-dialog.vue3.js +5 -0
  108. package/dist/components/templates/popover-dialog/popover-dialog.vue.js +95 -0
  109. package/dist/components/templates/popover-dialog/popover-dialog.vue3.js +5 -0
  110. package/dist/components/templates/sortable-list/sortable-list.vue.js +160 -0
  111. package/dist/components/templates/sortable-list/sortable-list.vue3.js +5 -0
  112. package/dist/components/templates/touch-wrapper/touch-wrapper.vue.js +85 -0
  113. package/dist/components/templates/touch-wrapper/touch-wrapper.vue3.js +5 -0
  114. package/dist/composables/useCameraFilter.js +56 -0
  115. package/dist/composables/useConfetti.js +12 -0
  116. package/dist/composables/useDirections.js +62 -0
  117. package/dist/composables/useFileUpload.js +79 -0
  118. package/dist/composables/useGeocoding.js +85 -0
  119. package/dist/composables/useGeolocation.js +71 -0
  120. package/dist/composables/useSanitize.js +23 -0
  121. package/dist/i18n.d.ts +3 -0
  122. package/dist/index.js +156 -0
  123. package/dist/locales/en.d.ts +3 -0
  124. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +9 -0
  125. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -0
  126. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +31 -0
  127. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +15 -0
  128. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de/_lib/formatDistance.js +163 -0
  129. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de/_lib/formatLong.js +37 -0
  130. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de/_lib/formatRelative.js +11 -0
  131. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de/_lib/localize.js +161 -0
  132. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de/_lib/match.js +112 -0
  133. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de.js +20 -0
  134. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -0
  135. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -0
  136. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +11 -0
  137. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/localize.js +155 -0
  138. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/match.js +110 -0
  139. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US.js +20 -0
  140. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr/_lib/formatDistance.js +70 -0
  141. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr/_lib/formatLong.js +33 -0
  142. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr/_lib/formatRelative.js +11 -0
  143. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr/_lib/localize.js +121 -0
  144. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr/_lib/match.js +110 -0
  145. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr.js +20 -0
  146. package/dist/rte-icons-defs.svg +9 -0
  147. package/dist/utilities/helpers.js +79 -0
  148. package/package.json +80 -25
  149. package/dist/ablok-components.es.js +0 -8655
  150. package/dist/components/atoms/base-button/base-button.spec.d.ts +0 -1
  151. package/dist/components/atoms/base-headline/base-headline.spec.d.ts +0 -1
  152. package/dist/components/atoms/base-image/base-image.spec.d.ts +0 -1
  153. package/dist/components/atoms/base-input/base-input.spec.d.ts +0 -1
  154. package/dist/components/atoms/base-paragraph/base-paragraph.spec.d.ts +0 -1
  155. package/dist/components/atoms/canvas-confetti/canvas-confetti.spec.d.ts +0 -1
  156. package/dist/components/atoms/check-group/check-group.spec.d.ts +0 -1
  157. package/dist/components/atoms/custom-html/custom-html.spec.d.ts +0 -1
  158. package/dist/components/atoms/input-checkbox/input-checkbox.spec.d.ts +0 -1
  159. package/dist/components/atoms/input-file/input-file.spec.d.ts +0 -1
  160. package/dist/components/atoms/input-passcode/input-passcode.spec.d.ts +0 -1
  161. package/dist/components/atoms/input-password/input-password.spec.d.ts +0 -1
  162. package/dist/components/atoms/input-textarea/input-textarea.spec.d.ts +0 -1
  163. package/dist/components/atoms/loading-spinner/loading-spinner.spec.d.ts +0 -1
  164. package/dist/components/atoms/radio-group/radio-group.spec.d.ts +0 -1
  165. package/dist/components/atoms/svg-icon/svg-icon.spec.d.ts +0 -1
  166. package/dist/components/atoms/zoom-slider/zoom-slider.spec.d.ts +0 -1
  167. package/dist/components/molecules/accordion/accordion-item.spec.d.ts +0 -1
  168. package/dist/components/molecules/auto-suggest/auto-suggest.spec.d.ts +0 -1
  169. package/dist/components/molecules/base-map/base-map.spec.d.ts +0 -1
  170. package/dist/components/molecules/color-palette/color-palette.spec.d.ts +0 -1
  171. package/dist/components/molecules/dom-renderer/dom-renderer.spec.d.ts +0 -1
  172. package/dist/components/molecules/file-upload/file-upload.spec.d.ts +0 -1
  173. package/dist/components/molecules/hint-system/hint-system.spec.d.ts +0 -1
  174. package/dist/components/molecules/image-crop/image-crop.spec.d.ts +0 -1
  175. package/dist/components/molecules/image-crop-resize/image-crop-resize.spec.d.ts +0 -1
  176. package/dist/components/molecules/image-resize/image-resize.spec.d.ts +0 -1
  177. package/dist/components/molecules/image-upload/image-upload.spec.d.ts +0 -1
  178. package/dist/components/molecules/image-zoom/image-zoom.spec.d.ts +0 -1
  179. package/dist/components/molecules/input-color/input-color.spec.d.ts +0 -1
  180. package/dist/components/molecules/input-datepicker/input-datepicker.spec.d.ts +0 -1
  181. package/dist/components/molecules/input-dropdown/input-dropdown.spec.d.ts +0 -1
  182. package/dist/components/molecules/link-sharing/link-sharing.spec.d.ts +0 -1
  183. package/dist/components/molecules/media-thumbnails/media-thumbnails.spec.d.ts +0 -1
  184. package/dist/components/molecules/popover-notifications/popover-notifications.spec.d.ts +0 -1
  185. package/dist/components/molecules/popover-tooltip/popover-tooltip.spec.d.ts +0 -1
  186. package/dist/components/molecules/progress-steps/progress-steps.spec.d.ts +0 -1
  187. package/dist/components/molecules/qr-code/qr-code.spec.d.ts +0 -1
  188. package/dist/components/molecules/radio-buttons/radio-buttons.spec.d.ts +0 -1
  189. package/dist/components/molecules/rte-editor/rte-editor.spec.d.ts +0 -1
  190. package/dist/components/molecules/select-media/select-media.spec.d.ts +0 -1
  191. package/dist/components/molecules/upload-group/upload-group.spec.d.ts +0 -1
  192. package/dist/components/organisms/asset-uploader/asset-uploader.spec.d.ts +0 -1
  193. package/dist/components/organisms/location-finder/location-finder.spec.d.ts +0 -1
  194. package/dist/components/templates/base-carousel/base-carousel.spec.d.ts +0 -1
  195. package/dist/components/templates/base-form/base-form.spec.d.ts +0 -1
  196. package/dist/components/templates/modal-dialog/modal-dialog.spec.d.ts +0 -1
  197. package/dist/components/templates/popover-dialog/popover-dialog.spec.d.ts +0 -1
  198. package/dist/components/templates/sortable-list/sortable-list.spec.d.ts +0 -1
  199. package/dist/components/templates/touch-wrapper/touch-wrapper.spec.d.ts +0 -1
@@ -0,0 +1,263 @@
1
+ import { defineComponent as Z, shallowRef as T, onMounted as U, computed as y, watch as C, openBlock as i, createElementBlock as g, normalizeClass as N, renderSlot as A, createElementVNode as s, unref as R, createCommentVNode as h, createBlock as v, resolveDynamicComponent as S } from "vue";
2
+ import { uniqueId as B } from "../../../utilities/helpers.js";
3
+ /* empty css */
4
+ import { useI18n as j } from "vue-i18n";
5
+ import { sanitizeHtml as L } from "../../../composables/useSanitize.js";
6
+ import { fr as P } from "../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/fr.js";
7
+ import { de as Y } from "../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/de.js";
8
+ import { enUS as I } from "../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US.js";
9
+ const z = { class: "row" }, E = { class: "col-12" }, F = ["for", "innerHTML"], K = { key: 0 }, G = { class: "input-group justify-content-center" }, J = {
10
+ key: 0,
11
+ class: "row"
12
+ }, Q = { class: "col-12 col-md-6" }, W = { class: "col-12 col-md-6" }, X = {
13
+ key: 1,
14
+ class: "row"
15
+ }, _ = { class: "col-12" }, de = /* @__PURE__ */ Z({
16
+ __name: "input-datepicker",
17
+ props: {
18
+ modelValue: {
19
+ type: null,
20
+ default: ""
21
+ },
22
+ from: {
23
+ type: [String, Number, Boolean, Date],
24
+ default: ""
25
+ },
26
+ to: {
27
+ type: [String, Number, Boolean, Date],
28
+ default: ""
29
+ },
30
+ type: {
31
+ type: String,
32
+ default: "datetime-local"
33
+ },
34
+ name: {
35
+ type: String,
36
+ default: () => B()
37
+ },
38
+ id: {
39
+ type: String,
40
+ default: () => B()
41
+ },
42
+ label: {
43
+ type: String,
44
+ default: ""
45
+ },
46
+ disabled: {
47
+ type: Boolean,
48
+ default: !1
49
+ },
50
+ readOnly: {
51
+ type: Boolean,
52
+ default: !1
53
+ },
54
+ required: {
55
+ type: Boolean,
56
+ default: !1
57
+ },
58
+ range: {
59
+ type: Boolean,
60
+ default: !1
61
+ },
62
+ textRange: {
63
+ type: Boolean,
64
+ default: !1
65
+ },
66
+ inline: {
67
+ type: Boolean,
68
+ default: !1
69
+ },
70
+ textInput: {
71
+ type: Boolean,
72
+ default: !0
73
+ },
74
+ picker: {
75
+ type: Boolean,
76
+ default: !0
77
+ },
78
+ locale: {
79
+ type: String,
80
+ default: "en"
81
+ },
82
+ utcStore: {
83
+ type: Boolean,
84
+ default: !1
85
+ }
86
+ },
87
+ emits: ["update:modelValue", "update:from", "update:to"],
88
+ setup(a, { emit: k }) {
89
+ const c = T(null);
90
+ U(async () => {
91
+ const { VueDatePicker: e } = await import("@vuepic/vue-datepicker");
92
+ c.value = e;
93
+ });
94
+ const n = a, m = k, { t: ee, locale: x } = j(), O = {
95
+ en: I,
96
+ de: Y,
97
+ fr: P
98
+ }, d = y(() => {
99
+ const e = n.locale || x.value;
100
+ return O[e] || I;
101
+ }), p = y(() => n.inline || !n.picker ? { openMenu: !1, format: d.value } : !0), o = y({
102
+ get() {
103
+ if (n.range) {
104
+ let e = n.from || (Array.isArray(n.modelValue) ? n.modelValue[0] : null), t = n.to || (Array.isArray(n.modelValue) ? n.modelValue[1] : null);
105
+ return n.utcStore ? (e = e ? b(e) : null, t = t ? b(t) : null) : (e = e ? (/* @__PURE__ */ new Date(`${e}Z`)).toISOString().replace("Z", "") : null, t = t ? (/* @__PURE__ */ new Date(`${t}Z`)).toISOString().replace("Z", "") : null), [
106
+ ...e ? [e] : [],
107
+ ...t ? [t] : []
108
+ ];
109
+ } else {
110
+ if (n.utcStore) {
111
+ const l = n.modelValue;
112
+ return l && b(l) || "";
113
+ }
114
+ const e = n.modelValue ? /* @__PURE__ */ new Date(`${n.modelValue}Z`) : null, t = e && e.toISOString();
115
+ return t && t.replace("Z", "");
116
+ }
117
+ },
118
+ set(e) {
119
+ if (n.range && Array.isArray(e)) {
120
+ let [t, l] = e;
121
+ n.utcStore ? (t = D(t) || null, l = D(l) || null) : (t = t && new Date(t), t?.setUTCHours(t.getHours()), t = t?.toISOString()?.replace("Z", ""), l = l && new Date(l), l?.setUTCHours(l.getHours()), l = l?.toISOString()?.replace("Z", "")), m("update:modelValue", [t, l]), m("update:from", t), m("update:to", l);
122
+ } else if (n.utcStore) {
123
+ const t = D(e);
124
+ m("update:modelValue", t);
125
+ } else {
126
+ const t = e && new Date(e);
127
+ t?.setUTCHours(t?.getHours()), e = t && t.toISOString(), m("update:modelValue", e && e.replace("Z", ""));
128
+ }
129
+ }
130
+ }), $ = y({
131
+ get() {
132
+ return Array.isArray(o.value) ? o.value[0] : o.value;
133
+ },
134
+ set(e) {
135
+ o.value = Array.isArray(o.value) ? [e, o.value[0]] : e;
136
+ }
137
+ }), V = y({
138
+ get() {
139
+ return Array.isArray(o.value) ? o.value[1] : o.value;
140
+ },
141
+ set(e) {
142
+ o.value = Array.isArray(o.value) ? [o.value[0], e] : e;
143
+ }
144
+ });
145
+ C(() => [$.value, V.value], (e, t) => {
146
+ n.range && e.some((l) => l === void 0) && t.every(Boolean) && (o.value = []);
147
+ });
148
+ function q(e) {
149
+ if (!e)
150
+ return;
151
+ const t = e.getDate(), l = e.getMonth() + 1, f = e.getFullYear(), r = e.getMinutes(), u = e.getHours();
152
+ switch (d.value) {
153
+ case "de":
154
+ return `${t}.${l}.${f} ${u < 10 ? "0" + u : u}:${r < 10 ? "0" + r : r}`;
155
+ case "fr":
156
+ return `${t}/${l}/${f} ${u < 10 ? "0" + u : u}:${r < 10 ? "0" + r : r}`;
157
+ default:
158
+ return `${l}/${t}/${f} ${u < 10 ? "0" + u : u}:${r < 10 ? "0" + r : r}`;
159
+ }
160
+ }
161
+ function b(e) {
162
+ if (!e) return null;
163
+ const t = e instanceof Date ? new Date(e) : /* @__PURE__ */ new Date(`${e}Z`), l = t.getFullYear(), f = String(t.getMonth() + 1).padStart(2, "0"), r = String(t.getDate()).padStart(2, "0"), u = String(t.getHours()).padStart(2, "0"), M = String(t.getMinutes()).padStart(2, "0"), H = String(t.getSeconds()).padStart(2, "0");
164
+ return `${l}-${f}-${r}T${u}:${M}:${H}`;
165
+ }
166
+ function D(e) {
167
+ return e ? (e instanceof Date ? new Date(e) : new Date(String(e))).toISOString().split(".")[0] : null;
168
+ }
169
+ const w = (e) => (Array.isArray(e) ? e = e.map((t) => q(t)).join(" - ") : e = q(e), e);
170
+ return (e, t) => (i(), g("div", {
171
+ class: N(["input", "input--datepicker"])
172
+ }, [
173
+ A(e.$slots, "label", {}, () => [
174
+ s("div", z, [
175
+ s("div", E, [
176
+ a.label ? (i(), g("label", {
177
+ key: 0,
178
+ for: a.id,
179
+ class: "input__label",
180
+ innerHTML: R(L)(`${a.label}${a.required ? " *" : ""}`)
181
+ }, null, 8, F)) : h("", !0)
182
+ ])
183
+ ])
184
+ ]),
185
+ a.textInput ? (i(), g("div", K, [
186
+ s("div", G, [
187
+ A(e.$slots, "input-prepend", { slotScope: "props" }),
188
+ a.range && !a.textRange ? (i(), g("div", J, [
189
+ s("div", Q, [
190
+ (i(), v(S(c.value), {
191
+ uid: `${a.id}-from`,
192
+ modelValue: $.value,
193
+ "onUpdate:modelValue": t[0] || (t[0] = (l) => $.value = l),
194
+ locale: d.value,
195
+ format: w,
196
+ "text-input": p.value,
197
+ disabled: a.disabled,
198
+ "read-only": a.readOnly,
199
+ required: a.required,
200
+ "auto-apply": !0
201
+ }, null, 8, ["uid", "modelValue", "locale", "text-input", "disabled", "read-only", "required"]))
202
+ ]),
203
+ s("div", W, [
204
+ (i(), v(S(c.value), {
205
+ uid: `${a.id}-to`,
206
+ modelValue: V.value,
207
+ "onUpdate:modelValue": t[1] || (t[1] = (l) => V.value = l),
208
+ locale: d.value,
209
+ format: w,
210
+ "text-input": p.value,
211
+ disabled: a.disabled,
212
+ "read-only": a.readOnly,
213
+ required: a.required,
214
+ "auto-apply": !0
215
+ }, null, 8, ["uid", "modelValue", "locale", "text-input", "disabled", "read-only", "required"]))
216
+ ])
217
+ ])) : (i(), v(S(c.value), {
218
+ key: 1,
219
+ uid: `${a.id}-input-to`,
220
+ modelValue: o.value,
221
+ "onUpdate:modelValue": t[2] || (t[2] = (l) => o.value = l),
222
+ format: w,
223
+ locale: d.value,
224
+ range: a.textRange,
225
+ "text-input": p.value,
226
+ disabled: a.disabled,
227
+ "read-only": a.readOnly,
228
+ required: a.required,
229
+ "auto-apply": !0
230
+ }, null, 8, ["uid", "modelValue", "locale", "range", "text-input", "disabled", "read-only", "required"])),
231
+ A(e.$slots, "input-append", { slotScope: "props" })
232
+ ])
233
+ ])) : h("", !0),
234
+ a.inline ? (i(), g("div", X, [
235
+ s("div", _, [
236
+ (i(), v(S(c.value), {
237
+ uid: `${a.id}-inline`,
238
+ modelValue: o.value,
239
+ "onUpdate:modelValue": t[3] || (t[3] = (l) => o.value = l),
240
+ locale: d.value,
241
+ cancelText: "abbrechen",
242
+ selectText: "auswählen",
243
+ range: a.range,
244
+ "multi-calendars": a.range,
245
+ inline: { input: !1 },
246
+ "auto-apply": !0,
247
+ "partial-range": a.range,
248
+ "partial-flow": !0,
249
+ "start-time": { hours: 0, minutes: 0 },
250
+ class: "justify-content-center",
251
+ disabled: a.disabled,
252
+ "read-only": a.readOnly,
253
+ required: a.required,
254
+ "month-name-format": "long"
255
+ }, null, 8, ["uid", "modelValue", "locale", "range", "multi-calendars", "partial-range", "disabled", "read-only", "required"]))
256
+ ])
257
+ ])) : h("", !0)
258
+ ]));
259
+ }
260
+ });
261
+ export {
262
+ de as default
263
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./input-datepicker.vue.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -0,0 +1,207 @@
1
+ import { defineComponent as k, computed as f, openBlock as u, createElementBlock as o, renderSlot as S, createCommentVNode as y, createElementVNode as n, createVNode as g, withCtx as b, Transition as x, toDisplayString as h, Fragment as q, renderList as C, normalizeClass as B, withDirectives as $, vModelCheckbox as M, vModelRadio as p } from "vue";
2
+ import { useI18n as L } from "vue-i18n";
3
+ import { uniqueId as N } from "../../../utilities/helpers.js";
4
+ import T from "../../atoms/base-button/base-button.vue.js";
5
+ /* empty css */
6
+ const H = ["id"], O = ["for", "innerHTML"], A = { class: "dropdown" }, D = { class: "caption" }, E = ["innerHTML"], I = { class: "caption__text" }, J = { class: "d-block text-truncate" }, U = { class: "dropdown-menu" }, j = { class: "form-check d-flex" }, z = ["value", "id", "name", "label", "required", "disabled"], F = ["value", "id", "name", "label", "required", "disabled"], P = ["for"], X = /* @__PURE__ */ k({
7
+ __name: "input-dropdown",
8
+ props: {
9
+ id: {
10
+ type: String
11
+ },
12
+ name: {
13
+ type: String,
14
+ default: () => `dropdown-${N()}`
15
+ },
16
+ label: {
17
+ type: String
18
+ },
19
+ error: {
20
+ type: String
21
+ },
22
+ disabled: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ readOnly: {
27
+ type: Boolean,
28
+ default: !1
29
+ },
30
+ required: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ modelValue: {
35
+ type: null
36
+ },
37
+ // value: {
38
+ // type: String,
39
+ // },
40
+ options: {
41
+ type: Array,
42
+ required: !0
43
+ },
44
+ multiple: {
45
+ type: Boolean,
46
+ default: !1
47
+ },
48
+ showSelectionCount: {
49
+ type: Boolean,
50
+ default: !1
51
+ },
52
+ toggleCaption: {
53
+ type: String
54
+ },
55
+ placeholder: {
56
+ type: String,
57
+ default: ""
58
+ },
59
+ icon: {
60
+ default: "chevron-down",
61
+ type: String
62
+ },
63
+ variant: {
64
+ type: String,
65
+ default: ""
66
+ },
67
+ color: {
68
+ type: String,
69
+ default: ""
70
+ },
71
+ outlined: {
72
+ type: Boolean,
73
+ default: !1
74
+ },
75
+ exactMatch: {
76
+ type: Boolean,
77
+ default: !1
78
+ }
79
+ },
80
+ emits: ["update:modelValue"],
81
+ setup(e, { emit: V }) {
82
+ const { t: s } = L(), l = e, w = V, r = f({
83
+ get() {
84
+ return l.multiple && !l.modelValue ? [] : l.modelValue;
85
+ },
86
+ set(t) {
87
+ w("update:modelValue", t);
88
+ }
89
+ }), c = f(
90
+ () => l.options && l.options.map((t) => (t = typeof t == "string" ? {
91
+ text: t,
92
+ value: t
93
+ } : t, {
94
+ ...t,
95
+ active: l.modelValue && t.value && (l.exactMatch ? l.modelValue === t.value : l.multiple ? l.modelValue.includes(t.value) : l.modelValue === t.value)
96
+ // Use === for single values
97
+ }))
98
+ ), v = f(() => {
99
+ if (!l.modelValue)
100
+ return l.placeholder || `${s("common.select")}`;
101
+ if (l.multiple && Array.isArray(l.modelValue) && l.modelValue.length)
102
+ return c.value.reduce(
103
+ (t, d) => l.modelValue.includes(d.value) ? `${t}${t ? ", " : ""}${d.text}` : t,
104
+ ""
105
+ );
106
+ if (!l.multiple) {
107
+ const t = c.value.find(
108
+ (d) => typeof d.value == "object" && d.value !== null ? JSON.stringify(d.value) === JSON.stringify(l.modelValue) : d.value === l.modelValue
109
+ );
110
+ return t ? t.text : l.placeholder || `${s("common.select")}`;
111
+ }
112
+ return l.placeholder || `${s("common.select")}`;
113
+ });
114
+ return (t, d) => (u(), o("div", {
115
+ class: "input input-dropdown",
116
+ id: `${e.id || e.name}`
117
+ }, [
118
+ S(t.$slots, "label", {}, () => [
119
+ e.label ? (u(), o("label", {
120
+ key: 0,
121
+ for: `${e.id || e.name}--dropdown-toggle`,
122
+ class: "input__label",
123
+ innerHTML: `${e.label}${e.required ? " *" : ""}`
124
+ }, null, 8, O)) : y("", !0)
125
+ ]),
126
+ n("div", A, [
127
+ g(T, {
128
+ id: `${e.id || e.name}--dropdown-toggle`,
129
+ "data-bs-toggle": "dropdown",
130
+ role: "button",
131
+ type: "button",
132
+ title: v.value,
133
+ class: "btn dropdown-toggle",
134
+ color: e.color,
135
+ outlined: e.outlined,
136
+ disabled: e.disabled
137
+ }, {
138
+ default: b(() => [
139
+ n("span", D, [
140
+ g(x, { name: "bounce" }, {
141
+ default: b(() => [
142
+ e.showSelectionCount && e.modelValue.length ? (u(), o("i", {
143
+ key: 0,
144
+ class: "caption__count",
145
+ innerHTML: e.modelValue.length
146
+ }, null, 8, E)) : y("", !0)
147
+ ]),
148
+ _: 1
149
+ }),
150
+ n("span", I, [
151
+ n("span", J, h(e.toggleCaption || v.value), 1)
152
+ ])
153
+ ])
154
+ ]),
155
+ _: 1
156
+ }, 8, ["id", "title", "color", "outlined", "disabled"]),
157
+ n("ul", U, [
158
+ (u(!0), o(q, null, C(c.value, (a, i) => (u(), o("li", {
159
+ key: `${a.value}-${i}`
160
+ }, [
161
+ n("div", {
162
+ class: B(["dropdown-item", a.active && "active"])
163
+ }, [
164
+ n("div", j, [
165
+ e.multiple ? $((u(), o("input", {
166
+ type: "checkbox",
167
+ "onUpdate:modelValue": d[0] || (d[0] = (m) => r.value = m),
168
+ value: a.value,
169
+ key: `${e.name}-${a.value}-${i}__if`,
170
+ id: `${e.name}-${a.value}-${i}`,
171
+ name: e.name,
172
+ label: a.text,
173
+ required: e.required,
174
+ disabled: a.selectable === !1,
175
+ class: "form-check-input"
176
+ }, null, 8, z)), [
177
+ [M, r.value]
178
+ ]) : $((u(), o("input", {
179
+ type: "radio",
180
+ "onUpdate:modelValue": d[1] || (d[1] = (m) => r.value = m),
181
+ value: a.value,
182
+ key: `${e.name}-${a.value}-${i}__else`,
183
+ id: `${e.name}-${a.value}-${i}`,
184
+ name: e.name,
185
+ label: a.text,
186
+ required: e.required,
187
+ disabled: a.selectable === !1,
188
+ class: "form-check-input visually-hidden"
189
+ }, null, 8, F)), [
190
+ [p, r.value]
191
+ ]),
192
+ n("label", {
193
+ class: "form-check-label flex-grow-1",
194
+ onclick: "event.stopPropagation",
195
+ for: `${e.name}-${a.value}-${i}`
196
+ }, h(a.text), 9, P)
197
+ ])
198
+ ], 2)
199
+ ]))), 128))
200
+ ])
201
+ ])
202
+ ], 8, H));
203
+ }
204
+ });
205
+ export {
206
+ X as default
207
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./input-dropdown.vue.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -0,0 +1,177 @@
1
+ import { defineComponent as v, ref as _, computed as h, openBlock as n, createElementBlock as a, createElementVNode as t, createVNode as i, toDisplayString as o, createCommentVNode as l, withModifiers as p, createTextVNode as f } from "vue";
2
+ import r from "../../atoms/svg-icon/svg-icon.vue.js";
3
+ /* empty css */
4
+ const $ = { class: "link-sharing" }, w = {
5
+ key: 0,
6
+ class: "link-sharing__links container"
7
+ }, C = { class: "row" }, A = {
8
+ key: 0,
9
+ class: "col-12 col-md-6"
10
+ }, j = ["href"], S = { class: "caption" }, x = {
11
+ key: 1,
12
+ class: "col-12 col-md-6"
13
+ }, I = ["href"], N = { class: "caption" }, T = {
14
+ key: 2,
15
+ class: "col-12 col-md-6"
16
+ }, V = { class: "caption" }, B = {
17
+ key: 3,
18
+ class: "col-12 col-md-6"
19
+ }, E = ["href"], M = { class: "caption" }, R = {
20
+ key: 4,
21
+ class: "col-12 col-md-6"
22
+ }, U = ["href"], D = { class: "caption" }, H = {
23
+ key: 5,
24
+ class: "col-12 col-md-6"
25
+ }, O = { class: "caption" }, q = {
26
+ key: 6,
27
+ class: "col-12 col-md-6"
28
+ }, z = ["href"], F = { class: "caption" }, G = {
29
+ key: 1,
30
+ class: "link-sharing__instructions pt-5"
31
+ }, J = { class: "row" }, K = { class: "col-12 text-center py-0" }, L = { class: "mb-5" }, P = (e) => e.replace(/<(?:.|\n)*?>/gm, ""), Y = /* @__PURE__ */ v({
32
+ __name: "link-sharing",
33
+ props: {
34
+ url: {
35
+ type: String,
36
+ default: ""
37
+ },
38
+ subject: {
39
+ type: String,
40
+ default: ""
41
+ },
42
+ hashtags: Array,
43
+ text: {
44
+ type: String,
45
+ default: ""
46
+ },
47
+ media: {
48
+ type: String,
49
+ default: ""
50
+ },
51
+ services: {
52
+ type: Object,
53
+ default: {
54
+ facebook: !0,
55
+ instagram: !0,
56
+ linkedin: !0,
57
+ whatsapp: !0,
58
+ mailto: !0,
59
+ clipboard: !0,
60
+ bluesky: !0
61
+ }
62
+ }
63
+ },
64
+ setup(e) {
65
+ const d = e, c = _(!1), m = h(() => encodeURIComponent(d.url));
66
+ h(() => encodeURIComponent(d.media));
67
+ const b = h(() => P(d.text)), k = h(() => !!(navigator && navigator.userAgent && /Mobi|Android/i.test(navigator.userAgent)));
68
+ async function g() {
69
+ const s = document.createElement("textarea");
70
+ document.body.appendChild(s), s.value = d.url, s.select(), s.setSelectionRange(0, 99999), navigator.clipboard.writeText(s.value), document.body.removeChild(s);
71
+ }
72
+ return (s, u) => (n(), a("div", $, [
73
+ c.value ? (n(), a("div", G, [
74
+ t("div", J, [
75
+ t("div", K, [
76
+ t("div", L, [
77
+ t("p", null, o(s.$t("sharing.instructions", { service: "Instagram" })), 1),
78
+ t("p", null, [
79
+ t("strong", null, o(Array.isArray(e.hashtags) ? e.hashtags.join(", ") : e.hashtags), 1)
80
+ ]),
81
+ t("button", {
82
+ type: "button",
83
+ class: "btn btn-text",
84
+ onClick: u[1] || (u[1] = p((y) => c.value = !c.value, ["prevent"]))
85
+ }, [
86
+ i(r, { symbol: "arrow-left" }),
87
+ f(" " + o(s.$t("common.back")), 1)
88
+ ])
89
+ ])
90
+ ])
91
+ ])
92
+ ])) : (n(), a("div", w, [
93
+ t("div", C, [
94
+ e.services.facebook ? (n(), a("div", A, [
95
+ t("a", {
96
+ class: "link-sharing__link btn btn-primary",
97
+ href: `https://www.facebook.com/sharer.php?u=${m.value}`,
98
+ target: "_blank",
99
+ rel: "noopener"
100
+ }, [
101
+ i(r, { symbol: "facebook" }),
102
+ t("span", S, o(s.$t("sharing.facebook")), 1)
103
+ ], 8, j)
104
+ ])) : l("", !0),
105
+ e.services.bluesky ? (n(), a("div", x, [
106
+ t("a", {
107
+ class: "link-sharing__link btn btn-primary",
108
+ href: `https://bsky.app/intent/compose?text=${b.value}${b.value ? "%20" : ""}${e.url}`,
109
+ target: "_blank",
110
+ rel: "noopener"
111
+ }, [
112
+ i(r, { symbol: "bluesky-logo" }),
113
+ t("span", N, o(s.$t("sharing.bluesky")), 1)
114
+ ], 8, I)
115
+ ])) : l("", !0),
116
+ e.services.instagram ? (n(), a("div", T, [
117
+ t("button", {
118
+ type: "button",
119
+ class: "link-sharing__link btn btn-primary",
120
+ onClick: u[0] || (u[0] = p((y) => c.value = !c.value, ["prevent"]))
121
+ }, [
122
+ i(r, { symbol: "instagram" }),
123
+ t("span", V, o(s.$t("sharing.instagram")), 1)
124
+ ])
125
+ ])) : l("", !0),
126
+ e.services.linkedin ? (n(), a("div", B, [
127
+ t("a", {
128
+ class: "link-sharing__link btn btn-primary",
129
+ href: `https://www.linkedin.com/shareArticle?mini=true&url=${m.value}&title=${e.subject}`,
130
+ target: "_blank",
131
+ rel: "noopener"
132
+ }, [
133
+ i(r, { symbol: "linkedin" }),
134
+ t("span", M, o(s.$t("sharing.linkedin")), 1)
135
+ ], 8, E)
136
+ ])) : l("", !0),
137
+ e.services.whatsapp && k.value ? (n(), a("div", R, [
138
+ t("a", {
139
+ class: "link-sharing__link btn btn-primary",
140
+ href: `whatsapp://send?text=${m.value}`,
141
+ target: "_blank",
142
+ rel: "noopener"
143
+ }, [
144
+ i(r, { symbol: "whatsapp" }),
145
+ t("span", D, o(s.$t("sharing.whatsapp")), 1)
146
+ ], 8, U)
147
+ ])) : l("", !0),
148
+ e.services.clipboard ? (n(), a("div", H, [
149
+ t("button", {
150
+ type: "button",
151
+ class: "link-sharing__link btn btn-primary",
152
+ onClick: p(g, ["prevent", "stop"])
153
+ }, [
154
+ i(r, { symbol: "copy" }),
155
+ t("span", O, o(s.$t("sharing.clipboard")), 1)
156
+ ])
157
+ ])) : l("", !0),
158
+ e.services.mailto ? (n(), a("div", q, [
159
+ t("a", {
160
+ class: "link-sharing__link btn btn-primary",
161
+ href: `mailto:?subject=${e.subject}&body=${b.value}%0D%0A${e.url}`,
162
+ target: "_blank",
163
+ rel: "noopener"
164
+ }, [
165
+ i(r, { symbol: "mail" }),
166
+ t("span", F, o(s.$t("sharing.mailto")), 1)
167
+ ], 8, z)
168
+ ])) : l("", !0)
169
+ ])
170
+ ]))
171
+ ]));
172
+ }
173
+ });
174
+ export {
175
+ Y as default,
176
+ P as stripHtml
177
+ };
@@ -0,0 +1,7 @@
1
+ import t from "./link-sharing.vue.js";
2
+ import { stripHtml as f } from "./link-sharing.vue.js";
3
+ /* empty css */
4
+ export {
5
+ t as default,
6
+ f as stripHtml
7
+ };