@platforma-sdk/ui-vue 1.42.2 → 1.42.4

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 (38) hide show
  1. package/.turbo/turbo-build.log +15 -15
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +15 -0
  4. package/dist/aggrid.js +4 -4
  5. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +7 -7
  6. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +13 -13
  7. package/dist/components/PlAgDataTable/sources/table-source-v2.d.ts.map +1 -1
  8. package/dist/components/PlAgDataTable/sources/table-source-v2.js +88 -85
  9. package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
  10. package/dist/components/PlAgDataTable/sources/table-state-v2.js +6 -6
  11. package/dist/components/PlAnnotations/components/DynamicForm.vue2.js +10 -10
  12. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +2 -2
  13. package/dist/components/PlMultiSequenceAlignment/data.js +26 -26
  14. package/dist/components/PlTableFilters/filters-state.js +2 -2
  15. package/dist/defineApp.js +16 -16
  16. package/dist/internal/createAppV2.d.ts.map +1 -1
  17. package/dist/internal/createAppV2.js +61 -52
  18. package/dist/internal/createAppV2.js.map +1 -1
  19. package/dist/lib/model/common/dist/index.js +329 -317
  20. package/dist/lib/model/common/dist/index.js.map +1 -1
  21. package/dist/lib/ui/uikit/dist/components/PlAccordion/{ExpandTransition.vue2.js → ExpandTransition.vue.js} +1 -1
  22. package/dist/lib/ui/uikit/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -0
  23. package/dist/lib/ui/uikit/dist/components/PlAccordion/PlAccordionSection.vue2.js +1 -1
  24. package/dist/lib/ui/uikit/dist/components/PlFileInput/PlFileInput.vue.js +16 -16
  25. package/dist/lib/ui/uikit/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
  26. package/dist/lib/ui/uikit/dist/lib/model/common/dist/index.js +8 -8
  27. package/dist/lib/ui/uikit/dist/lib/model/common/dist/index.js.map +1 -1
  28. package/dist/lib/ui/uikit/dist/sdk/model/dist/index.js +18 -18
  29. package/dist/lib/ui/uikit/dist/sdk/model/dist/index.js.map +1 -1
  30. package/dist/node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/core/index.js +44 -41
  31. package/dist/node_modules/.pnpm/@vueuse_shared@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/shared/index.js +122 -67
  32. package/dist/node_modules/.pnpm/@vueuse_shared@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/shared/index.js.map +1 -1
  33. package/dist/sdk/model/dist/index.js +198 -206
  34. package/dist/sdk/model/dist/index.js.map +1 -1
  35. package/package.json +7 -7
  36. package/src/components/PlAgDataTable/sources/table-source-v2.ts +9 -6
  37. package/src/internal/createAppV2.ts +22 -13
  38. package/dist/lib/ui/uikit/dist/components/PlAccordion/ExpandTransition.vue2.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { defineComponent as M, reactive as P, useSlots as I, computed as i, watch as j, ref as q, createElementBlock as n, openBlock as o, Fragment as S, createElementVNode as u, createVNode as D, normalizeClass as B, createCommentVNode as s, withModifiers as N, withKeys as H, createBlock as p, normalizeStyle as K, toDisplayString as c, unref as r, withCtx as L, renderSlot as Q, createTextVNode as R } from "vue";
1
+ import { defineComponent as $, reactive as M, useSlots as j, computed as i, watch as I, ref as q, createElementBlock as n, openBlock as o, Fragment as S, createElementVNode as u, createVNode as D, normalizeClass as B, createCommentVNode as s, withModifiers as N, withKeys as H, createBlock as p, normalizeStyle as K, toDisplayString as c, unref as r, withCtx as R, renderSlot as L, createTextVNode as Q } from "vue";
2
2
  import { prettyBytes as x } from "../../lib/util/helpers/dist/index.js";
3
3
  import "../../sdk/model/dist/index.js";
4
4
  import U from "../../generated/components/svg/images/SvgRequired.vue2.js";
@@ -31,7 +31,7 @@ const ee = {
31
31
  }, re = {
32
32
  key: 1,
33
33
  class: "pl-file-input__helper"
34
- }, me = /* @__PURE__ */ M({
34
+ }, me = /* @__PURE__ */ $({
35
35
  __name: "PlFileInput",
36
36
  props: {
37
37
  modelValue: {},
@@ -49,20 +49,20 @@ const ee = {
49
49
  },
50
50
  emits: ["update:modelValue"],
51
51
  setup(h, { emit: v }) {
52
- const a = P({
52
+ const a = M({
53
53
  fileDialogOpen: !1,
54
54
  error: void 0
55
- }), _ = I(), g = v, l = h, b = (e, t) => {
55
+ }), _ = j(), g = v, l = h, b = (e, t) => {
56
56
  if (e)
57
57
  try {
58
58
  return t(e);
59
59
  } catch (d) {
60
60
  return a.error = d instanceof Error ? d.message : String(d), e;
61
61
  }
62
- }, y = i(() => b(l.modelValue, X)), w = i(() => b(l.modelValue, Z)), O = i(() => l.progress && !l.progress.done), E = i(() => l.progress && l.progress.done), k = i(() => Y(a.error, l.error)), m = i(() => typeof k.value == "string"), V = i(() => {
62
+ }, y = i(() => b(l.modelValue, X)), w = i(() => b(l.modelValue, Z)), O = i(() => l.progress && !l.progress.done), T = i(() => l.progress && l.progress.done), k = i(() => Y(a.error, l.error)), m = i(() => typeof k.value == "string"), V = i(() => {
63
63
  const { status: e, done: t } = l.progress ?? {};
64
64
  return !e || !e.bytesTotal ? "" : e.bytesProcessed && !t ? x(e.bytesProcessed, {}) + " / " + x(e.bytesTotal, {}) : x(e.bytesTotal, {});
65
- }), T = i(() => {
65
+ }), E = i(() => {
66
66
  var e;
67
67
  const { progress: t } = l;
68
68
  return t ? {
@@ -70,10 +70,10 @@ const ee = {
70
70
  } : {};
71
71
  }), C = () => {
72
72
  a.fileDialogOpen = !0;
73
- }, $ = (e) => {
73
+ }, F = (e) => {
74
74
  e.files.length && g("update:modelValue", e.files[0]);
75
- }, F = () => g("update:modelValue", void 0);
76
- j(
75
+ }, P = () => g("update:modelValue", void 0);
76
+ I(
77
77
  () => l.modelValue,
78
78
  () => a.error = void 0,
79
79
  { immediate: !0 }
@@ -92,7 +92,7 @@ const ee = {
92
92
  onClick: N(C, ["stop"])
93
93
  }, [
94
94
  u("div", {
95
- style: K(T.value),
95
+ style: K(E.value),
96
96
  class: "pl-file-input__progress"
97
97
  }, null, 4),
98
98
  !e.cellStyle && e.label ? (o(), n("label", ee, [
@@ -103,9 +103,9 @@ const ee = {
103
103
  class: "info",
104
104
  position: "top"
105
105
  }, {
106
- tooltip: L(() => [
107
- r(_).tooltip ? Q(e.$slots, "tooltip", { key: 0 }) : (o(), n(S, { key: 1 }, [
108
- R(c(w.value), 1)
106
+ tooltip: R(() => [
107
+ r(_).tooltip ? L(e.$slots, "tooltip", { key: 0 }) : (o(), n(S, { key: 1 }, [
108
+ Q(c(w.value), 1)
109
109
  ], 64))
110
110
  ]),
111
111
  _: 3
@@ -117,7 +117,7 @@ const ee = {
117
117
  })) : O.value ? (o(), p(r(f), {
118
118
  key: 2,
119
119
  name: "cloud-upload"
120
- })) : E.value ? (o(), p(r(f), {
120
+ })) : T.value ? (o(), p(r(f), {
121
121
  key: 3,
122
122
  name: "success"
123
123
  })) : (o(), p(r(f), {
@@ -133,7 +133,7 @@ const ee = {
133
133
  key: 6,
134
134
  class: "pl-file-input__clear",
135
135
  name: "close",
136
- onClick: N(F, ["stop"])
136
+ onClick: N(P, ["stop"])
137
137
  })) : s("", !0),
138
138
  D(A, { class: "pl-file-input__contour" })
139
139
  ], 34),
@@ -145,7 +145,7 @@ const ee = {
145
145
  "close-on-outside-click": e.fileDialogCloseOnOutsideClick,
146
146
  extensions: e.extensions,
147
147
  title: e.fileDialogTitle,
148
- "onImport:files": $
148
+ "onImport:files": F
149
149
  }, null, 8, ["modelValue", "close-on-outside-click", "extensions", "title"])
150
150
  ], 64));
151
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlFileInput.vue.js","sources":["../../../../../../../../../lib/ui/uikit/src/components/PlFileInput/PlFileInput.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { prettyBytes } from '@milaboratories/helpers';\nimport type { ImportFileHandle, ImportProgress } from '@platforma-sdk/model';\nimport { getFileNameFromHandle, getFilePathFromHandle } from '@platforma-sdk/model';\nimport { computed, reactive, ref, useSlots, watch } from 'vue';\nimport SvgRequired from '../../generated/components/svg/images/SvgRequired.vue';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport type { ImportedFiles } from '../../types';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport { PlFileDialog } from '../PlFileDialog';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { PlTooltip } from '../PlTooltip';\nimport './pl-file-input.scss';\n\nconst data = reactive({\n fileDialogOpen: false,\n error: undefined as undefined | string,\n});\n\nconst slots = useSlots();\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: ImportFileHandle | undefined): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current import file handle.\n */\n modelValue: ImportFileHandle | undefined;\n /**\n * The label to display above the input field.\n */\n label?: string;\n /**\n * If `true`, the input field is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the component border is dashed.\n */\n dashed?: boolean;\n /**\n * Allowed file extensions (should start with `.`)\n */\n extensions?: string[];\n /**\n * Placeholder text\n */\n placeholder?: string;\n /**\n * Import/Upload progress\n */\n progress?: ImportProgress;\n /**\n * An error message to display below the input field.\n */\n error?: unknown;\n /**\n * A helper text to display below the input field when there are no errors.\n */\n helper?: string;\n /**\n * Remove rounded border and change styles\n */\n cellStyle?: boolean;\n /**\n * File dialog title\n */\n fileDialogTitle?: string;\n /**\n * If `true`, the file dialog window closes when clicking outside the modal area (default: `true`)\n */\n fileDialogCloseOnOutsideClick?: boolean;\n }>(),\n {\n label: undefined,\n extensions: undefined,\n fileDialogTitle: undefined,\n placeholder: undefined,\n progress: undefined,\n error: undefined,\n helper: undefined,\n cellStyle: false,\n fileDialogCloseOnOutsideClick: true,\n },\n);\n\nconst tryValue = <T extends ImportFileHandle>(v: T | undefined, cb: (v: T) => string | undefined) => {\n if (!v) {\n return undefined;\n }\n\n try {\n return cb(v);\n } catch (err) {\n data.error = err instanceof Error ? err.message : String(err);\n return v;\n }\n};\n\nconst fileName = computed(() => tryValue(props.modelValue, getFileNameFromHandle));\n\nconst filePath = computed(() => tryValue(props.modelValue, getFilePathFromHandle));\n\nconst isUploading = computed(() => props.progress && !props.progress.done);\n\nconst isUploaded = computed(() => props.progress && props.progress.done);\n\nconst computedErrorMessage = computed(() => getErrorMessage(data.error, props.error));\n\nconst hasErrors = computed(() => typeof computedErrorMessage.value === 'string');\n\nconst uploadStats = computed(() => {\n const { status, done } = props.progress ?? {};\n\n if (!status || !status.bytesTotal) {\n return '';\n }\n\n if (status.bytesProcessed && !done) {\n return prettyBytes(status.bytesProcessed, {}) + ' / ' + prettyBytes(status.bytesTotal, {});\n }\n\n return prettyBytes(status.bytesTotal, {});\n});\n\nconst progressStyle = computed(() => {\n const { progress } = props;\n\n if (!progress) {\n return {};\n }\n\n return {\n width: progress.done ? '100%' : Math.round((progress.status?.progress ?? 0) * 100) + '%',\n };\n});\n\nconst openFileDialog = () => {\n data.fileDialogOpen = true;\n};\n\nconst onImport = (v: ImportedFiles) => {\n if (v.files.length) {\n emit('update:modelValue', v.files[0]);\n }\n};\n\nconst clear = () => emit('update:modelValue', undefined);\n\nwatch(\n () => props.modelValue,\n () => (data.error = undefined),\n { immediate: true },\n);\n\nconst rootRef = ref();\n\nif (!props.cellStyle) {\n useLabelNotch(rootRef);\n}\n</script>\n\n<template>\n <div :class=\"{ 'pl-file-input__cell-style': !!cellStyle, 'has-file': !!fileName }\" class=\"pl-file-input__envelope\">\n <div\n ref=\"rootRef\"\n :class=\"{ dashed, error: hasErrors }\"\n class=\"pl-file-input\"\n tabindex=\"0\"\n @keyup.enter=\"openFileDialog\"\n @click.stop=\"openFileDialog\"\n >\n <div :style=\"progressStyle\" class=\"pl-file-input__progress\" />\n <label v-if=\"!cellStyle && label\" ref=\"label\">\n <SvgRequired v-if=\"required\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip || filePath\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot v-if=\"slots.tooltip\" name=\"tooltip\" />\n <template v-else>{{ filePath }}</template>\n </template>\n </PlTooltip>\n </label>\n <PlMaskIcon24 v-if=\"hasErrors\" name=\"restart\" />\n <PlMaskIcon24 v-else-if=\"isUploading\" name=\"cloud-upload\" />\n <PlMaskIcon24 v-else-if=\"isUploaded\" name=\"success\" />\n <PlMaskIcon24 v-else name=\"paper-clip\" />\n <div :data-placeholder=\"placeholder ?? 'Choose file'\" class=\"pl-file-input__filename\">\n {{ fileName }}\n </div>\n <div v-if=\"uploadStats\" class=\"pl-file-input__stats\">{{ uploadStats }}</div>\n <PlMaskIcon24 v-if=\"modelValue\" class=\"pl-file-input__clear\" name=\"close\" @click.stop=\"clear\" />\n <DoubleContour class=\"pl-file-input__contour\" />\n </div>\n <div v-if=\"hasErrors\" class=\"pl-file-input__error\">\n {{ computedErrorMessage }}\n </div>\n <div v-else-if=\"helper\" class=\"pl-file-input__helper\">{{ helper }}</div>\n </div>\n <PlFileDialog\n v-model=\"data.fileDialogOpen\"\n :close-on-outside-click=\"fileDialogCloseOnOutsideClick\"\n :extensions=\"extensions\"\n :title=\"fileDialogTitle\"\n @import:files=\"onImport\"\n />\n</template>\n"],"names":["N","T","K","useSlots","v","err","data","k","s","props","h","o","x","E","P","V","J","b","status","computed","y","t","e","progress","openFileDialog","emit","clear","watch","U","useLabelNotch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,MAAAA,WAAsBC,EAAA,GAAA;AAAA,UACJ,IAAAC,EAAA;AAAA,MAChB,gBAAO;AAAA,MACR,OAEaC;AAAAA,IAuEPC,CAAAA,GAAAA,IAAAA,EAAAA,GAAAA,IAAAA,GAAAA,IAAAA,GAAAA,IAAAA,CAAAA,GAAAA,MAAAA;AAID,UAAA;AACF,YAAA;AAAW,iBACJC,EAAK,CAAA;AAAA,QACZC,SAAAA;AACO,iBAAA,EAAA,QAAA,aAAA,QAAA,EAAA,UAAA,OAAA,CAAA,GAAA;AAAA,QAAA;AAAA,IAiBH,GAAAC,IAAAC,EAAA,UAAU,YAASC,CAAAA,CAAAA,eAAmBC,EAAAC,EAAA,YAAAC,CAAA,CAAA,GAAAC,IAAAL,EAAA,MAAAG,EAAA,YAAA,CAAAA,EAAA,SAAA,IAAA,GAAAG,IAAAN,EAAA,MAAAG,EAAA,YAAAA,EAAA,SAAA,IAAA,GAAAI,IAAAP,EAAA,MAAAQ,EAAA,EAAA,OAAAL,EAAA,KAAA,CAAA,GAAA,IAAAH,EAAA,MAAA,OAAAO,EAAA,SAAA,QAAA,GAAAE,IAAAT,EAAA,MAAA;AAExC,YAAA,EAACU,QAAkB,GAAA,MAAA,oBAIZ,CAAA;AAKZ,aAEqBC,CAAS,KAAM,CAAA,EAAA,aAAA,KAAA,EAAA,kBAAA,CAAA,IAAAC,EAAA,EAAA,gBAAA,CAAA,CAAA,IAAA,QAAAA,EAAA,EAAA,YAAA,CAAA,CAAA,IAAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA;AAC7B,UAAAC;AAEN,YAAA,EAIO,UAAAC,EAAA,IAAAX;AAAA,aACEY,IAAS;AAAA,eAJRD,EAAA,OAAA,SAAA,KAAA,SAAAD,IAAAC,EAAA,WAAA,OAAA,SAAAD,EAAA,aAAA,KAAA,GAAA,IAAA;AAAA,MAAA,IAQNG,CAAiB;AAAA,IACrB,CAAA,GAAK,IAAiB,MAAA;AACxB,QAEiB,iBAAsB;AAAA,IACjC,GAAApB,WACFqB;AAIEC,QAAAA,MAAcD,iCAAmC,EAAA,MAAA,CAAA,CAAA;AAAA,IAEvDE,GAAAA,IAAAA,MAAAA,EAAAA,qBAAAA,MAAAA;AAAAC,IAAAA;AAAAA,MAEE,MAAOtB,EAAK;AAAA,MACZ,gBAAkB;AAAA,MACpB,EAAA,WAAA,GAAA;AAAA,IAEA;AAEKG,UAAAA,IACHoB,EAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlFileInput.vue.js","sources":["../../../../../../../../../lib/ui/uikit/src/components/PlFileInput/PlFileInput.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { prettyBytes } from '@milaboratories/helpers';\nimport type { ImportFileHandle, ImportProgress } from '@platforma-sdk/model';\nimport { getFileNameFromHandle, getFilePathFromHandle } from '@platforma-sdk/model';\nimport { computed, reactive, ref, useSlots, watch } from 'vue';\nimport SvgRequired from '../../generated/components/svg/images/SvgRequired.vue';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport type { ImportedFiles } from '../../types';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport { PlFileDialog } from '../PlFileDialog';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { PlTooltip } from '../PlTooltip';\nimport './pl-file-input.scss';\n\nconst data = reactive({\n fileDialogOpen: false,\n error: undefined as undefined | string,\n});\n\nconst slots = useSlots();\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: ImportFileHandle | undefined): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current import file handle.\n */\n modelValue: ImportFileHandle | undefined;\n /**\n * The label to display above the input field.\n */\n label?: string;\n /**\n * If `true`, the input field is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the component border is dashed.\n */\n dashed?: boolean;\n /**\n * Allowed file extensions (should start with `.`)\n */\n extensions?: string[];\n /**\n * Placeholder text\n */\n placeholder?: string;\n /**\n * Import/Upload progress\n */\n progress?: ImportProgress;\n /**\n * An error message to display below the input field.\n */\n error?: unknown;\n /**\n * A helper text to display below the input field when there are no errors.\n */\n helper?: string;\n /**\n * Remove rounded border and change styles\n */\n cellStyle?: boolean;\n /**\n * File dialog title\n */\n fileDialogTitle?: string;\n /**\n * If `true`, the file dialog window closes when clicking outside the modal area (default: `true`)\n */\n fileDialogCloseOnOutsideClick?: boolean;\n }>(),\n {\n label: undefined,\n extensions: undefined,\n fileDialogTitle: undefined,\n placeholder: undefined,\n progress: undefined,\n error: undefined,\n helper: undefined,\n cellStyle: false,\n fileDialogCloseOnOutsideClick: true,\n },\n);\n\nconst tryValue = <T extends ImportFileHandle>(v: T | undefined, cb: (v: T) => string | undefined) => {\n if (!v) {\n return undefined;\n }\n\n try {\n return cb(v);\n } catch (err) {\n data.error = err instanceof Error ? err.message : String(err);\n return v;\n }\n};\n\nconst fileName = computed(() => tryValue(props.modelValue, getFileNameFromHandle));\n\nconst filePath = computed(() => tryValue(props.modelValue, getFilePathFromHandle));\n\nconst isUploading = computed(() => props.progress && !props.progress.done);\n\nconst isUploaded = computed(() => props.progress && props.progress.done);\n\nconst computedErrorMessage = computed(() => getErrorMessage(data.error, props.error));\n\nconst hasErrors = computed(() => typeof computedErrorMessage.value === 'string');\n\nconst uploadStats = computed(() => {\n const { status, done } = props.progress ?? {};\n\n if (!status || !status.bytesTotal) {\n return '';\n }\n\n if (status.bytesProcessed && !done) {\n return prettyBytes(status.bytesProcessed, {}) + ' / ' + prettyBytes(status.bytesTotal, {});\n }\n\n return prettyBytes(status.bytesTotal, {});\n});\n\nconst progressStyle = computed(() => {\n const { progress } = props;\n\n if (!progress) {\n return {};\n }\n\n return {\n width: progress.done ? '100%' : Math.round((progress.status?.progress ?? 0) * 100) + '%',\n };\n});\n\nconst openFileDialog = () => {\n data.fileDialogOpen = true;\n};\n\nconst onImport = (v: ImportedFiles) => {\n if (v.files.length) {\n emit('update:modelValue', v.files[0]);\n }\n};\n\nconst clear = () => emit('update:modelValue', undefined);\n\nwatch(\n () => props.modelValue,\n () => (data.error = undefined),\n { immediate: true },\n);\n\nconst rootRef = ref();\n\nif (!props.cellStyle) {\n useLabelNotch(rootRef);\n}\n</script>\n\n<template>\n <div :class=\"{ 'pl-file-input__cell-style': !!cellStyle, 'has-file': !!fileName }\" class=\"pl-file-input__envelope\">\n <div\n ref=\"rootRef\"\n :class=\"{ dashed, error: hasErrors }\"\n class=\"pl-file-input\"\n tabindex=\"0\"\n @keyup.enter=\"openFileDialog\"\n @click.stop=\"openFileDialog\"\n >\n <div :style=\"progressStyle\" class=\"pl-file-input__progress\" />\n <label v-if=\"!cellStyle && label\" ref=\"label\">\n <SvgRequired v-if=\"required\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip || filePath\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot v-if=\"slots.tooltip\" name=\"tooltip\" />\n <template v-else>{{ filePath }}</template>\n </template>\n </PlTooltip>\n </label>\n <PlMaskIcon24 v-if=\"hasErrors\" name=\"restart\" />\n <PlMaskIcon24 v-else-if=\"isUploading\" name=\"cloud-upload\" />\n <PlMaskIcon24 v-else-if=\"isUploaded\" name=\"success\" />\n <PlMaskIcon24 v-else name=\"paper-clip\" />\n <div :data-placeholder=\"placeholder ?? 'Choose file'\" class=\"pl-file-input__filename\">\n {{ fileName }}\n </div>\n <div v-if=\"uploadStats\" class=\"pl-file-input__stats\">{{ uploadStats }}</div>\n <PlMaskIcon24 v-if=\"modelValue\" class=\"pl-file-input__clear\" name=\"close\" @click.stop=\"clear\" />\n <DoubleContour class=\"pl-file-input__contour\" />\n </div>\n <div v-if=\"hasErrors\" class=\"pl-file-input__error\">\n {{ computedErrorMessage }}\n </div>\n <div v-else-if=\"helper\" class=\"pl-file-input__helper\">{{ helper }}</div>\n </div>\n <PlFileDialog\n v-model=\"data.fileDialogOpen\"\n :close-on-outside-click=\"fileDialogCloseOnOutsideClick\"\n :extensions=\"extensions\"\n :title=\"fileDialogTitle\"\n @import:files=\"onImport\"\n />\n</template>\n"],"names":["F","N","K","useSlots","v","err","data","k","s","props","h","o","x","T","P","V","J","b","status","computed","y","t","e","progress","openFileDialog","emit","clear","watch","U","useLabelNotch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,MAAAA,WAAsBC,EAAA,GAAA;AAAA,UACJ,IAAAC,EAAA;AAAA,MAChB,gBAAO;AAAA,MACR,OAEaC;AAAAA,IAuEPC,CAAAA,GAAAA,IAAAA,EAAAA,GAAAA,IAAAA,GAAAA,IAAAA,GAAAA,IAAAA,CAAAA,GAAAA,MAAAA;AAID,UAAA;AACF,YAAA;AAAW,iBACJC,EAAK,CAAA;AAAA,QACZC,SAAAA;AACO,iBAAA,EAAA,QAAA,aAAA,QAAA,EAAA,UAAA,OAAA,CAAA,GAAA;AAAA,QAAA;AAAA,IAiBH,GAAAC,IAAAC,EAAA,UAAU,YAASC,CAAAA,CAAAA,eAAmBC,EAAAC,EAAA,YAAAC,CAAA,CAAA,GAAAC,IAAAL,EAAA,MAAAG,EAAA,YAAA,CAAAA,EAAA,SAAA,IAAA,GAAAG,IAAAN,EAAA,MAAAG,EAAA,YAAAA,EAAA,SAAA,IAAA,GAAAI,IAAAP,EAAA,MAAAQ,EAAA,EAAA,OAAAL,EAAA,KAAA,CAAA,GAAA,IAAAH,EAAA,MAAA,OAAAO,EAAA,SAAA,QAAA,GAAAE,IAAAT,EAAA,MAAA;AAExC,YAAA,EAACU,QAAkB,GAAA,MAAA,oBAIZ,CAAA;AAKZ,aAEqBC,CAAS,KAAM,CAAA,EAAA,aAAA,KAAA,EAAA,kBAAA,CAAA,IAAAC,EAAA,EAAA,gBAAA,CAAA,CAAA,IAAA,QAAAA,EAAA,EAAA,YAAA,CAAA,CAAA,IAAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA;AAC7B,UAAAC;AAEN,YAAA,EAIO,UAAAC,EAAA,IAAAX;AAAA,aACEY,IAAS;AAAA,eAJRD,EAAA,OAAA,SAAA,KAAA,SAAAD,IAAAC,EAAA,WAAA,OAAA,SAAAD,EAAA,aAAA,KAAA,GAAA,IAAA;AAAA,MAAA,IAQNG,CAAiB;AAAA,IACrB,CAAA,GAAK,IAAiB,MAAA;AACxB,QAEiB,iBAAsB;AAAA,IACjC,GAAApB,WACFqB;AAIEC,QAAAA,MAAcD,iCAAmC,EAAA,MAAA,CAAA,CAAA;AAAA,IAEvDE,GAAAA,IAAAA,MAAAA,EAAAA,qBAAAA,MAAAA;AAAAC,IAAAA;AAAAA,MAEE,MAAOtB,EAAK;AAAA,MACZ,gBAAkB;AAAA,MACpB,EAAA,WAAA,GAAA;AAAA,IAEA;AAEKG,UAAAA,IACHoB,EAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -30,7 +30,7 @@ function S(n) {
30
30
  function j(n) {
31
31
  return n.replace(/^.*[\\/]/, "");
32
32
  }
33
- function R(n) {
33
+ function M(n) {
34
34
  return j(S(n));
35
35
  }
36
36
  function U(n) {
@@ -376,11 +376,11 @@ function D(n) {
376
376
  function h(n) {
377
377
  return n.kind === "PColumn";
378
378
  }
379
- function F(n) {
379
+ function T(n) {
380
380
  return h(n.spec);
381
381
  }
382
382
  function X(n) {
383
- if (!F(n)) throw new Error(`not a PColumn (kind = ${n.spec.kind})`);
383
+ if (!T(n)) throw new Error(`not a PColumn (kind = ${n.spec.kind})`);
384
384
  return n;
385
385
  }
386
386
  function Y(n, e) {
@@ -513,11 +513,11 @@ function rn(n, e = !0) {
513
513
  function on(n, e) {
514
514
  return n.ok ? { ok: !0, value: e(n.value) } : n;
515
515
  }
516
- const T = 24;
517
- u.string().length(T).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
516
+ const R = 24;
517
+ u.string().length(R).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
518
518
  export {
519
519
  G as AnchoredIdDeriver,
520
- T as PlIdLength,
520
+ R as PlIdLength,
521
521
  W as canonicalizeAxisId,
522
522
  q as dataInfoToEntries,
523
523
  en as deriveNativeId,
@@ -526,13 +526,13 @@ export {
526
526
  Z as extractAllColumns,
527
527
  L as getAxesId,
528
528
  d as getAxisId,
529
- R as getFileNameFromHandle,
529
+ M as getFileNameFromHandle,
530
530
  S as getFilePathFromHandle,
531
531
  U as isDataInfo,
532
532
  E as isDataInfoEntries,
533
533
  J as isImportFileHandleIndex,
534
534
  I as isImportFileHandleUpload,
535
- F as isPColumn,
535
+ T as isPColumn,
536
536
  h as isPColumnSpec,
537
537
  H as isPartitionedDataInfoEntries,
538
538
  tn as isPlRef,