@knime/product-features 1.1.2 → 1.1.3

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 (41) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/dataTransfer.css +27 -27
  3. package/dist/dataTransfer.js +24 -23
  4. package/dist/dataTransfer.js.map +1 -1
  5. package/dist/rfcErrors.css +3 -3
  6. package/dist/rfcErrors.js +1 -1
  7. package/dist/rfcErrors.js.map +1 -1
  8. package/dist/src/dataTransfer/download/ui/types.d.ts +5 -0
  9. package/dist/src/dataTransfer/download/ui/types.d.ts.map +1 -1
  10. package/dist/src/dataTransfer/shared/ui/CollapsiblePanel/CollapsiblePanel.vue.d.ts.map +1 -1
  11. package/dist/src/dataTransfer/shared/ui/CollapsiblePanel/types.d.ts +1 -1
  12. package/dist/src/dataTransfer/shared/ui/CollapsiblePanel/types.d.ts.map +1 -1
  13. package/dist/src/dataTransfer/shared/ui/ProgressItem/ProgressItem.vue.d.ts.map +1 -1
  14. package/dist/src/dataTransfer/shared/ui/ProgressItem/types.d.ts +1 -1
  15. package/dist/src/dataTransfer/shared/ui/ProgressItem/types.d.ts.map +1 -1
  16. package/dist/src/dataTransfer/upload/ui/types.d.ts +10 -0
  17. package/dist/src/dataTransfer/upload/ui/types.d.ts.map +1 -1
  18. package/dist/src/nodes/NodeDescriptionTabs/types.d.ts +11 -0
  19. package/dist/src/nodes/NodeDescriptionTabs/types.d.ts.map +1 -1
  20. package/dist/src/rfcErrors/RFCErrorToastTemplate.vue.d.ts +9 -0
  21. package/dist/src/rfcErrors/RFCErrorToastTemplate.vue.d.ts.map +1 -1
  22. package/dist/src/rfcErrors/types.d.ts +5 -0
  23. package/dist/src/rfcErrors/types.d.ts.map +1 -1
  24. package/dist/src/toasts/Toast/types.d.ts +6 -0
  25. package/dist/src/toasts/Toast/types.d.ts.map +1 -1
  26. package/dist/src/toasts/ToastStack/types.d.ts +2 -0
  27. package/dist/src/toasts/ToastStack/types.d.ts.map +1 -1
  28. package/dist/src/versions/CreateVersionForm/types.d.ts +1 -0
  29. package/dist/src/versions/CreateVersionForm/types.d.ts.map +1 -1
  30. package/dist/src/versions/VersionHistory/HistoryEventFooter.vue.d.ts.map +1 -1
  31. package/dist/src/versions/VersionHistory/VersionLabel.vue.d.ts +4 -2
  32. package/dist/src/versions/VersionHistory/VersionLabel.vue.d.ts.map +1 -1
  33. package/dist/src/versions/VersionHistory/types.d.ts +36 -0
  34. package/dist/src/versions/VersionHistory/types.d.ts.map +1 -1
  35. package/dist/toasts.css +13 -13
  36. package/dist/toasts.js +5 -5
  37. package/dist/toasts.js.map +1 -1
  38. package/dist/versions.css +4 -4
  39. package/dist/versions.js +13 -10
  40. package/dist/versions.js.map +1 -1
  41. package/package.json +6 -8
@@ -1 +1 @@
1
- {"version":3,"file":"rfcErrors.js","sources":["../src/rfcErrors/serializeRFCErrorData.ts","../src/rfcErrors/RFCErrorToastTemplate.vue","../src/rfcErrors/types.ts","../src/rfcErrors/index.ts"],"sourcesContent":["import type { RFCErrorData } from \"./types\";\n\nexport const serializeErrorForClipboard = (\n error: RFCErrorData,\n headline: string,\n formatDate: (date: Date) => string,\n): string => {\n let details = \"\";\n if (error.details?.length) {\n if (error.details.length > 1) {\n const detailLines = error.details\n .map((item) => `\\u2022 ${item}`)\n .join(\"\\n\");\n details = `\\n${detailLines}`;\n } else {\n details = error.details[0];\n }\n }\n\n let errorText = `${headline}\\n\\n`;\n errorText += `${error.title}\\n\\n`;\n errorText += details ? `Details: ${details}\\n\\n` : \"\";\n\n if (error.status !== undefined) {\n errorText += `Status: ${error.status}\\n`;\n }\n\n if (error.date) {\n errorText += `Date: ${formatDate(error.date)}\\n`;\n }\n\n if (error.requestId) {\n errorText += `Request Id: ${error.requestId}\\n`;\n }\n\n if (error.errorId) {\n errorText += `Error Id: ${error.errorId}\\n`;\n }\n\n if (error.stacktrace) {\n errorText += \"------\\n\"; // separator\n errorText += `Stacktrace:\\n\\n${error.stacktrace}\\n`;\n }\n\n return errorText;\n};\n","<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useClipboard } from \"@vueuse/core\";\n\nimport { KdsButton } from \"@knime/kds-components\";\nimport { formatDateTimeString } from \"@knime/utils\";\n\nimport { serializeErrorForClipboard as defaultSerializeRFCErrorData } from \"./serializeRFCErrorData\";\nimport type { RFCErrorData } from \"./types\";\n\ntype Props = {\n headline: string; // toast headline, will not be displayed here but needed when copying to clipboard\n canCopyToClipboard?: boolean;\n serializeErrorForClipboard?: (\n error: RFCErrorData,\n headline: string,\n formatDate: (date: Date) => string,\n ) => string;\n} & RFCErrorData;\n\nconst {\n headline,\n canCopyToClipboard = true,\n serializeErrorForClipboard = defaultSerializeRFCErrorData,\n ...rfcError\n} = defineProps<Props>();\n\nconst emits = defineEmits([\"showMore\"]);\n\nconst { copy, copied } = useClipboard({\n copiedDuring: 3000,\n});\n\nconst hasDetails =\n rfcError.details?.length ||\n rfcError.status !== undefined ||\n rfcError.date !== undefined ||\n rfcError.requestId !== undefined ||\n rfcError.errorId !== undefined;\n// don't show 'Show details' button if there are no details to show\nconst showDetails = ref(!hasDetails);\n\nconst formatDate = (date: Date): string =>\n date ? formatDateTimeString(date.getTime()) : \"\";\n\nconst copyToClipboard = () => {\n if (copied.value) {\n return;\n }\n copy(serializeErrorForClipboard(rfcError, headline, formatDate)).catch(\n (error) => {\n consola.error(\"Failed to copy to clipboard\", { error });\n },\n );\n};\n\nconst onShowDetailsClicked = () => {\n showDetails.value = true;\n emits(\"showMore\");\n};\n</script>\n\n<template>\n <div class=\"wrapper\">\n <div class=\"title\">\n {{ title }}\n </div>\n <div v-if=\"showDetails\">\n <div v-if=\"details?.length\">\n <strong>Details: </strong>\n <template v-if=\"details.length === 1\">\n {{ details[0] }}\n </template>\n <template v-else>\n <ul class=\"details-list\">\n <li v-for=\"(item, index) in details\" :key=\"index\">{{ item }}</li>\n </ul>\n </template>\n </div>\n\n <div v-if=\"status !== undefined\">\n <strong>Status: </strong>{{ status }}\n </div>\n <div v-if=\"date\"><strong>Date: </strong>{{ formatDate(date) }}</div>\n <div v-if=\"requestId\"><strong>Request id: </strong>{{ requestId }}</div>\n <div v-if=\"errorId\"><strong>Error id: </strong>{{ errorId }}</div>\n <div v-if=\"stacktrace && canCopyToClipboard\">\n <strong>Stacktrace: </strong>Part of clipboard text\n </div>\n </div>\n <div class=\"actions-wrapper\">\n <KdsButton\n v-if=\"!showDetails\"\n data-testid=\"show-details\"\n variant=\"transparent\"\n label=\"Show details\"\n size=\"xsmall\"\n @click=\"onShowDetailsClicked\"\n />\n <KdsButton\n v-if=\"canCopyToClipboard\"\n data-testid=\"copy-to-clipboard\"\n :label=\"copied ? 'Error was copied' : 'Copy error to clipboard'\"\n :leading-icon=\"copied ? 'checkmark' : 'copy'\"\n variant=\"transparent\"\n size=\"xsmall\"\n @click=\"copyToClipboard\"\n />\n </div>\n </div>\n</template>\n\n<style scoped>\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-25x);\n font: var(--kds-font-base-body-small);\n color: var(--kds-color-text-and-icon-neutral);\n}\n\n.details-list {\n padding-left: var(--kds-spacing-container-1-5x);\n margin-top: var(--kds-spacing-container-0-37x);\n margin-bottom: var(--kds-spacing-container-0-37x);\n}\n\n.actions-wrapper {\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n align-items: center;\n}\n</style>\n","/**\n * Type based on an RFC-9457 error standard (https://www.rfc-editor.org/rfc/rfc9457)\n * Also see:\n * https://knime-com.atlassian.net/wiki/spaces/SPECS/pages/4126769212/API+Errors+Problem+Details\n */\nexport type RFCErrorData = {\n title: string;\n status?: number;\n date?: Date;\n details?: string[];\n requestId?: string;\n /**\n * Id used to find an error in the Hub logs. Specially relevant\n * when details of the error are not wanted to be exposed to the user.\n */\n errorId?: string;\n /**\n * Relevant only for the Analytics Platform, since the Hub does not expose\n * stack traces.\n */\n stacktrace?: string;\n};\n\nexport class RFCError extends Error {\n data: RFCErrorData;\n\n constructor(data: RFCErrorData) {\n super(data.title);\n this.data = data;\n }\n}\n\nexport type FetchError = {\n response: {\n headers: Headers;\n };\n statusCode: number;\n data: {\n title: string;\n details: string[];\n };\n};\n","import { h } from \"vue\";\n\nimport type { Toast } from \"../toasts\";\n\nimport RFCErrorToastTemplate from \"./RFCErrorToastTemplate.vue\";\nimport { type FetchError, RFCError, type RFCErrorData } from \"./types\";\n\n/**\n * Map to a toast template component compatible with an RFCError format\n */\nconst toToast = ({\n headline,\n rfcError,\n canCopyToClipboard = true,\n serializeErrorForClipboard = undefined,\n}: {\n headline: string;\n rfcError: RFCError;\n canCopyToClipboard?: boolean;\n serializeErrorForClipboard?: (\n error: RFCErrorData,\n headline: string,\n formatDate: (date: Date) => string,\n ) => string;\n}): Toast => {\n const { data } = rfcError;\n\n const rfcErrorToastContent = h(RFCErrorToastTemplate, {\n headline,\n ...data,\n canCopyToClipboard,\n serializeErrorForClipboard,\n });\n\n return {\n type: \"error\",\n headline,\n component: rfcErrorToastContent,\n autoRemove: false,\n };\n};\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return (\n error !== null &&\n typeof error === \"object\" &&\n \"response\" in error &&\n \"statusCode\" in error &&\n \"data\" in error\n );\n};\n\n/**\n * Parse a generic request error to an `RFCError`.\n * When parsing is not possible it returns undefined.\n */\nconst tryParse = (error: unknown): RFCError | undefined => {\n if (!isFetchError(error)) {\n return undefined;\n }\n\n if (!error.response) {\n return undefined;\n }\n\n const responseDate = error.response.headers.get(\"date\")\n ? new Date(error.response.headers.get(\"date\")!)\n : undefined;\n\n const title =\n typeof error.data === \"string\" ? error.data : (error.data?.title ?? \"\");\n\n const rfcErrorData: RFCErrorData = {\n title: title as string,\n details: error.data?.details as string[] | undefined,\n status: error.statusCode as number,\n date: responseDate,\n requestId: error.response.headers.get(\"x-request-id\") ?? undefined,\n errorId: error.response.headers.get(\"x-error-id\") ?? undefined,\n };\n\n return new RFCError(rfcErrorData);\n};\n\nexport const rfcErrors = {\n toToast,\n tryParse,\n RFCError,\n};\n"],"names":["_createPropsRestProxy","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_Fragment","_renderList","_createTextVNode","_createBlock","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"rfcErrors.js","sources":["../src/rfcErrors/serializeRFCErrorData.ts","../src/rfcErrors/RFCErrorToastTemplate.vue","../src/rfcErrors/types.ts","../src/rfcErrors/index.ts"],"sourcesContent":["import type { RFCErrorData } from \"./types\";\n\nexport const serializeErrorForClipboard = (\n error: RFCErrorData,\n headline: string,\n formatDate: (date: Date) => string,\n): string => {\n let details = \"\";\n if (error.details?.length) {\n if (error.details.length > 1) {\n const detailLines = error.details\n .map((item) => `\\u2022 ${item}`)\n .join(\"\\n\");\n details = `\\n${detailLines}`;\n } else {\n details = error.details[0];\n }\n }\n\n let errorText = `${headline}\\n\\n`;\n errorText += `${error.title}\\n\\n`;\n errorText += details ? `Details: ${details}\\n\\n` : \"\";\n\n if (error.status !== undefined) {\n errorText += `Status: ${error.status}\\n`;\n }\n\n if (error.date) {\n errorText += `Date: ${formatDate(error.date)}\\n`;\n }\n\n if (error.requestId) {\n errorText += `Request Id: ${error.requestId}\\n`;\n }\n\n if (error.errorId) {\n errorText += `Error Id: ${error.errorId}\\n`;\n }\n\n if (error.stacktrace) {\n errorText += \"------\\n\"; // separator\n errorText += `Stacktrace:\\n\\n${error.stacktrace}\\n`;\n }\n\n return errorText;\n};\n","<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useClipboard } from \"@vueuse/core\";\n\nimport { KdsButton } from \"@knime/kds-components\";\nimport { formatDateTimeString } from \"@knime/utils\";\n\nimport { serializeErrorForClipboard as defaultSerializeRFCErrorData } from \"./serializeRFCErrorData\";\nimport type { RFCErrorData } from \"./types\";\n\ntype Props = {\n /**\n * Toast headline shown in the toast title bar. Not rendered inside this\n * template, but included when serializing the error to the clipboard.\n */\n headline: string;\n /** Whether to show the \"Copy error to clipboard\" button. */\n canCopyToClipboard?: boolean;\n /**\n * Custom serializer for the clipboard payload. Defaults to\n * `serializeRFCErrorData` which formats the full error as text.\n */\n serializeErrorForClipboard?: (\n error: RFCErrorData,\n headline: string,\n formatDate: (date: Date) => string,\n ) => string;\n} & RFCErrorData;\n\nconst {\n headline,\n canCopyToClipboard = true,\n serializeErrorForClipboard = defaultSerializeRFCErrorData,\n ...rfcError\n} = defineProps<Props>();\n\nconst emits = defineEmits([\"showMore\"]);\n\nconst { copy, copied } = useClipboard({\n copiedDuring: 3000,\n});\n\nconst hasDetails =\n rfcError.details?.length ||\n rfcError.status !== undefined ||\n rfcError.date !== undefined ||\n rfcError.requestId !== undefined ||\n rfcError.errorId !== undefined;\n// don't show 'Show details' button if there are no details to show\nconst showDetails = ref(!hasDetails);\n\nconst formatDate = (date: Date): string =>\n date ? formatDateTimeString(date.getTime()) : \"\";\n\nconst copyToClipboard = () => {\n if (copied.value) {\n return;\n }\n copy(serializeErrorForClipboard(rfcError, headline, formatDate)).catch(\n (error) => {\n consola.error(\"Failed to copy to clipboard\", { error });\n },\n );\n};\n\nconst onShowDetailsClicked = () => {\n showDetails.value = true;\n emits(\"showMore\");\n};\n</script>\n\n<template>\n <div class=\"wrapper\">\n <div class=\"title\">\n {{ title }}\n </div>\n <div v-if=\"showDetails\">\n <div v-if=\"details?.length\">\n <strong>Details: </strong>\n <template v-if=\"details.length === 1\">\n {{ details[0] }}\n </template>\n <template v-else>\n <ul class=\"details-list\">\n <li v-for=\"(item, index) in details\" :key=\"index\">{{ item }}</li>\n </ul>\n </template>\n </div>\n\n <div v-if=\"status !== undefined\">\n <strong>Status: </strong>{{ status }}\n </div>\n <div v-if=\"date\"><strong>Date: </strong>{{ formatDate(date) }}</div>\n <div v-if=\"requestId\"><strong>Request id: </strong>{{ requestId }}</div>\n <div v-if=\"errorId\"><strong>Error id: </strong>{{ errorId }}</div>\n <div v-if=\"stacktrace && canCopyToClipboard\">\n <strong>Stacktrace: </strong>Part of clipboard text\n </div>\n </div>\n <div class=\"actions-wrapper\">\n <KdsButton\n v-if=\"!showDetails\"\n data-testid=\"show-details\"\n variant=\"transparent\"\n label=\"Show details\"\n size=\"xsmall\"\n @click=\"onShowDetailsClicked\"\n />\n <KdsButton\n v-if=\"canCopyToClipboard\"\n data-testid=\"copy-to-clipboard\"\n :label=\"copied ? 'Error was copied' : 'Copy error to clipboard'\"\n :leading-icon=\"copied ? 'checkmark' : 'copy'\"\n variant=\"transparent\"\n size=\"xsmall\"\n @click=\"copyToClipboard\"\n />\n </div>\n </div>\n</template>\n\n<style scoped>\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-25x);\n font: var(--kds-font-base-body-small);\n color: var(--kds-color-text-and-icon-neutral);\n}\n\n.details-list {\n padding-left: var(--kds-spacing-container-1-5x);\n margin-top: var(--kds-spacing-container-0-37x);\n margin-bottom: var(--kds-spacing-container-0-37x);\n}\n\n.actions-wrapper {\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n align-items: center;\n}\n</style>\n","/**\n * Type based on an RFC-9457 error standard (https://www.rfc-editor.org/rfc/rfc9457)\n * Also see:\n * https://knime-com.atlassian.net/wiki/spaces/SPECS/pages/4126769212/API+Errors+Problem+Details\n */\nexport type RFCErrorData = {\n /** Short human-readable summary of the error. */\n title: string;\n /** HTTP status code associated with the error. */\n status?: number;\n /** Date/time when the error occurred. */\n date?: Date;\n /** Additional human-readable detail messages. */\n details?: string[];\n /** Correlation id for the request that triggered the error. */\n requestId?: string;\n /**\n * Id used to find an error in the Hub logs. Specially relevant\n * when details of the error are not wanted to be exposed to the user.\n */\n errorId?: string;\n /**\n * Relevant only for the Analytics Platform, since the Hub does not expose\n * stack traces.\n */\n stacktrace?: string;\n};\n\nexport class RFCError extends Error {\n data: RFCErrorData;\n\n constructor(data: RFCErrorData) {\n super(data.title);\n this.data = data;\n }\n}\n\nexport type FetchError = {\n response: {\n headers: Headers;\n };\n statusCode: number;\n data: {\n title: string;\n details: string[];\n };\n};\n","import { h } from \"vue\";\n\nimport type { Toast } from \"../toasts\";\n\nimport RFCErrorToastTemplate from \"./RFCErrorToastTemplate.vue\";\nimport { type FetchError, RFCError, type RFCErrorData } from \"./types\";\n\n/**\n * Map to a toast template component compatible with an RFCError format\n */\nconst toToast = ({\n headline,\n rfcError,\n canCopyToClipboard = true,\n serializeErrorForClipboard = undefined,\n}: {\n headline: string;\n rfcError: RFCError;\n canCopyToClipboard?: boolean;\n serializeErrorForClipboard?: (\n error: RFCErrorData,\n headline: string,\n formatDate: (date: Date) => string,\n ) => string;\n}): Toast => {\n const { data } = rfcError;\n\n const rfcErrorToastContent = h(RFCErrorToastTemplate, {\n headline,\n ...data,\n canCopyToClipboard,\n serializeErrorForClipboard,\n });\n\n return {\n type: \"error\",\n headline,\n component: rfcErrorToastContent,\n autoRemove: false,\n };\n};\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return (\n error !== null &&\n typeof error === \"object\" &&\n \"response\" in error &&\n \"statusCode\" in error &&\n \"data\" in error\n );\n};\n\n/**\n * Parse a generic request error to an `RFCError`.\n * When parsing is not possible it returns undefined.\n */\nconst tryParse = (error: unknown): RFCError | undefined => {\n if (!isFetchError(error)) {\n return undefined;\n }\n\n if (!error.response) {\n return undefined;\n }\n\n const responseDate = error.response.headers.get(\"date\")\n ? new Date(error.response.headers.get(\"date\")!)\n : undefined;\n\n const title =\n typeof error.data === \"string\" ? error.data : (error.data?.title ?? \"\");\n\n const rfcErrorData: RFCErrorData = {\n title: title as string,\n details: error.data?.details as string[] | undefined,\n status: error.statusCode as number,\n date: responseDate,\n requestId: error.response.headers.get(\"x-request-id\") ?? undefined,\n errorId: error.response.headers.get(\"x-error-id\") ?? undefined,\n };\n\n return new RFCError(rfcErrorData);\n};\n\nexport const rfcErrors = {\n toToast,\n tryParse,\n RFCError,\n};\n"],"names":["_createPropsRestProxy","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_Fragment","_renderList","_createTextVNode","_createBlock","_unref"],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  export type DownloadItem = {
2
+ /** Unique identifier for this download. */
2
3
  downloadId: string;
4
+ /** File name of the downloaded item. */
3
5
  name: string;
6
+ /** Current lifecycle status of the download. */
4
7
  status: "IN_PROGRESS" | "CANCELLED" | "READY" | "FAILED";
8
+ /** URL to download the file once it is ready. Only present when the status is `READY`. */
5
9
  downloadUrl?: string;
10
+ /** Human-readable explanation of why the download failed. */
6
11
  failureDetails?: string;
7
12
  };
8
13
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/dataTransfer/download/ui/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/dataTransfer/download/ui/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzD,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsiblePanel.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/CollapsiblePanel/CollapsiblePanel.vue"],"names":[],"mappings":"AA2HA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,KAAK,WAAW,GAAG,qBAAqB,CAAC;AAqBzC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAyHT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AAcD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;6FAQnB,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"}
1
+ {"version":3,"file":"CollapsiblePanel.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/CollapsiblePanel/CollapsiblePanel.vue"],"names":[],"mappings":"AA4HA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,KAAK,WAAW,GAAG,qBAAqB,CAAC;AAsBzC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAyHT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AAcD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;6FAQnB,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"}
@@ -1,5 +1,5 @@
1
1
  export type CollapsiblePanelProps = {
2
- title: string;
2
+ headline: string;
3
3
  canBeDismissed?: boolean;
4
4
  };
5
5
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/CollapsiblePanel/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/CollapsiblePanel/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressItem.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/ProgressItem/ProgressItem.vue"],"names":[],"mappings":"AAmIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;;AAiJjD,wBAOG"}
1
+ {"version":3,"file":"ProgressItem.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/ProgressItem/ProgressItem.vue"],"names":[],"mappings":"AAqIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;;AAkJjD,wBAOG"}
@@ -12,7 +12,7 @@ export type ProgressItemAction = {
12
12
  };
13
13
  export type ProgressItemProps = {
14
14
  id: string;
15
- title: string;
15
+ headline: string;
16
16
  icon: KdsIconName;
17
17
  actions: Array<ProgressItemAction>;
18
18
  subtitle?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/ProgressItem/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/dataTransfer/shared/ui/ProgressItem/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B,CAAC"}
@@ -8,23 +8,33 @@ declare const UploadItemStatus: {
8
8
  COMPLETE: "complete";
9
9
  };
10
10
  type Base = {
11
+ /** Unique identifier of the uploaded item. */
11
12
  id: string;
13
+ /** File name of the uploaded item. */
12
14
  name: string;
15
+ /** File size in bytes. */
13
16
  size: number;
17
+ /** Id of the parent folder the item is uploaded into. */
14
18
  parentId: string;
15
19
  };
16
20
  export type WithProgress = Base & {
21
+ /** Upload progress as a fraction between 0 and 1. */
17
22
  progress: number;
23
+ /** Whether the upload is still in progress or has completed. */
18
24
  status: typeof UploadItemStatus.IN_PROGRESS | typeof UploadItemStatus.COMPLETE;
19
25
  };
20
26
  export type WithCancelled = Base & {
27
+ /** Status indicating the upload was cancelled by the user. */
21
28
  status: typeof UploadItemStatus.CANCELLED;
22
29
  };
23
30
  export type WithFailure = Base & {
31
+ /** Status indicating the upload failed. */
24
32
  status: typeof UploadItemStatus.FAILED;
33
+ /** Human-readable explanation of why the upload failed. */
25
34
  failureDetails: string;
26
35
  };
27
36
  export type WithProcessing = Base & {
37
+ /** Status indicating the uploaded file is being processed server-side. */
28
38
  status: typeof UploadItemStatus.PROCESSING;
29
39
  };
30
40
  export type UploadItem = WithProgress | WithCancelled | WithFailure | WithProcessing;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/dataTransfer/upload/ui/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,YAAY,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;AAI/E,QAAA,MAAM,gBAAgB;;;;;;CAGrB,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EACF,OAAO,gBAAgB,CAAC,WAAW,GACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG;IACjC,MAAM,EAAE,OAAO,gBAAgB,CAAC,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC/B,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG;IAClC,MAAM,EAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,aAAa,GACb,WAAW,GACX,cAAc,CAAC;AAEnB,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/dataTransfer/upload/ui/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,YAAY,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;AAI/E,QAAA,MAAM,gBAAgB;;;;;;CAGrB,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IAChC,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,MAAM,EACF,OAAO,gBAAgB,CAAC,WAAW,GACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG;IACjC,8DAA8D;IAC9D,MAAM,EAAE,OAAO,gBAAgB,CAAC,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC/B,2CAA2C;IAC3C,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACvC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG;IAClC,0EAA0E;IAC1E,MAAM,EAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,aAAa,GACb,WAAW,GACX,cAAc,CAAC;AAEnB,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC"}
@@ -32,8 +32,11 @@ export type PortTemplate = {
32
32
  optional?: boolean;
33
33
  };
34
34
  export type DynamicPortGroup = {
35
+ /** Display name for the dynamic port group. */
35
36
  name: string;
37
+ /** Description of the dynamic port group. Can contain raw HTML. */
36
38
  description: string;
39
+ /** Port templates available in this dynamic group. */
37
40
  types: PortTemplate[];
38
41
  };
39
42
  /**
@@ -59,15 +62,23 @@ export type NodeDescriptionOptions = {
59
62
  }>;
60
63
  };
61
64
  export type NodeDescriptionView = {
65
+ /** Display name of the view. */
62
66
  name: string;
67
+ /** Optional description of the view. Can contain raw HTML. */
63
68
  description?: string;
64
69
  };
65
70
  export type NodeDescriptionTabsProps = {
71
+ /** Static input ports of the node. */
66
72
  inputPorts?: PortTemplate[];
73
+ /** Static output ports of the node. */
67
74
  outputPorts?: PortTemplate[];
75
+ /** Dynamic input port groups (e.g. flow variable ports). */
68
76
  dynamicInputPorts?: DynamicPortGroup[];
77
+ /** Dynamic output port groups. */
69
78
  dynamicOutputPorts?: DynamicPortGroup[];
79
+ /** Configuration options organized into sections. */
70
80
  optionsData?: NodeDescriptionOptions[];
81
+ /** Available views (e.g. interactive web views) of the node. */
71
82
  viewsData?: NodeDescriptionView[];
72
83
  /** Text that is shown if no views, options nor ports are provided */
73
84
  emptyText?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/nodes/NodeDescriptionTabs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAElC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mGAAmG;IACnG,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/nodes/NodeDescriptionTabs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,sCAAsC;IACtC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,uCAAuC;IACvC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACxC,qDAAqD;IACrD,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,gEAAgE;IAChE,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAElC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mGAAmG;IACnG,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
@@ -1,7 +1,16 @@
1
1
  import { RFCErrorData } from './types';
2
2
  type Props = {
3
+ /**
4
+ * Toast headline shown in the toast title bar. Not rendered inside this
5
+ * template, but included when serializing the error to the clipboard.
6
+ */
3
7
  headline: string;
8
+ /** Whether to show the "Copy error to clipboard" button. */
4
9
  canCopyToClipboard?: boolean;
10
+ /**
11
+ * Custom serializer for the clipboard payload. Defaults to
12
+ * `serializeRFCErrorData` which formats the full error as text.
13
+ */
5
14
  serializeErrorForClipboard?: (error: RFCErrorData, headline: string, formatDate: (date: Date) => string) => string;
6
15
  } & RFCErrorData;
7
16
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1 +1 @@
1
- {"version":3,"file":"RFCErrorToastTemplate.vue.d.ts","sourceRoot":"","sources":["../../../src/rfcErrors/RFCErrorToastTemplate.vue"],"names":[],"mappings":"AA8IA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0BAA0B,CAAC,EAAE,CAC3B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,KAC/B,MAAM,CAAC;CACb,GAAG,YAAY,CAAC;;;;;;AAmNjB,wBAQG"}
1
+ {"version":3,"file":"RFCErrorToastTemplate.vue.d.ts","sourceRoot":"","sources":["../../../src/rfcErrors/RFCErrorToastTemplate.vue"],"names":[],"mappings":"AAuJA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,KAAK,KAAK,GAAG;IACX;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,CAC3B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,KAC/B,MAAM,CAAC;CACb,GAAG,YAAY,CAAC;;;;;;AAmNjB,wBAQG"}
@@ -4,10 +4,15 @@
4
4
  * https://knime-com.atlassian.net/wiki/spaces/SPECS/pages/4126769212/API+Errors+Problem+Details
5
5
  */
6
6
  export type RFCErrorData = {
7
+ /** Short human-readable summary of the error. */
7
8
  title: string;
9
+ /** HTTP status code associated with the error. */
8
10
  status?: number;
11
+ /** Date/time when the error occurred. */
9
12
  date?: Date;
13
+ /** Additional human-readable detail messages. */
10
14
  details?: string[];
15
+ /** Correlation id for the request that triggered the error. */
11
16
  requestId?: string;
12
17
  /**
13
18
  * Id used to find an error in the Hub logs. Specially relevant
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rfcErrors/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,YAAY,CAAC;gBAEP,IAAI,EAAE,YAAY;CAI/B;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rfcErrors/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,YAAY,CAAC;gBAEP,IAAI,EAAE,YAAY;CAI/B;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH,CAAC"}
@@ -23,15 +23,18 @@ type ToastButtonWithIcon = {
23
23
  * The icon to be displayed alongside with, or instead of the button text.
24
24
  */
25
25
  icon: KdsIconName;
26
+ /** Accessible label for the button, required when no text is shown. */
26
27
  ariaLabel: string;
27
28
  text?: never;
28
29
  };
29
30
  type ToastButtonWithText = {
31
+ /** Optional icon displayed alongside the button text. */
30
32
  icon?: KdsIconName;
31
33
  /**
32
34
  * The text content to be displayed on the button.
33
35
  */
34
36
  text: string;
37
+ /** Accessible label for the button. Falls back to the text content when omitted. */
35
38
  ariaLabel?: string;
36
39
  };
37
40
  export type ToastButton = BaseToastButton & (ToastButtonWithIcon | ToastButtonWithText);
@@ -48,6 +51,7 @@ export type Toast = {
48
51
  * Message to be displayed.
49
52
  */
50
53
  message?: string;
54
+ /** Action buttons displayed at the bottom of the toast. */
51
55
  buttons?: ToastButton[];
52
56
  /**
53
57
  * Component to be displayed as toast content. Only used for RFC errors
@@ -60,12 +64,14 @@ export type Toast = {
60
64
  * time before all auto-removable toasts are dismissed.
61
65
  */
62
66
  autoRemove?: boolean;
67
+ /** Whether the toast is currently active (visible and animating). */
63
68
  active?: boolean;
64
69
  /**
65
70
  * If set, only one toast with the same key will be in the stack.
66
71
  * If a new toast with the same key is added, it will be dropped.
67
72
  */
68
73
  deduplicationKey?: string;
74
+ /** Arbitrary metadata attached to the toast, available to consumers. */
69
75
  meta?: Record<string, unknown>;
70
76
  /**
71
77
  * If set to false the toast cannot be dismissed by the user.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/toasts/Toast/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEtE,KAAK,eAAe,GAAG;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GACvC,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAC;AAE9C,MAAM,MAAM,KAAK,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/toasts/Toast/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEtE,KAAK,eAAe,GAAG;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,yDAAyD;IACzD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GACvC,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAC;AAE9C,MAAM,MAAM,KAAK,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export type ToastStackProps = {
2
+ /** Symbol identifying which toast service's toasts to render. `null` renders the global service. */
2
3
  serviceSymbol?: symbol | null;
4
+ /** Property name on the host component to bind the toast service to. */
3
5
  propertyName?: string | null;
4
6
  };
5
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/toasts/ToastStack/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/toasts/ToastStack/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,oGAAoG;IACpG,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export type CreateVersionFormProps = {
2
+ /** Whether the version creation request is currently in flight (disables the form). */
2
3
  isCreationPending?: boolean;
3
4
  };
4
5
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/versions/CreateVersionForm/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/versions/CreateVersionForm/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryEventFooter.vue.d.ts","sourceRoot":"","sources":["../../../../src/versions/VersionHistory/HistoryEventFooter.vue"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;;AAyEF,wBAOG"}
1
+ {"version":3,"file":"HistoryEventFooter.vue.d.ts","sourceRoot":"","sources":["../../../../src/versions/VersionHistory/HistoryEventFooter.vue"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;;AAwEF,wBAOG"}
@@ -139,8 +139,10 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
139
139
  anchorStyle: Record<string, string>;
140
140
  popoverId: string;
141
141
  } & {} & import('vue').ComponentCustomProperties & {} & {
142
- $slots: {
143
- default?(_: {}): any;
142
+ $slots: Readonly<{
143
+ default(): unknown;
144
+ }> & {
145
+ default(): unknown;
144
146
  };
145
147
  }) | null;
146
148
  }, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"VersionLabel.vue.d.ts","sourceRoot":"","sources":["../../../../src/versions/VersionHistory/VersionLabel.vue"],"names":[],"mappings":"AA+EA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG,KAAK,CAAC;AAUzB,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAwImtlB,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAhBz1lB,wBAQG"}
1
+ {"version":3,"file":"VersionLabel.vue.d.ts","sourceRoot":"","sources":["../../../../src/versions/VersionHistory/VersionLabel.vue"],"names":[],"mappings":"AA+EA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG,KAAK,CAAC;AAUzB,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAwImtlB,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAhBz1lB,wBAQG"}
@@ -1,28 +1,44 @@
1
1
  import { CURRENT_STATE_VERSION, MOST_RECENT_VERSION } from './constants';
2
2
  export type NamedItemVersion = {
3
+ /** Version number, or one of the sentinel constants `CURRENT_STATE_VERSION` / `MOST_RECENT_VERSION`. */
3
4
  version: number | typeof CURRENT_STATE_VERSION | typeof MOST_RECENT_VERSION;
5
+ /** Human-readable title of the version. */
4
6
  title: string;
7
+ /** Optional description of what changed in this version. */
5
8
  description?: string;
9
+ /** Display name of the author who created the version. */
6
10
  author: string;
11
+ /** Account id of the author who created the version. */
7
12
  authorAccountId?: string;
13
+ /** ISO timestamp when the version was created. */
8
14
  createdOn: string;
9
15
  };
10
16
  export type AssignedLabel = {
17
+ /** Unique identifier of the assigned label. */
11
18
  labelId: string;
19
+ /** Optional message attached to the label assignment. */
12
20
  message?: string;
21
+ /** ISO timestamp when the label was assigned. */
13
22
  createdAt?: string;
23
+ /** Account id of the user who assigned the label. */
14
24
  createdBy?: string;
25
+ /** The label definition. */
15
26
  label: {
27
+ /** Display name of the label. */
16
28
  name: string;
29
+ /** Description of the label. */
17
30
  description: string;
18
31
  };
19
32
  };
33
+ /** Adds avatar information (name + optional image) to a version or savepoint. */
20
34
  export type WithAvatar = {
35
+ /** Avatar data: display name and optional image source URL. */
21
36
  avatar: {
22
37
  name: string;
23
38
  src?: string;
24
39
  };
25
40
  };
41
+ /** Adds label assignments to a version or savepoint. */
26
42
  export type WithLabels = {
27
43
  labels: Array<AssignedLabel>;
28
44
  };
@@ -34,29 +50,49 @@ type ItemChange = {
34
50
  authorAccountId?: string;
35
51
  };
36
52
  export type ItemSavepoint = {
53
+ /** Display name of the author who last edited the savepoint. */
37
54
  author: string;
55
+ /** Account id of the author who last edited the savepoint. */
38
56
  authorAccountId?: string;
57
+ /** ISO timestamp of the last edit. */
39
58
  lastEditedOn: string;
59
+ /** Monotonically increasing savepoint number. */
40
60
  savepointNumber: number;
61
+ /** The version this savepoint belongs to, if it has been versioned. */
41
62
  version?: NamedItemVersion;
63
+ /** UUID of the item version, if versioned. */
42
64
  itemVersionId?: string;
65
+ /** List of changes recorded in this savepoint. */
43
66
  changes: Array<ItemChange>;
44
67
  };
45
68
  export type VersionLimit = {
69
+ /** How many versions have been created so far. */
46
70
  currentUsage: number;
71
+ /** Maximum number of allowed versions. `undefined` means unlimited. */
47
72
  limit?: number;
48
73
  };
49
74
  export type VersionHistoryProps = {
75
+ /** Whether the item has uncommitted/unversioned changes since the last savepoint. */
50
76
  hasUnversionedChanges: boolean;
77
+ /** The unversioned savepoint shown above the version list, or `null` if there is none. */
51
78
  unversionedSavepoint?: (ItemSavepoint & WithAvatar & WithLabels) | null;
79
+ /** The currently selected version, or `null` if nothing is selected. */
52
80
  currentVersion: NamedItemVersion["version"] | null;
81
+ /** Ordered list of named versions with avatar and label data. */
53
82
  versionHistory: Array<NamedItemVersion & WithAvatar & WithLabels>;
83
+ /** Whether older versions are currently being loaded. */
54
84
  loading: boolean;
85
+ /** Whether all versions have been loaded (hides the "load more" button). */
55
86
  hasLoadedAllVersions: boolean;
87
+ /** Whether the current user has admin rights (can delete versions). */
56
88
  hasAdminRights: boolean;
89
+ /** Whether the current user has edit capability (can create/restore versions). */
57
90
  hasEditCapability: boolean;
91
+ /** Version count limits for the current space. */
58
92
  versionLimit?: VersionLimit;
93
+ /** URL to a pricing/upgrade page shown when the version limit is reached. */
59
94
  upgradeUrl?: string;
95
+ /** Whether the item lives in a private space (affects limit messaging). */
60
96
  isPrivate?: boolean;
61
97
  };
62
98
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/versions/VersionHistory/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,GAAG,OAAO,qBAAqB,GAAG,OAAO,mBAAmB,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;CAAE,CAAC;AAE1D,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;IACxE,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACnD,cAAc,EAAE,KAAK,CAAC,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/versions/VersionHistory/types.ts"],"names":[],"mappings":"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"}
package/dist/toasts.css CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  .toast {
3
- &[data-v-9841e244] {
4
- --main-color: var(--dfdf62ea);
5
- --background-color: var(--v6c951376);
6
- --border-color: var(--v1717c890);
3
+ &[data-v-2b8d7fd1] {
4
+ --main-color: var(--f2f3d888);
5
+ --background-color: var(--v42f46fe7);
6
+ --border-color: var(--v248d58a9);
7
7
 
8
8
  position: relative;
9
9
  width: var(--kds-dimension-component-width-25x);
@@ -16,12 +16,12 @@
16
16
  box-shadow: var(--kds-elevation-level-3);
17
17
  transition: all 0.3s;
18
18
  }
19
- & .container[data-v-9841e244] {
19
+ & .container[data-v-2b8d7fd1] {
20
20
  display: flex;
21
21
  flex-direction: row;
22
22
  gap: var(--kds-spacing-container-0-5x);
23
23
  }
24
- & .type-indicator[data-v-9841e244] {
24
+ & .type-indicator[data-v-2b8d7fd1] {
25
25
  display: flex;
26
26
  flex-shrink: 0;
27
27
  flex-direction: column;
@@ -29,37 +29,37 @@
29
29
  color: var(--main-color);
30
30
  }
31
31
  & .content {
32
- &[data-v-9841e244] {
32
+ &[data-v-2b8d7fd1] {
33
33
  display: flex;
34
34
  flex-grow: 1;
35
35
  flex-direction: column;
36
36
  gap: var(--kds-spacing-container-0-5x);
37
37
  max-width: 100%;
38
38
  }
39
- & .headline-wrapper[data-v-9841e244] {
39
+ & .headline-wrapper[data-v-2b8d7fd1] {
40
40
  display: flex;
41
41
  align-items: center;
42
42
  justify-content: space-between;
43
43
  height: var(--kds-dimension-component-height-1-25x);
44
44
  }
45
- & .headline[data-v-9841e244] {
45
+ & .headline[data-v-2b8d7fd1] {
46
46
  font: var(--kds-font-base-title-small-strong);
47
47
  color: var(--kds-color-text-and-icon-neutral);
48
48
  }
49
- & .message[data-v-9841e244] {
49
+ & .message[data-v-2b8d7fd1] {
50
50
  max-height: var(--kds-dimension-component-height-45x);
51
51
  font: var(--kds-font-base-body-small);
52
52
  color: var(--kds-color-text-and-icon-neutral);
53
53
  overflow-wrap: anywhere;
54
54
  white-space: break-spaces;
55
55
  }
56
- & .buttons[data-v-9841e244] {
56
+ & .buttons[data-v-2b8d7fd1] {
57
57
  display: flex;
58
58
  flex-direction: row;
59
59
  gap: var(--kds-spacing-container-0-5x);
60
60
  }
61
61
  }
62
- & .progress-bar[data-v-9841e244] {
62
+ & .progress-bar[data-v-2b8d7fd1] {
63
63
  --progress-bar-transition-duration: 0s;
64
64
  --progress-bar-foreground-color: var(--main-color);
65
65
 
@@ -70,7 +70,7 @@
70
70
  display: none;
71
71
  width: auto;
72
72
  }
73
- &.auto-remove .progress-bar[data-v-9841e244] {
73
+ &.auto-remove .progress-bar[data-v-2b8d7fd1] {
74
74
  display: initial;
75
75
  }
76
76
  }
package/dist/toasts.js CHANGED
@@ -109,9 +109,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
109
109
  emits: ["remove", "autoRemove"],
110
110
  setup(__props, { emit: __emit }) {
111
111
  useCssVars((_ctx) => ({
112
- "dfdf62ea": mainColor.value,
113
- "v6c951376": backgroundColor.value,
114
- "v1717c890": borderColor.value
112
+ "f2f3d888": mainColor.value,
113
+ "v42f46fe7": backgroundColor.value,
114
+ "v248d58a9": borderColor.value
115
115
  }));
116
116
  const availableHeadline = computed(() => {
117
117
  return __props.headline ? __props.headline : capitalize(__props.type);
@@ -257,7 +257,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
257
257
  "data-test-id": "dismiss",
258
258
  variant: "transparent",
259
259
  size: "xsmall",
260
- title: "Dismiss message",
260
+ tooltip: "Dismiss message",
261
261
  ariaLabel: "Dismiss message",
262
262
  "leading-icon": "x-close",
263
263
  onClick: _cache[0] || (_cache[0] = ($event) => emit("remove"))
@@ -298,7 +298,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
298
298
  }
299
299
  });
300
300
 
301
- const Toast = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-9841e244"]]);
301
+ const Toast = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-2b8d7fd1"]]);
302
302
 
303
303
  const defaultToastServiceSymbol = /* @__PURE__ */ Symbol("toast");
304
304
  const defaultGlobalPropertyName = "$toast";