eco-vue-js 0.11.65 → 0.11.67

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 (54) hide show
  1. package/dist/assets/icons/IconCheckSecret.svg.js +44 -0
  2. package/dist/assets/icons/IconUpload.svg.js +38 -0
  3. package/dist/components/BorderSvg/WBorderSvg.vue.d.ts +26 -0
  4. package/dist/components/BorderSvg/WBorderSvg.vue.d.ts.map +1 -0
  5. package/dist/components/BorderSvg/WBorderSvg.vue.js +36 -0
  6. package/dist/components/BorderSvg/WBorderSvg.vue2.js +5 -0
  7. package/dist/components/Button/WButtonGroup.vue.js +1 -0
  8. package/dist/components/Checkbox/WCheckboxGroup.vue.js +1 -0
  9. package/dist/components/Checkbox/WCheckboxGroupMultiple.vue.js +1 -0
  10. package/dist/components/FieldWrapper/WFieldWrapper.vue.d.ts +6 -0
  11. package/dist/components/FieldWrapper/WFieldWrapper.vue.d.ts.map +1 -1
  12. package/dist/components/FieldWrapper/WFieldWrapper.vue.js +39 -15
  13. package/dist/components/FieldWrapper/types.d.ts +1 -0
  14. package/dist/components/FieldWrapper/types.d.ts.map +1 -1
  15. package/dist/components/FilePicker/WFilePicker.vue.d.ts +0 -2
  16. package/dist/components/FilePicker/WFilePicker.vue.d.ts.map +1 -1
  17. package/dist/components/FilePicker/WFilePicker.vue.js +17 -44
  18. package/dist/components/FilePicker/components/FilePickerSvg.vue.d.ts +2 -7
  19. package/dist/components/FilePicker/components/FilePickerSvg.vue.d.ts.map +1 -1
  20. package/dist/components/FilePicker/components/FilePickerSvg.vue.js +21 -71
  21. package/dist/components/FormAsync/WFormAsyncButtonGroup.vue.js +1 -0
  22. package/dist/components/FormAsync/WFormAsyncCheckboxGroup.vue.js +1 -0
  23. package/dist/components/FormAsync/WFormAsyncInput.vue.js +1 -0
  24. package/dist/components/FormAsync/WFormAsyncSelect.vue.js +1 -0
  25. package/dist/components/FormAsync/WFormAsyncSelectInfiniteSingle.vue.js +1 -0
  26. package/dist/components/FormAsync/WFormAsyncSelectSingle.vue.js +1 -0
  27. package/dist/components/FormAsync/WFormAsyncSelectStringified.vue.js +1 -0
  28. package/dist/components/Input/WInput.vue.d.ts +2 -0
  29. package/dist/components/Input/WInput.vue.d.ts.map +1 -1
  30. package/dist/components/Input/WInput.vue.js +93 -17
  31. package/dist/components/Input/WInputAsync.vue.d.ts.map +1 -1
  32. package/dist/components/Input/WInputAsync.vue.js +4 -2
  33. package/dist/components/Input/WInputDate.vue.js +1 -0
  34. package/dist/components/Input/WInputOptions.vue.js +1 -0
  35. package/dist/components/Input/WInputSuggest.vue.js +1 -0
  36. package/dist/components/Input/components/InputActions.vue.d.ts +4 -0
  37. package/dist/components/Input/components/InputActions.vue.d.ts.map +1 -1
  38. package/dist/components/Input/components/InputActions.vue.js +36 -17
  39. package/dist/components/Input/components/InputActionsButton.vue.d.ts +1 -0
  40. package/dist/components/Input/components/InputActionsButton.vue.d.ts.map +1 -1
  41. package/dist/components/Input/components/InputActionsButton.vue.js +5 -5
  42. package/dist/components/Select/WSelect.vue.js +1 -0
  43. package/dist/components/Select/WSelectAsync.vue.js +1 -0
  44. package/dist/components/Select/WSelectAsyncSingle.vue.js +1 -0
  45. package/dist/components/Select/WSelectSingle.vue.js +1 -0
  46. package/dist/components/Select/WSelectStringified.vue.js +1 -0
  47. package/dist/main.d.ts +5 -1
  48. package/dist/main.d.ts.map +1 -1
  49. package/dist/main.js +214 -209
  50. package/dist/utils/preventDragFile.d.ts +3 -0
  51. package/dist/utils/preventDragFile.d.ts.map +1 -0
  52. package/dist/utils/preventDragFile.js +20 -0
  53. package/package.json +7 -1
  54. package/tailwind-base/plugins/internal-variables.ts +15 -0
@@ -0,0 +1,44 @@
1
+ import { createElementBlock, openBlock, createElementVNode } from 'vue';
2
+
3
+ const _hoisted_1 = {
4
+ width: "20",
5
+ height: "20",
6
+ viewBox: "0 0 24 24",
7
+ fill: "none",
8
+ xmlns: "http://www.w3.org/2000/svg"
9
+ };
10
+
11
+ function render(_ctx, _cache) {
12
+ return (openBlock(), createElementBlock("svg", _hoisted_1, [...(_cache[0] || (_cache[0] = [
13
+ createElementVNode("path", {
14
+ d: "m3.23 21.27 3.54-3.54m0 3.54-3.54-3.54M5 22v-5m2.5 2.5h-5m14.73 1.77 3.54-3.54m0 3.54-3.54-3.54M19 22v-5m2.5 2.5h-5m-6.27 1.77 3.54-3.54m0 3.54-3.54-3.54M12 22v-5m2.5 2.5h-5",
15
+ stroke: "currentcolor",
16
+ "stroke-linecap": "round",
17
+ "stroke-linejoin": "round"
18
+ }, null, -1),
19
+ createElementVNode("path", {
20
+ d: "M5.4 6.8V5.6C5.4 3.6 6 2 9 2s3.6 1.6 3.6 3.6v1.2M9 11.12a.72.72 0 1 0 0-1.44.72.72 0 0 0 0 1.44",
21
+ stroke: "currentcolor",
22
+ "stroke-linecap": "round",
23
+ "stroke-linejoin": "round",
24
+ "stroke-width": "1.5"
25
+ }, null, -1),
26
+ createElementVNode("path", {
27
+ d: "M13.72 7q-.64-.2-1.72-.2H6c-2.4 0-3 .6-3 3V11c0 2.4.6 3 3 3h6q1.1 0 1.72-.2",
28
+ stroke: "currentcolor",
29
+ "stroke-linecap": "round",
30
+ "stroke-linejoin": "round",
31
+ "stroke-width": "1.5"
32
+ }, null, -1),
33
+ createElementVNode("path", {
34
+ d: "M13.5 9.5 16 12l5.5-5.5",
35
+ stroke: "currentcolor",
36
+ "stroke-linecap": "round",
37
+ "stroke-linejoin": "round",
38
+ "stroke-width": "1.5"
39
+ }, null, -1)
40
+ ]))]))
41
+ }
42
+ const IconCheckSecret = { render: render };
43
+
44
+ export { IconCheckSecret as default, render };
@@ -0,0 +1,38 @@
1
+ import { createElementBlock, openBlock, createElementVNode } from 'vue';
2
+
3
+ const _hoisted_1 = {
4
+ width: "20",
5
+ height: "20",
6
+ viewBox: "0 0 24 24",
7
+ fill: "none",
8
+ xmlns: "http://www.w3.org/2000/svg"
9
+ };
10
+
11
+ function render(_ctx, _cache) {
12
+ return (openBlock(), createElementBlock("svg", _hoisted_1, [...(_cache[0] || (_cache[0] = [
13
+ createElementVNode("path", {
14
+ d: "M9 17v-6l-2 2m2-2 2 2",
15
+ stroke: "currentcolor",
16
+ "stroke-linecap": "round",
17
+ "stroke-linejoin": "round",
18
+ "stroke-width": "1.5"
19
+ }, null, -1),
20
+ createElementVNode("path", {
21
+ d: "M22 10v5c0 5-2 7-7 7H9c-5 0-7-2-7-7V9c0-5 2-7 7-7h5",
22
+ stroke: "currentcolor",
23
+ "stroke-linecap": "round",
24
+ "stroke-linejoin": "round",
25
+ "stroke-width": "1.5"
26
+ }, null, -1),
27
+ createElementVNode("path", {
28
+ d: "M22 10h-4c-3 0-4-1-4-4V2z",
29
+ stroke: "currentcolor",
30
+ "stroke-linecap": "round",
31
+ "stroke-linejoin": "round",
32
+ "stroke-width": "1.5"
33
+ }, null, -1)
34
+ ]))]))
35
+ }
36
+ const IconUpload = { render: render };
37
+
38
+ export { IconUpload as default, render };
@@ -0,0 +1,26 @@
1
+ import { SVGAttributes } from 'vue';
2
+ type __VLS_Props = {
3
+ stroke?: string;
4
+ strokeDasharray?: string;
5
+ strokeDashoffset?: string;
6
+ strokeLinecap?: SVGAttributes['stroke-linecap'];
7
+ rectClass?: string;
8
+ };
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: {
12
+ default?(_: {}): any;
13
+ };
14
+ refs: {};
15
+ rootEl: SVGSVGElement;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, SVGSVGElement>;
19
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
20
+ export default _default;
21
+ type __VLS_WithTemplateSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
26
+ //# sourceMappingURL=WBorderSvg.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WBorderSvg.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/BorderSvg/WBorderSvg.vue"],"names":[],"mappings":"AAyBA;AAuCA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,KAAK,CAAA;AAEtC,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC;AAKF,iBAAS,cAAc;WAmCT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,4SAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, normalizeClass, renderSlot } from 'vue';
2
+
3
+ const _hoisted_1 = {
4
+ fill: "none",
5
+ preserveAspectRatio: "xMidYMid meet",
6
+ class: "pointer-events-none absolute inset-0 z-10 -m-[--w-border-svg-padding,0px] size-[calc(100%+var(--w-border-svg-padding,0px)*2)]",
7
+ style: { "--border-svg-padding": "calc(var(--w-border-svg-padding, 0px) + var(--w-border-svg-stroke-width, 2px) / 2)" }
8
+ };
9
+ const _hoisted_2 = ["stroke", "stroke-dasharray", "stroke-linecap", "stroke-dashoffset"];
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ __name: "WBorderSvg",
12
+ props: {
13
+ stroke: {},
14
+ strokeDasharray: {},
15
+ strokeDashoffset: {},
16
+ strokeLinecap: {},
17
+ rectClass: {}
18
+ },
19
+ setup(__props) {
20
+ return (_ctx, _cache) => {
21
+ return openBlock(), createElementBlock("svg", _hoisted_1, [
22
+ createElementVNode("rect", {
23
+ stroke: __props.stroke,
24
+ "stroke-dasharray": __props.strokeDasharray,
25
+ "stroke-linecap": __props.strokeLinecap,
26
+ "stroke-dashoffset": __props.strokeDashoffset,
27
+ class: normalizeClass([__props.rectClass, "size-[calc(100%-var(--border-svg-padding)*2)] [rx:var(--w-border-svg-rounded)] [stroke-width:--w-border-svg-stroke-width,2px] [x:--border-svg-padding] [y:--border-svg-padding]"])
28
+ }, [
29
+ renderSlot(_ctx.$slots, "default")
30
+ ], 10, _hoisted_2)
31
+ ]);
32
+ };
33
+ }
34
+ });
35
+
36
+ export { _sfc_main as default };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './WBorderSvg.vue.js';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -41,6 +41,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
41
  seamless: { type: Boolean },
42
42
  savedText: {},
43
43
  topText: { type: Boolean },
44
+ allowDropFile: { type: Boolean },
44
45
  loading: { type: Boolean },
45
46
  download: {},
46
47
  autofocus: { type: Boolean },
@@ -41,6 +41,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
41
  seamless: { type: Boolean },
42
42
  savedText: {},
43
43
  topText: { type: Boolean },
44
+ allowDropFile: { type: Boolean },
44
45
  radio: { type: Boolean },
45
46
  loading: { type: Boolean },
46
47
  alignTop: { type: Boolean },
@@ -40,6 +40,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  seamless: { type: Boolean },
41
41
  savedText: {},
42
42
  topText: { type: Boolean },
43
+ allowDropFile: { type: Boolean },
43
44
  radio: { type: Boolean },
44
45
  loading: { type: Boolean },
45
46
  alignTop: { type: Boolean },
@@ -11,11 +11,13 @@ declare function __VLS_template(): {
11
11
  id: string;
12
12
  focused: boolean;
13
13
  setFocused: (value: boolean) => void;
14
+ isDragover: boolean;
14
15
  }) => VNode[];
15
16
  default: (props: {
16
17
  id: string;
17
18
  focused: boolean;
18
19
  setFocused: (value: boolean) => void;
20
+ isDragover: boolean;
19
21
  }) => VNode[];
20
22
  }> & {
21
23
  title: () => VNode[];
@@ -26,11 +28,13 @@ declare function __VLS_template(): {
26
28
  id: string;
27
29
  focused: boolean;
28
30
  setFocused: (value: boolean) => void;
31
+ isDragover: boolean;
29
32
  }) => VNode[];
30
33
  default: (props: {
31
34
  id: string;
32
35
  focused: boolean;
33
36
  setFocused: (value: boolean) => void;
37
+ isDragover: boolean;
34
38
  }) => VNode[];
35
39
  };
36
40
  refs: {
@@ -45,8 +49,10 @@ declare const __VLS_component: import('vue').DefineComponent<FieldWrapperProps,
45
49
  showMessage: (value: string, durationMs?: number) => void;
46
50
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
47
51
  click: (value: MouseEvent) => any;
52
+ drop: (value: DataTransferItemList) => any;
48
53
  }, string, import('vue').PublicProps, Readonly<FieldWrapperProps> & Readonly<{
49
54
  onClick?: ((value: MouseEvent) => any) | undefined;
55
+ onDrop?: ((value: DataTransferItemList) => any) | undefined;
50
56
  }>, {
51
57
  skeleton: boolean;
52
58
  readonly: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"WFieldWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/WFieldWrapper.vue"],"names":[],"mappings":"AA6LA;AAAA,OAsSO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAkB,KAAK,KAAK,EAAgE,MAAM,KAAK,CAAA;AAgH9G,iBAAS,cAAc;WA+RT,OAAO,IAA6B;;eA9SzC,MAAM,KAAK,EAAE;kBACV,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;gBACZ,MAAM,KAAK,EAAE;eACd,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;SAAC,KAAK,KAAK,EAAE;iBACtF,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;SAAC,KAAK,KAAK,EAAE;;eAL1F,MAAM,KAAK,EAAE;kBACV,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;gBACZ,MAAM,KAAK,EAAE;eACd,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;SAAC,KAAK,KAAK,EAAE;iBACtF,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;SAAC,KAAK,KAAK,EAAE;;;;;;;EA8SlG;AAwBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;yBA9WO,MAAM,eAAc,MAAM;;;;;;;;;;;;OAwXpD,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WFieldWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/WFieldWrapper.vue"],"names":[],"mappings":"AAqMA;AAAA,OA+TO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAkB,KAAK,KAAK,EAAgE,MAAM,KAAK,CAAA;AAiI9G,iBAAS,cAAc;WAuST,OAAO,IAA6B;;eAtTzC,MAAM,KAAK,EAAE;kBACV,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;gBACZ,MAAM,KAAK,EAAE;eACd,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAC,KAAK,KAAK,EAAE;iBAC3G,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAC,KAAK,KAAK,EAAE;;eAL/G,MAAM,KAAK,EAAE;kBACV,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;gBACZ,MAAM,KAAK,EAAE;eACd,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAC,KAAK,KAAK,EAAE;iBAC3G,CAAC,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAC,KAAK,KAAK,EAAE;;;;;;;EAsTvH;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;yBA1YO,MAAM,eAAc,MAAM;;;;;;;;;;;;;;OAoZpD,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -49,11 +49,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
49
  subgrid: { type: Boolean },
50
50
  seamless: { type: Boolean },
51
51
  savedText: {},
52
- topText: { type: Boolean }
52
+ topText: { type: Boolean },
53
+ allowDropFile: { type: Boolean }
53
54
  },
54
- emits: ["click"],
55
- setup(__props, { expose: __expose }) {
55
+ emits: ["click", "drop"],
56
+ setup(__props, { expose: __expose, emit: __emit }) {
56
57
  const props = __props;
58
+ const emit = __emit;
57
59
  const { isReadonly, isDisabled, isSkeleton } = useComponentStates(props);
58
60
  const id = useId();
59
61
  const fieldRef = useTemplateRef("field");
@@ -89,6 +91,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
91
  };
90
92
  const setShowMessageInjected = inject(wFieldSetShowMessage, null);
91
93
  setShowMessageInjected?.(showMessage);
94
+ const isDragover = ref(false);
95
+ const onDragover = () => {
96
+ isDragover.value = true;
97
+ };
98
+ const onDragleave = () => {
99
+ isDragover.value = false;
100
+ };
101
+ const onDrop = (event) => {
102
+ const list = event.dataTransfer?.items;
103
+ if (list) emit("drop", list);
104
+ };
92
105
  onBeforeUnmount(() => {
93
106
  setShowMessageInjected?.(null);
94
107
  resetMessage();
@@ -98,13 +111,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
111
  showMessage
99
112
  });
100
113
  return (_ctx, _cache) => {
101
- return openBlock(), createElementBlock("div", mergeProps({ class: "relative" }, { style: _ctx.$attrs.style }, {
102
- class: [_ctx.$attrs.class, {
103
- "mb-[1.125rem]": !__props.noMargin && !__props.subgrid,
104
- "col-span-full grid grid-cols-subgrid": __props.subgrid
105
- }],
106
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
107
- }), [
114
+ return openBlock(), createElementBlock("div", mergeProps(
115
+ { class: "relative" },
116
+ __props.allowDropFile ? {
117
+ style: _ctx.$attrs.style,
118
+ onDragover,
119
+ onDragleave,
120
+ onDrop
121
+ } : {
122
+ style: _ctx.$attrs.style
123
+ },
124
+ {
125
+ class: [_ctx.$attrs.class, {
126
+ "mb-[1.125rem]": !__props.noMargin && !__props.subgrid,
127
+ "col-span-full grid grid-cols-subgrid": __props.subgrid
128
+ }],
129
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
130
+ }
131
+ ), [
108
132
  __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("label", {
109
133
  key: 0,
110
134
  for: unref(id),
@@ -157,14 +181,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
157
181
  "grid-cols-1": !__props.subgrid
158
182
  }])
159
183
  }, [
160
- renderSlot(_ctx.$slots, "field", normalizeProps(guardReactiveProps({ id: unref(id), setFocused, focused: focused.value })), () => [
184
+ renderSlot(_ctx.$slots, "field", normalizeProps(guardReactiveProps({ id: unref(id), setFocused, focused: focused.value, isDragover: isDragover.value })), () => [
161
185
  createElementVNode("div", {
162
186
  class: normalizeClass(["flex min-h-[--w-input-height,2.75rem] items-center font-normal", {
163
187
  "font-mono": __props.mono,
164
188
  "border-t border-solid border-gray-300 dark:border-gray-700": __props.title || _ctx.$slots.title
165
189
  }])
166
190
  }, [
167
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ id: unref(id), setFocused, focused: focused.value })), () => [
191
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ id: unref(id), setFocused, focused: focused.value, isDragover: isDragover.value })), () => [
168
192
  createTextVNode(toDisplayString(typeof __props.modelValue === "number" ? unref(numberFormatter).format(__props.modelValue) : __props.modelValue === null ? __props.emptyValue ?? "N / A" : __props.modelValue || __props.emptyValue), 1)
169
193
  ]),
170
194
  __props.allowCopy && __props.modelValue ? (openBlock(), createBlock(_sfc_main$3, {
@@ -194,18 +218,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
194
218
  default: withCtx(() => [
195
219
  message.value ? withDirectives((openBlock(), createElementBlock("div", {
196
220
  key: 0,
197
- class: normalizeClass(["text-description absolute right-0 whitespace-nowrap py-0.5 text-xs font-normal", __props.topText ? "bottom-full" : "top-full"])
221
+ class: normalizeClass(["text-description absolute right-0 whitespace-nowrap my-0.5 bg-default dark:bg-default-dark text-xs font-normal", __props.topText ? "bottom-full" : "top-full"])
198
222
  }, toDisplayString(message.value), 3)), [
199
223
  [vShow, isMessageShown.value]
200
224
  ]) : __props.errorMessage ? (openBlock(), createElementBlock("div", {
201
225
  key: 1,
202
- class: normalizeClass(["text-negative dark:text-negative-dark absolute pt-0.5 text-xs font-normal", [
226
+ class: normalizeClass(["text-negative dark:text-negative-dark absolute mt-0.5 bg-default dark:bg-default-dark text-xs font-normal", [
203
227
  !__props.leftError || __props.topText ? "right-0 text-end" : "left-0 text-start",
204
228
  __props.topText ? "bottom-full" : "top-full"
205
229
  ]])
206
230
  }, toDisplayString(__props.errorMessage), 3)) : __props.maxLength !== void 0 && focused.value ? (openBlock(), createElementBlock("div", {
207
231
  key: 2,
208
- class: normalizeClass(["text-description absolute right-0 whitespace-nowrap pt-0.5 text-xs font-normal", __props.topText ? "bottom-full" : "top-full"])
232
+ class: normalizeClass(["text-description absolute right-0 whitespace-nowrap mt-0.5 bg-default dark:bg-default-dark text-xs font-normal", __props.topText ? "bottom-full" : "top-full"])
209
233
  }, toDisplayString(unref(numberFormatter).format(`${typeof __props.modelValue === "number" ? __props.modelValue : __props.modelValue || ""}`.length)) + " / " + toDisplayString(unref(numberFormatter).format(__props.maxLength)), 3)) : createCommentVNode("", true)
210
234
  ]),
211
235
  _: 1
@@ -23,5 +23,6 @@ export interface FieldWrapperProps {
23
23
  seamless?: boolean;
24
24
  savedText?: string;
25
25
  topText?: boolean;
26
+ allowDropFile?: boolean;
26
27
  }
27
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}
@@ -24,7 +24,6 @@ declare function __VLS_template(): {
24
24
  }): any;
25
25
  };
26
26
  refs: {
27
- container: HTMLLabelElement;
28
27
  input: HTMLInputElement;
29
28
  };
30
29
  rootEl: HTMLDivElement;
@@ -45,7 +44,6 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
45
44
  errorMessage: string;
46
45
  accept: string;
47
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
48
- container: HTMLLabelElement;
49
47
  input: HTMLInputElement;
50
48
  }, HTMLDivElement>;
51
49
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"WFilePicker.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FilePicker/WFilePicker.vue"],"names":[],"mappings":"AA2IA;AA2QA,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,IAAI,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAkGJ,iBAAS,cAAc;WAgQT,OAAO,IAA6B;;uBAhBvB,GAAG;0BACC,GAAG;;;YAEH,GAAG;0BADH,GAAG;;;YAEH,GAAG;;;;;;;EAiBjC;AAyBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;cArYN,OAAO;cACP,OAAO;WAFV,MAAM;iBAJA,MAAM;cAOT,OAAO;kBAJH,MAAM;YADZ,MAAM;;;;kBAkZjB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WFilePicker.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FilePicker/WFilePicker.vue"],"names":[],"mappings":"AA8IA;AAoOA,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,IAAI,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AA4DJ,iBAAS,cAAc;WAgQT,OAAO,IAA6B;;uBAfvB,GAAG;0BACC,GAAG;;;YAEH,GAAG;0BADH,GAAG;;;YAEH,GAAG;;;;;;EAgBjC;AAwBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;cA9VN,OAAO;cACP,OAAO;WAFV,MAAM;iBAJA,MAAM;cAOT,OAAO;kBAJH,MAAM;YADZ,MAAM;;;kBA2WjB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,12 +1,11 @@
1
- import { defineComponent, useTemplateRef, ref, onMounted, onUnmounted, createElementBlock, openBlock, createCommentVNode, createElementVNode, createVNode, createBlock, unref, Fragment, renderSlot, createTextVNode, toDisplayString, withModifiers, withCtx, renderList, Transition } from 'vue';
1
+ import { defineComponent, useTemplateRef, ref, createElementBlock, openBlock, createCommentVNode, createElementVNode, createVNode, createBlock, unref, Fragment, renderSlot, createTextVNode, toDisplayString, withModifiers, normalizeClass, withCtx, renderList, Transition } from 'vue';
2
2
  import _sfc_main$4 from '../Button/WButton.vue.js';
3
3
  import _sfc_main$1 from '../Skeleton/WSkeleton.vue.js';
4
4
  import { SemanticType } from '../../utils/SemanticType.js';
5
+ import { isDragging } from '../../utils/preventDragFile.js';
5
6
  import { useComponentStates } from '../../utils/useComponentStates.js';
6
- import { getIsClientSide } from '../../utils/utils.js';
7
7
  import _sfc_main$3 from './components/FilePickerItem.vue.js';
8
8
  import _sfc_main$2 from './components/FilePickerSvg.vue.js';
9
- import { useTabActiveListener } from '../Tabs/use/useTabActiveListener.js';
10
9
 
11
10
  const _hoisted_1 = { class: "relative mb-6" };
12
11
  const _hoisted_2 = {
@@ -19,15 +18,15 @@ const _hoisted_3 = {
19
18
  };
20
19
  const _hoisted_4 = ["multiple", "accept"];
21
20
  const _hoisted_5 = {
22
- key: 2,
21
+ key: 1,
23
22
  class: "grid-cols-fit-44 grid h-full items-center justify-center gap-6"
24
23
  };
25
24
  const _hoisted_6 = {
26
- key: 3,
25
+ key: 2,
27
26
  class: "text-accent flex size-full flex-col items-center"
28
27
  };
29
28
  const _hoisted_7 = {
30
- key: 4,
29
+ key: 3,
31
30
  class: "flex h-full items-center justify-center"
32
31
  };
33
32
  const _hoisted_8 = { class: "overflow-x-overlay flex items-center gap-6" };
@@ -55,9 +54,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
54
  const emit = __emit;
56
55
  const { isReadonly, isDisabled, isSkeleton } = useComponentStates(props);
57
56
  const inputRef = useTemplateRef("input");
58
- const containerRef = useTemplateRef("container");
59
- const containerWidth = ref(void 0);
60
- const containerHeight = ref(void 0);
61
57
  const isActive = ref(false);
62
58
  const updateModelValue = () => {
63
59
  emit("update:model-value", inputRef.value?.files?.length ? Array.from(inputRef.value.files) : []);
@@ -75,30 +71,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
75
71
  emit("update:model-value", newFiles);
76
72
  if (newFiles.length === 0 && inputRef.value) inputRef.value.value = "";
77
73
  };
78
- const preventDefaults = (e) => {
79
- e.preventDefault();
80
- };
81
- const events = ["dragenter", "dragover", "dragleave", "drop"];
82
- const updateSize = () => {
83
- containerWidth.value = containerRef.value?.offsetWidth;
84
- containerHeight.value = containerRef.value?.offsetHeight;
85
- };
86
- useTabActiveListener(updateSize);
87
- onMounted(() => {
88
- if (!getIsClientSide()) return;
89
- updateSize();
90
- events.forEach((eventName) => {
91
- document.body.addEventListener(eventName, preventDefaults);
92
- });
93
- window.addEventListener("resize", updateSize);
94
- });
95
- onUnmounted(() => {
96
- if (!getIsClientSide()) return;
97
- events.forEach((eventName) => {
98
- document.body.removeEventListener(eventName, preventDefaults);
99
- });
100
- window.removeEventListener("resize", updateSize);
101
- });
102
74
  return (_ctx, _cache) => {
103
75
  return openBlock(), createElementBlock("div", _hoisted_1, [
104
76
  __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_2, [
@@ -113,8 +85,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
113
85
  }))
114
86
  ])) : createCommentVNode("", true),
115
87
  createElementVNode("label", {
116
- ref: "container",
117
- class: "height-64 relative mb-1 block w-full min-w-60",
88
+ class: normalizeClass(["height-64 relative mb-1 block w-full min-w-60 rounded-xl", {
89
+ "bg-primary/10 dark:bg-primary-dark/10": !isActive.value,
90
+ "bg-primary/20 dark:bg-primary-dark/20": isActive.value
91
+ }]),
118
92
  onDragenter: _cache[2] || (_cache[2] = withModifiers(($event) => setIsActive(true), ["prevent"])),
119
93
  onDragover: _cache[3] || (_cache[3] = withModifiers(($event) => setIsActive(true), ["prevent"])),
120
94
  onDragleave: _cache[4] || (_cache[4] = withModifiers(($event) => setIsActive(false), ["prevent"])),
@@ -130,14 +104,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
130
104
  accept: __props.accept,
131
105
  onChange: updateModelValue
132
106
  }, null, 40, _hoisted_4)) : createCommentVNode("", true),
133
- containerWidth.value && containerHeight.value ? (openBlock(), createBlock(_sfc_main$2, {
134
- key: 1,
135
- "svg-width": containerWidth.value,
136
- "svg-height": containerHeight.value,
137
- "is-active": isActive.value,
138
- "has-error": !!__props.errorMessage,
139
- class: "absolute left-0 top-0"
140
- }, null, 8, ["svg-width", "svg-height", "is-active", "has-error"])) : createCommentVNode("", true),
107
+ createVNode(_sfc_main$2, {
108
+ animate: unref(isDragging),
109
+ class: normalizeClass(["w-border-svg-rounded-xl absolute left-0 top-0", {
110
+ "text-negative dark:text-negative-dark": !!__props.errorMessage,
111
+ "text-primary dark:text-primary-dark": !__props.errorMessage
112
+ }])
113
+ }, null, 8, ["animate", "class"]),
141
114
  __props.placeholder ? (openBlock(), createElementBlock("div", _hoisted_5, [
142
115
  createVNode(_sfc_main$3, {
143
116
  name: __props.placeholder,
@@ -186,7 +159,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
186
159
  }), 128))
187
160
  ])
188
161
  ]))
189
- ], 544),
162
+ ], 34),
190
163
  createVNode(Transition, {
191
164
  "enter-active-class": "transition-opacity",
192
165
  "leave-active-class": "transition-opacity",
@@ -1,11 +1,6 @@
1
1
  type __VLS_Props = {
2
- svgWidth: number;
3
- svgHeight: number;
4
- isActive?: boolean;
5
- hasError?: boolean;
2
+ animate?: boolean;
6
3
  };
7
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
8
- rect: SVGRectElement;
9
- }, SVGSVGElement>;
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, SVGSVGElement>;
10
5
  export default _default;
11
6
  //# sourceMappingURL=FilePickerSvg.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilePickerSvg.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/FilePicker/components/FilePickerSvg.vue"],"names":[],"mappings":"AAmCA;AAwFA,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;;;;AAqHF,wBAQG"}
1
+ {"version":3,"file":"FilePickerSvg.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/FilePicker/components/FilePickerSvg.vue"],"names":[],"mappings":"AAgBA;AA2BA,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC;;AA8DF,wBAOG"}
@@ -1,81 +1,31 @@
1
- import { defineComponent, ref, useTemplateRef, computed, watch, toRef, onBeforeMount, createElementBlock, openBlock, normalizeClass, createElementVNode, normalizeStyle } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, withCtx, createElementBlock, createCommentVNode } from 'vue';
2
+ import _sfc_main$1 from '../../BorderSvg/WBorderSvg.vue.js';
2
3
 
3
- const _hoisted_1 = ["width", "height"];
4
- const _hoisted_2 = ["x", "y", "width", "height", "rx", "ry", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
4
+ const _hoisted_1 = {
5
+ key: 0,
6
+ attributeName: "stroke-dashoffset",
7
+ from: "0px",
8
+ to: "-12px",
9
+ dur: "0.5s",
10
+ repeatCount: "indefinite"
11
+ };
5
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
13
  __name: "FilePickerSvg",
7
14
  props: {
8
- svgWidth: {},
9
- svgHeight: {},
10
- isActive: { type: Boolean },
11
- hasError: { type: Boolean }
15
+ animate: { type: Boolean }
12
16
  },
13
17
  setup(__props) {
14
- const props = __props;
15
- const lengthList = Array(8).fill(void 0).map((_, index) => (7 + index * 2) * 4);
16
- const borderRaduis = ref(12);
17
- const strokeWidth = ref(4);
18
- const rectRef = useTemplateRef("rect");
19
- const fraction = ref(48);
20
- const fractionShift = ref(0);
21
- const rectWidth = computed(() => props.svgWidth - strokeWidth.value);
22
- const rectHeight = computed(() => props.svgHeight - strokeWidth.value);
23
- const roundedHalf = computed(() => 12 * Math.PI / 2);
24
- const pathLength = computed(() => rectRef.value?.getTotalLength() ?? 480);
25
- const segmentLength = computed(() => pathLength.value / fraction.value);
26
- const dashoffset = computed(() => (segmentLength.value + roundedHalf.value) / 2);
27
- const calcFaction = () => {
28
- const factor = rectWidth.value / rectHeight.value;
29
- let result = 2;
30
- let index = 0;
31
- for (let i = 0; i < lengthList.length; i++) {
32
- const value = lengthList[i] * factor % 1;
33
- if (result > value) {
34
- result = value;
35
- index = i;
36
- }
37
- }
38
- fraction.value = lengthList[index] ?? 48;
39
- fractionShift.value = result;
40
- };
41
- watch(toRef(props, "svgWidth"), calcFaction);
42
- onBeforeMount(() => {
43
- calcFaction();
44
- });
45
18
  return (_ctx, _cache) => {
46
- return openBlock(), createElementBlock("svg", {
47
- class: normalizeClass({
48
- "opacity-50": !__props.isActive,
49
- "opacity-100": __props.isActive,
50
- "text-negative dark:text-negative-dark": __props.hasError,
51
- "text-primary dark:text-primary-dark": !__props.hasError
52
- }),
53
- width: __props.svgWidth,
54
- height: __props.svgHeight
55
- }, [
56
- createElementVNode("rect", {
57
- ref: "rect",
58
- x: strokeWidth.value / 2,
59
- y: strokeWidth.value / 2,
60
- width: rectWidth.value,
61
- height: rectHeight.value,
62
- rx: borderRaduis.value,
63
- ry: borderRaduis.value,
64
- "stroke-width": strokeWidth.value,
65
- "stroke-dasharray": segmentLength.value + " " + segmentLength.value,
66
- "stroke-dashoffset": dashoffset.value,
67
- "stroke-linecap": "round",
68
- stroke: "currentColor",
69
- fill: "none",
70
- class: normalizeClass({
71
- "animate-border-rotate": __props.isActive
72
- }),
73
- style: normalizeStyle({
74
- "--border-rotate-offset-from": dashoffset.value,
75
- "--border-rotate-offset-to": dashoffset.value - pathLength.value
76
- })
77
- }, null, 14, _hoisted_2)
78
- ], 10, _hoisted_1);
19
+ return openBlock(), createBlock(_sfc_main$1, {
20
+ stroke: "currentColor",
21
+ "stroke-linecap": "round",
22
+ "stroke-dasharray": "4px 8px"
23
+ }, {
24
+ default: withCtx(() => [
25
+ __props.animate ? (openBlock(), createElementBlock("animate", _hoisted_1)) : createCommentVNode("", true)
26
+ ]),
27
+ _: 1
28
+ });
79
29
  };
80
30
  }
81
31
  });
@@ -36,6 +36,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
36
  seamless: { type: Boolean },
37
37
  savedText: {},
38
38
  topText: { type: Boolean },
39
+ allowDropFile: { type: Boolean },
39
40
  loading: { type: Boolean },
40
41
  download: {},
41
42
  autofocus: { type: Boolean },
@@ -39,6 +39,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39
39
  seamless: { type: Boolean },
40
40
  savedText: {},
41
41
  topText: { type: Boolean },
42
+ allowDropFile: { type: Boolean },
42
43
  radio: { type: Boolean },
43
44
  loading: { type: Boolean },
44
45
  alignTop: { type: Boolean },