@milaboratories/uikit 2.3.6 → 2.3.7

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.
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/uikit@2.3.6 build /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.3.7 build /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > vite build
5
5
 
6
6
  vite v6.3.5 building for production...
@@ -14,8 +14,8 @@ computing gzip size...
14
14
  dist/_virtual/stringify2.js  0.09 kB │ gzip: 0.11 kB │ map: 0.10 kB
15
15
  dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js  0.09 kB │ gzip: 0.11 kB │ map: 0.33 kB
16
16
  dist/components/PlTabs/Tab.vue2.js  0.09 kB │ gzip: 0.11 kB │ map: 0.09 kB
17
- dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/identity.js  0.09 kB │ gzip: 0.11 kB │ map: 0.33 kB
18
17
  dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/identity.js  0.09 kB │ gzip: 0.11 kB │ map: 0.32 kB
18
+ dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/identity.js  0.09 kB │ gzip: 0.11 kB │ map: 0.33 kB
19
19
  dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js  0.09 kB │ gzip: 0.11 kB │ map: 0.32 kB
20
20
  dist/components/PlTooltip/global.js  0.10 kB │ gzip: 0.11 kB │ map: 0.22 kB
21
21
  dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/array.js  0.10 kB │ gzip: 0.11 kB │ map: 0.36 kB
@@ -47,8 +47,8 @@ computing gzip size...
47
47
  dist/components/Scrollable.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
48
48
  dist/components/PlBtnSplit/PlBtnSplit.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
49
49
  dist/components/PlBtnGhost/PlBtnGhost.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
50
- dist/components/PlBtnGroup/PlBtnGroup.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
51
50
  dist/components/PlTextArea/PlTextArea.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
51
+ dist/components/PlBtnGroup/PlBtnGroup.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
52
52
  dist/components/PlDropdown/PlDropdown.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
53
53
  dist/components/PlCheckbox/PlCheckbox.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
54
54
  dist/components/InputRange.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
@@ -56,14 +56,14 @@ computing gzip size...
56
56
  dist/generated/components/svg/images/SvgRequired.vue3.js  0.11 kB │ gzip: 0.11 kB │ map: 1.02 kB
57
57
  dist/components/PlDropdown/OptionList.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
58
58
  dist/components/SliderRange.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
59
- dist/layout/PlContainer/PlContainer.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
60
59
  dist/layout/PlBlockPage/PlBlockPage.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
60
+ dist/layout/PlContainer/PlContainer.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
61
61
  dist/components/PlBtnAccent/PlBtnAccent.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
62
62
  dist/components/PlBtnDanger/PlBtnDanger.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
63
63
  dist/components/PlTextField/PlTextField.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
64
- dist/components/PlAccordion/PlAccordion.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
65
- dist/components/PlStatusTag/PlStatusTag.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
66
64
  dist/components/PlFileInput/PlFileInput.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
65
+ dist/components/PlStatusTag/PlStatusTag.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
66
+ dist/components/PlAccordion/PlAccordion.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
67
67
  dist/components/DataTable/ColumnCaret.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
68
68
  dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sparse.js  0.11 kB │ gzip: 0.12 kB │ map: 0.39 kB
69
69
  dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
@@ -73,12 +73,12 @@ computing gzip size...
73
73
  dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js  0.11 kB │ gzip: 0.12 kB │ map: 0.78 kB
74
74
  dist/components/ThemeSwitcher.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
75
75
  dist/components/PlDropdownRef/PlDropdownRef.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
76
- dist/components/PlNumberField/PlNumberField.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
77
76
  dist/components/PlProgressBar/PlProgressBar.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
77
+ dist/components/PlNumberField/PlNumberField.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
78
78
  dist/components/PlDialogModal/PlDialogModal.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
79
79
  dist/components/DataTable/TableComponent.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
80
- dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
81
80
  dist/components/PlDropdownLine/PlDropdownLine.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
81
+ dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
82
82
  dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
83
83
  dist/components/PlAutocomplete/PlAutocomplete.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
84
84
  dist/components/PlProgressCell/PlProgressCell.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
@@ -360,8 +360,8 @@ computing gzip size...
360
360
  dist/assets/icons/icon-assets-min/16_y-axis.svg.js  0.45 kB │ gzip: 0.30 kB │ map: 0.65 kB
361
361
  dist/assets/icons/icon-assets-min/24_delete-circle.svg.js  0.45 kB │ gzip: 0.31 kB │ map: 0.65 kB
362
362
  dist/assets/icons/icon-assets-min/24_zoom-in.svg.js  0.45 kB │ gzip: 0.30 kB │ map: 0.65 kB
363
- dist/assets/images/24_checkbox-light-enabled-checked.svg.js  0.45 kB │ gzip: 0.33 kB │ map: 0.71 kB
364
363
  dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue3.js  0.45 kB │ gzip: 0.32 kB │ map: 0.12 kB
364
+ dist/assets/images/24_checkbox-light-enabled-checked.svg.js  0.45 kB │ gzip: 0.33 kB │ map: 0.71 kB
365
365
  dist/assets/icons/icon-assets-min/24_frame-type-all.svg.js  0.46 kB │ gzip: 0.31 kB │ map: 0.65 kB
366
366
  dist/assets/icons/icon-assets-min/16_delete-bin.svg.js  0.46 kB │ gzip: 0.32 kB │ map: 0.64 kB
367
367
  dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.svg.js  0.46 kB │ gzip: 0.30 kB │ map: 0.67 kB
@@ -560,8 +560,8 @@ computing gzip size...
560
560
  dist/assets/icons/icon-assets-min/24_view-show.svg.js  0.93 kB │ gzip: 0.55 kB │ map: 1.11 kB
561
561
  dist/assets/icons/icon-assets-min/24_theme-dark.svg.js  0.94 kB │ gzip: 0.48 kB │ map: 1.12 kB
562
562
  dist/layout/PlRow/PlRow.vue.js  0.94 kB │ gzip: 0.56 kB │ map: 0.61 kB
563
- dist/components/PlIcon16/PlIcon16.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 1.55 kB
564
563
  dist/components/PlIcon24/PlIcon24.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 2.26 kB
564
+ dist/components/PlIcon16/PlIcon16.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 1.55 kB
565
565
  dist/assets/icons/icon-assets-min/24_dendrogram-X-line.svg.js  0.95 kB │ gzip: 0.39 kB │ map: 1.24 kB
566
566
  dist/components/PlAccordion/PlAccordionSection.vue3.js  0.95 kB │ gzip: 0.53 kB │ map: 0.11 kB
567
567
  dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js  0.96 kB │ gzip: 0.40 kB │ map: 3.13 kB
@@ -710,10 +710,10 @@ computing gzip size...
710
710
  dist/components/PlBtnAccent/PlBtnAccent.vue.js  3.49 kB │ gzip: 1.34 kB │ map: 1.22 kB
711
711
  dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/axis.js  3.49 kB │ gzip: 1.30 kB │ map: 10.46 kB
712
712
  dist/components/DataTable/state.js  3.50 kB │ gzip: 1.28 kB │ map: 9.12 kB
713
- dist/components/PlFileDialog/PlFileDialog.vue.js  3.51 kB │ gzip: 1.39 kB │ map: 4.58 kB
714
713
  dist/layout/PlBlockPage/PlBlockPage.vue.js  3.54 kB │ gzip: 1.40 kB │ map: 2.22 kB
715
714
  dist/components/PlBtnSecondary/PlBtnSecondary.vue.js  3.55 kB │ gzip: 1.35 kB │ map: 1.24 kB
716
715
  dist/components/PlBtnPrimary/PlBtnPrimary.vue.js  3.57 kB │ gzip: 1.34 kB │ map: 1.22 kB
716
+ dist/components/PlFileDialog/PlFileDialog.vue.js  3.58 kB │ gzip: 1.41 kB │ map: 4.60 kB
717
717
  dist/composition/useSortable.js  3.68 kB │ gzip: 1.30 kB │ map: 10.85 kB
718
718
  dist/components/PlElementList/PlElementListItem.vue3.js  3.71 kB │ gzip: 1.34 kB │ map: 0.12 kB
719
719
  dist/components/PlElementList/PlElementListItem.vue2.js  3.76 kB │ gzip: 1.14 kB │ map: 6.43 kB
@@ -754,6 +754,6 @@ computing gzip size...
754
754
  dist/index.js 501.16 kB │ gzip: 192.24 kB │ map: 5.50 kB
755
755
  dist/components/PlSlideModal/PlSlideModal.vue.js 601.75 kB │ gzip: 204.43 kB │ map: 3.22 kB
756
756
  dist/components/DataTable/TableComponent.vue.js 603.09 kB │ gzip: 205.04 kB │ map: 4.87 kB
757
- [vite:dts] Declaration files built in 6853ms.
757
+ [vite:dts] Declaration files built in 6717ms.
758
758
 
759
- ✓ built in 11.49s
759
+ ✓ built in 11.16s
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/uikit@2.3.6 type-check /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.3.7 type-check /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > vue-tsc --project ./tsconfig.lib.json
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @milaboratories/uikit
2
2
 
3
+ ## 2.3.7
4
+
5
+ ### Patch Changes
6
+
7
+ - bc814d2: Fix: stop click propagation from FileDialogModal
8
+
3
9
  ## 2.3.6
4
10
 
5
11
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"PlFileDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlFileDialog/PlFileDialog.vue"],"names":[],"mappings":"AAyHA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAc/D,KAAK,WAAW,GAAG;IACf;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;;;;;;;;WAVQ,MAAM;yBASQ,OAAO;gBApBhB,MAAM,EAAE;uBAgBD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsO/B,wBAUG"}
1
+ {"version":3,"file":"PlFileDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlFileDialog/PlFileDialog.vue"],"names":[],"mappings":"AA0HA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAc/D,KAAK,WAAW,GAAG;IACf;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;;;;;;;;WAVQ,MAAM;yBASQ,OAAO;gBApBhB,MAAM,EAAE;uBAgBD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0O/B,wBAUG"}
@@ -1,13 +1,13 @@
1
- import { defineComponent as B, ref as S, computed as b, useTemplateRef as F, createBlock as n, openBlock as u, unref as t, normalizeClass as O, createSlots as R, withCtx as i, createElementVNode as w, createCommentVNode as c, createVNode as p, mergeProps as v, createTextVNode as d, toDisplayString as x, withModifiers as y } from "vue";
1
+ import { defineComponent as B, ref as S, computed as b, useTemplateRef as F, createBlock as n, openBlock as u, unref as t, withModifiers as p, normalizeClass as O, createSlots as R, withCtx as i, createElementVNode as w, createCommentVNode as v, createVNode as d, mergeProps as y, createTextVNode as f, toDisplayString as x } from "vue";
2
2
  import I from "./pl-file-dialog.module.scss.js";
3
3
  import { notEmpty as N } from "../../lib/util/helpers/dist/index.js";
4
4
  import T from "../PlDialogModal/PlDialogModal.vue.js";
5
5
  import M from "../PlBtnPrimary/PlBtnPrimary.vue.js";
6
- import h from "../PlBtnGhost/PlBtnGhost.vue.js";
7
- import D from "../PlBtnGroup/PlBtnGroup.vue.js";
8
- import E from "./Remote.vue.js";
9
- import P from "./Local.vue.js";
10
- const U = { style: { margin: "0 24px" } }, Q = /* @__PURE__ */ B({
6
+ import D from "../PlBtnGhost/PlBtnGhost.vue.js";
7
+ import E from "../PlBtnGroup/PlBtnGroup.vue.js";
8
+ import P from "./Remote.vue.js";
9
+ import U from "./Local.vue.js";
10
+ const j = { style: { margin: "0 24px" } }, Q = /* @__PURE__ */ B({
11
11
  __name: "PlFileDialog",
12
12
  props: {
13
13
  modelValue: { type: Boolean },
@@ -18,8 +18,8 @@ const U = { style: { margin: "0 24px" } }, Q = /* @__PURE__ */ B({
18
18
  closeOnOutsideClick: { type: Boolean, default: !0 }
19
19
  },
20
20
  emits: ["update:modelValue", "import:files"],
21
- setup(V, { emit: _ }) {
22
- const s = _, k = V, l = S("local"), C = b(() => k.multi ? "Select Files to Import" : "Select File to Import"), g = [
21
+ setup(k, { emit: C }) {
22
+ const a = C, V = k, l = S("local"), _ = b(() => V.multi ? "Select Files to Import" : "Select File to Import"), g = [
23
23
  {
24
24
  label: "My Computer",
25
25
  value: "local"
@@ -28,64 +28,66 @@ const U = { style: { margin: "0 24px" } }, Q = /* @__PURE__ */ B({
28
28
  label: "Remote",
29
29
  value: "remote"
30
30
  }
31
- ], a = () => s("update:modelValue", !1), r = F("remote"), f = () => {
32
- var e, o;
33
- (e = r.value) != null && e.isReady && (s("import:files", N((o = r.value) == null ? void 0 : o.getFilesToImport())), a());
34
- }, $ = (e) => {
35
- s("import:files", e), a();
31
+ ], m = () => a("update:modelValue", !1), r = F("remote"), c = () => {
32
+ var o, e;
33
+ (o = r.value) != null && o.isReady && (a("import:files", N((e = r.value) == null ? void 0 : e.getFilesToImport())), m());
34
+ }, $ = (o) => {
35
+ a("import:files", o), m();
36
36
  };
37
- return (e, o) => (u(), n(t(T), {
37
+ return (o, e) => (u(), n(t(T), {
38
38
  "no-content-gutters": !0,
39
- "close-on-outside-click": e.closeOnOutsideClick,
39
+ "close-on-outside-click": o.closeOnOutsideClick,
40
40
  class: O(["pl-dialog-modal", t(I).component]),
41
- "model-value": e.modelValue,
41
+ "model-value": o.modelValue,
42
42
  width: "688px",
43
43
  height: "720px",
44
- "onUpdate:modelValue": a
44
+ "onUpdate:modelValue": m,
45
+ onClick: e[1] || (e[1] = p(() => {
46
+ }, ["stop"]))
45
47
  }, R({
46
48
  title: i(() => [
47
- d(x(e.title ?? C.value), 1)
49
+ f(x(o.title ?? _.value), 1)
48
50
  ]),
49
51
  default: i(() => [
50
- w("div", U, [
51
- p(t(D), {
52
+ w("div", j, [
53
+ d(t(E), {
52
54
  modelValue: l.value,
53
- "onUpdate:modelValue": o[0] || (o[0] = (m) => l.value = m),
55
+ "onUpdate:modelValue": e[0] || (e[0] = (s) => l.value = s),
54
56
  options: g
55
57
  }, null, 8, ["modelValue"])
56
58
  ]),
57
- l.value === "remote" ? (u(), n(E, v({
59
+ l.value === "remote" ? (u(), n(P, y({
58
60
  key: 0,
59
61
  ref: "remote"
60
- }, e.$props, { submit: f }), null, 16)) : c("", !0),
61
- l.value === "local" ? (u(), n(P, v({
62
+ }, o.$props, { submit: c }), null, 16)) : v("", !0),
63
+ l.value === "local" ? (u(), n(U, y({
62
64
  key: 1,
63
65
  "import-files": $
64
- }, e.$props), null, 16)) : c("", !0)
66
+ }, o.$props), null, 16)) : v("", !0)
65
67
  ]),
66
68
  _: 2
67
69
  }, [
68
70
  l.value === "remote" ? {
69
71
  name: "actions",
70
72
  fn: i(() => {
71
- var m;
73
+ var s;
72
74
  return [
73
- p(t(M), {
75
+ d(t(M), {
74
76
  style: { "min-width": "160px" },
75
- disabled: !((m = t(r)) != null && m.isReady),
76
- onClick: y(f, ["stop"])
77
+ disabled: !((s = t(r)) != null && s.isReady),
78
+ onClick: p(c, ["stop"])
77
79
  }, {
78
- default: i(() => o[1] || (o[1] = [
79
- d("Import")
80
+ default: i(() => e[2] || (e[2] = [
81
+ f("Import")
80
82
  ])),
81
83
  _: 1
82
84
  }, 8, ["disabled"]),
83
- p(t(h), {
85
+ d(t(D), {
84
86
  "justify-center": !1,
85
- onClick: y(a, ["stop"])
87
+ onClick: p(m, ["stop"])
86
88
  }, {
87
- default: i(() => o[2] || (o[2] = [
88
- d("Cancel")
89
+ default: i(() => e[3] || (e[3] = [
90
+ f("Cancel")
89
91
  ])),
90
92
  _: 1
91
93
  })
@@ -1 +1 @@
1
- {"version":3,"file":"PlFileDialog.vue.js","sources":["../../../src/components/PlFileDialog/PlFileDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport style from './pl-file-dialog.module.scss';\nimport { computed, ref, useTemplateRef } from 'vue';\nimport { notEmpty } from '@milaboratories/helpers';\nimport type { ImportedFiles, SimpleOption } from '../../types';\nimport { PlDialogModal } from '../PlDialogModal';\nimport { PlBtnPrimary } from '../PlBtnPrimary';\nimport { PlBtnGhost } from '../PlBtnGhost';\nimport { PlBtnGroup } from '../PlBtnGroup';\nimport Remote from './Remote.vue';\nimport Local from './Local.vue';\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void;\n (e: 'import:files', value: ImportedFiles): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Controls the visibility of the modal.\n *\n * When `true`, the modal is open. When `false`, the modal is closed.\n */\n modelValue: boolean;\n /**\n * Specifies the file extensions that are allowed for selection.\n *\n * Provide an array of strings representing file extensions (leading dot can be omitted)\n * If not specified, all file types are allowed.\n */\n extensions?: string[];\n /**\n * Enables the selection of multiple files.\n *\n * When `true`, the user can select multiple files.\n * When `false` or not specified, only a single file can be selected.\n */\n multi?: boolean;\n /**\n * The custom title of the dialog.\n */\n title?: string;\n /**\n * Automatically selects the initial storage option.\n * When `true`, the default storage is pre-selected for the user (default: `true`)\n */\n autoSelectStorage?: boolean;\n /**\n * If `true`, the modal window closes when clicking outside the modal area (default: `true`)\n */\n closeOnOutsideClick?: boolean;\n }>(),\n {\n extensions: undefined,\n title: undefined,\n autoSelectStorage: true,\n closeOnOutsideClick: true,\n },\n);\n\nconst mode = ref<'local' | 'remote'>('local');\n\nconst defaultTitle = computed(() => (props.multi ? 'Select Files to Import' : 'Select File to Import'));\n\nconst modeOptions = [\n {\n label: 'My Computer',\n value: 'local',\n },\n {\n label: 'Remote',\n value: 'remote',\n },\n] satisfies SimpleOption[];\n\nconst closeModal = () => emit('update:modelValue', false);\n\nconst remoteRef = useTemplateRef('remote');\n\nconst submit = () => {\n if (remoteRef.value?.isReady) {\n emit('import:files', notEmpty(remoteRef.value?.getFilesToImport()));\n closeModal();\n }\n};\n\nconst importFiles = (importedFiles: ImportedFiles) => {\n emit('import:files', importedFiles);\n closeModal();\n};\n</script>\n\n<template>\n <PlDialogModal\n :no-content-gutters=\"true\"\n :close-on-outside-click=\"closeOnOutsideClick\"\n class=\"pl-dialog-modal\"\n :class=\"style.component\"\n :model-value=\"modelValue\"\n width=\"688px\"\n height=\"720px\"\n @update:model-value=\"closeModal\"\n >\n <template #title>{{ title ?? defaultTitle }}</template>\n <div style=\"margin: 0 24px\">\n <PlBtnGroup v-model=\"mode\" :options=\"modeOptions\" />\n </div>\n <Remote v-if=\"mode === 'remote'\" ref=\"remote\" v-bind=\"$props\" :submit=\"submit\" />\n <Local v-if=\"mode === 'local'\" :import-files=\"importFiles\" v-bind=\"$props\" />\n <template v-if=\"mode === 'remote'\" #actions>\n <PlBtnPrimary style=\"min-width: 160px\" :disabled=\"!remoteRef?.isReady\" @click.stop=\"submit\">Import</PlBtnPrimary>\n <PlBtnGhost :justify-center=\"false\" @click.stop=\"closeModal\">Cancel</PlBtnGhost>\n </template>\n </PlDialogModal>\n</template>\n"],"names":["emit","__emit","props","__props","mode","ref","defaultTitle","computed","modeOptions","closeModal","remoteRef","useTemplateRef","submit","_a","notEmpty","_b","importFiles","importedFiles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,UAAMA,IAAOC,GAKPC,IAAQC,GA4CRC,IAAOC,EAAwB,OAAO,GAEtCC,IAAeC,EAAS,MAAOL,EAAM,QAAQ,2BAA2B,uBAAwB,GAEhGM,IAAc;AAAA,MAClB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,IAEX,GAEMC,IAAa,MAAMT,EAAK,qBAAqB,EAAK,GAElDU,IAAYC,EAAe,QAAQ,GAEnCC,IAAS,MAAM;;AACf,OAAAC,IAAAH,EAAU,UAAV,QAAAG,EAAiB,YACnBb,EAAK,gBAAgBc,GAASC,IAAAL,EAAU,UAAV,gBAAAK,EAAiB,kBAAkB,CAAC,GACvDN,EAAA;AAAA,IAEf,GAEMO,IAAc,CAACC,MAAiC;AACpD,MAAAjB,EAAK,gBAAgBiB,CAAa,GACvBR,EAAA;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlFileDialog.vue.js","sources":["../../../src/components/PlFileDialog/PlFileDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport style from './pl-file-dialog.module.scss';\nimport { computed, ref, useTemplateRef } from 'vue';\nimport { notEmpty } from '@milaboratories/helpers';\nimport type { ImportedFiles, SimpleOption } from '../../types';\nimport { PlDialogModal } from '../PlDialogModal';\nimport { PlBtnPrimary } from '../PlBtnPrimary';\nimport { PlBtnGhost } from '../PlBtnGhost';\nimport { PlBtnGroup } from '../PlBtnGroup';\nimport Remote from './Remote.vue';\nimport Local from './Local.vue';\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void;\n (e: 'import:files', value: ImportedFiles): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Controls the visibility of the modal.\n *\n * When `true`, the modal is open. When `false`, the modal is closed.\n */\n modelValue: boolean;\n /**\n * Specifies the file extensions that are allowed for selection.\n *\n * Provide an array of strings representing file extensions (leading dot can be omitted)\n * If not specified, all file types are allowed.\n */\n extensions?: string[];\n /**\n * Enables the selection of multiple files.\n *\n * When `true`, the user can select multiple files.\n * When `false` or not specified, only a single file can be selected.\n */\n multi?: boolean;\n /**\n * The custom title of the dialog.\n */\n title?: string;\n /**\n * Automatically selects the initial storage option.\n * When `true`, the default storage is pre-selected for the user (default: `true`)\n */\n autoSelectStorage?: boolean;\n /**\n * If `true`, the modal window closes when clicking outside the modal area (default: `true`)\n */\n closeOnOutsideClick?: boolean;\n }>(),\n {\n extensions: undefined,\n title: undefined,\n autoSelectStorage: true,\n closeOnOutsideClick: true,\n },\n);\n\nconst mode = ref<'local' | 'remote'>('local');\n\nconst defaultTitle = computed(() => (props.multi ? 'Select Files to Import' : 'Select File to Import'));\n\nconst modeOptions = [\n {\n label: 'My Computer',\n value: 'local',\n },\n {\n label: 'Remote',\n value: 'remote',\n },\n] satisfies SimpleOption[];\n\nconst closeModal = () => emit('update:modelValue', false);\n\nconst remoteRef = useTemplateRef('remote');\n\nconst submit = () => {\n if (remoteRef.value?.isReady) {\n emit('import:files', notEmpty(remoteRef.value?.getFilesToImport()));\n closeModal();\n }\n};\n\nconst importFiles = (importedFiles: ImportedFiles) => {\n emit('import:files', importedFiles);\n closeModal();\n};\n</script>\n\n<template>\n <PlDialogModal\n :no-content-gutters=\"true\"\n :close-on-outside-click=\"closeOnOutsideClick\"\n class=\"pl-dialog-modal\"\n :class=\"style.component\"\n :model-value=\"modelValue\"\n width=\"688px\"\n height=\"720px\"\n @update:model-value=\"closeModal\"\n @click.stop\n >\n <template #title>{{ title ?? defaultTitle }}</template>\n <div style=\"margin: 0 24px\">\n <PlBtnGroup v-model=\"mode\" :options=\"modeOptions\" />\n </div>\n <Remote v-if=\"mode === 'remote'\" ref=\"remote\" v-bind=\"$props\" :submit=\"submit\" />\n <Local v-if=\"mode === 'local'\" :import-files=\"importFiles\" v-bind=\"$props\" />\n <template v-if=\"mode === 'remote'\" #actions>\n <PlBtnPrimary style=\"min-width: 160px\" :disabled=\"!remoteRef?.isReady\" @click.stop=\"submit\">Import</PlBtnPrimary>\n <PlBtnGhost :justify-center=\"false\" @click.stop=\"closeModal\">Cancel</PlBtnGhost>\n </template>\n </PlDialogModal>\n</template>\n"],"names":["emit","__emit","props","__props","mode","ref","defaultTitle","computed","modeOptions","closeModal","remoteRef","useTemplateRef","submit","_a","notEmpty","_b","importFiles","importedFiles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,UAAMA,IAAOC,GAKPC,IAAQC,GA4CRC,IAAOC,EAAwB,OAAO,GAEtCC,IAAeC,EAAS,MAAOL,EAAM,QAAQ,2BAA2B,uBAAwB,GAEhGM,IAAc;AAAA,MAClB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,IAEX,GAEMC,IAAa,MAAMT,EAAK,qBAAqB,EAAK,GAElDU,IAAYC,EAAe,QAAQ,GAEnCC,IAAS,MAAM;;AACf,OAAAC,IAAAH,EAAU,UAAV,QAAAG,EAAiB,YACnBb,EAAK,gBAAgBc,GAASC,IAAAL,EAAU,UAAV,gBAAAK,EAAiB,kBAAkB,CAAC,GACvDN,EAAA;AAAA,IAEf,GAEMO,IAAc,CAACC,MAAiC;AACpD,MAAAjB,EAAK,gBAAgBiB,CAAa,GACvBR,EAAA;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/uikit",
3
- "version": "2.3.6",
3
+ "version": "2.3.7",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -101,6 +101,7 @@ const importFiles = (importedFiles: ImportedFiles) => {
101
101
  width="688px"
102
102
  height="720px"
103
103
  @update:model-value="closeModal"
104
+ @click.stop
104
105
  >
105
106
  <template #title>{{ title ?? defaultTitle }}</template>
106
107
  <div style="margin: 0 24px">