@platforma-sdk/ui-vue 1.42.3 → 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.
- package/.turbo/turbo-build.log +11 -11
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +9 -0
- package/dist/aggrid.js +4 -4
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +7 -7
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +13 -13
- package/dist/components/PlAgDataTable/sources/table-source-v2.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-source-v2.js +88 -85
- package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-state-v2.js +6 -6
- package/dist/components/PlAnnotations/components/DynamicForm.vue2.js +10 -10
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +2 -2
- package/dist/components/PlMultiSequenceAlignment/data.js +26 -26
- package/dist/components/PlTableFilters/filters-state.js +2 -2
- package/dist/defineApp.js +16 -16
- package/dist/internal/createAppV2.js +9 -9
- package/dist/lib/model/common/dist/index.js +329 -317
- package/dist/lib/model/common/dist/index.js.map +1 -1
- package/dist/lib/ui/uikit/dist/components/PlAccordion/{ExpandTransition.vue2.js → ExpandTransition.vue.js} +1 -1
- package/dist/lib/ui/uikit/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -0
- package/dist/lib/ui/uikit/dist/components/PlAccordion/PlAccordionSection.vue2.js +1 -1
- package/dist/lib/ui/uikit/dist/components/PlFileInput/PlFileInput.vue.js +16 -16
- package/dist/lib/ui/uikit/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
- package/dist/lib/ui/uikit/dist/lib/model/common/dist/index.js +8 -8
- package/dist/lib/ui/uikit/dist/lib/model/common/dist/index.js.map +1 -1
- package/dist/lib/ui/uikit/dist/sdk/model/dist/index.js +18 -18
- package/dist/lib/ui/uikit/dist/sdk/model/dist/index.js.map +1 -1
- package/dist/sdk/model/dist/index.js +198 -206
- package/dist/sdk/model/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/PlAgDataTable/sources/table-source-v2.ts +9 -6
- package/dist/lib/ui/uikit/dist/components/PlAccordion/ExpandTransition.vue2.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as
|
|
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__ */
|
|
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 =
|
|
52
|
+
const a = M({
|
|
53
53
|
fileDialogOpen: !1,
|
|
54
54
|
error: void 0
|
|
55
|
-
}), _ =
|
|
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),
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
73
|
+
}, F = (e) => {
|
|
74
74
|
e.files.length && g("update:modelValue", e.files[0]);
|
|
75
|
-
},
|
|
76
|
-
|
|
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(
|
|
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:
|
|
107
|
-
r(_).tooltip ?
|
|
108
|
-
|
|
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
|
-
})) :
|
|
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(
|
|
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":["
|
|
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
|
|
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
|
|
379
|
+
function T(n) {
|
|
380
380
|
return h(n.spec);
|
|
381
381
|
}
|
|
382
382
|
function X(n) {
|
|
383
|
-
if (!
|
|
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
|
|
517
|
-
u.string().length(
|
|
516
|
+
const R = 24;
|
|
517
|
+
u.string().length(R).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
|
|
518
518
|
export {
|
|
519
519
|
G as AnchoredIdDeriver,
|
|
520
|
-
|
|
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
|
-
|
|
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
|
-
|
|
535
|
+
T as isPColumn,
|
|
536
536
|
h as isPColumnSpec,
|
|
537
537
|
H as isPartitionedDataInfoEntries,
|
|
538
538
|
tn as isPlRef,
|