@conduction/nextcloud-vue 2.119.0 → 2.121.0
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/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue.js +9 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue.js.map +1 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue2.js +226 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue3.js +211 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue.js +9 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue.js.map +1 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue2.js +64 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue2.js.map +1 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue3.js +89 -0
- package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue3.js.map +1 -0
- package/dist/esm/components/CnIcon/semanticIcons.js +2 -2
- package/dist/esm/components/CnIcon/semanticIcons.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +53 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +546 -523
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/useNamedSource.js +9 -0
- package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
- package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue.js +9 -0
- package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue.js.map +1 -0
- package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue2.js +257 -0
- package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue2.js.map +1 -0
- package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue3.js +266 -0
- package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue3.js.map +1 -0
- package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue.js +1 -1
- package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue2.js +14 -7
- package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue.js +9 -0
- package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue.js.map +1 -0
- package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue2.js +278 -0
- package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue3.js +128 -0
- package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue.js +9 -0
- package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue.js.map +1 -0
- package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue2.js +214 -0
- package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue2.js.map +1 -0
- package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue3.js +125 -0
- package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue3.js.map +1 -0
- package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue.js +9 -0
- package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue.js.map +1 -0
- package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue2.js +163 -0
- package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue3.js +131 -0
- package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnSchemaRulesWidget/schemaRules.js +127 -0
- package/dist/esm/components/CnSchemaRulesWidget/schemaRules.js.map +1 -0
- package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue.js +9 -0
- package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue.js.map +1 -0
- package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue2.js +82 -0
- package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue2.js.map +1 -0
- package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue3.js +61 -0
- package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue3.js.map +1 -0
- package/dist/esm/components/CnSearchIndexStatus/searchIndexStatus.js +60 -0
- package/dist/esm/components/CnSearchIndexStatus/searchIndexStatus.js.map +1 -0
- package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue.js +10 -0
- package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue.js.map +1 -0
- package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue2.js +226 -0
- package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue2.js.map +1 -0
- package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue3.js +126 -0
- package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue3.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue.js +10 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue2.js +944 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue2.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue3.js +276 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue3.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue.js +9 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue2.js +354 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue2.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue3.js +392 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue3.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue.js +9 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue2.js +180 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue2.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue3.js +208 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue3.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue.js +9 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue2.js +244 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue2.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue3.js +76 -0
- package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue3.js.map +1 -0
- package/dist/esm/components/CnStateMachineEditor/stateMachineFields.js +290 -0
- package/dist/esm/components/CnStateMachineEditor/stateMachineFields.js.map +1 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue.js +9 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue.js.map +1 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue2.js +448 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue2.js.map +1 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue3.js +303 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue3.js.map +1 -0
- package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue.js +1 -1
- package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue2.js +19 -2
- package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue3.js +73 -62
- package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnWidgetGrid/builtInWidgets.js +6 -0
- package/dist/esm/components/CnWidgetGrid/builtInWidgets.js.map +1 -1
- package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +42 -32
- package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
- package/dist/esm/composables/indexSources.js +116 -16
- package/dist/esm/composables/indexSources.js.map +1 -1
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/l10n/en.json.js +207 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +207 -1
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/library-style.js +1 -1
- package/dist/esm/nextcloud-vue.css +951 -16
- package/dist/esm/utils/aiFeatures.js +245 -0
- package/dist/esm/utils/aiFeatures.js.map +1 -0
- package/dist/esm/utils/aiSuggestionTracker.js +182 -0
- package/dist/esm/utils/aiSuggestionTracker.js.map +1 -0
- package/dist/esm/utils/libraryWidgetKeys.js +2 -0
- package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
- package/dist/esm/utils/objectPermissions.js +552 -0
- package/dist/esm/utils/objectPermissions.js.map +1 -0
- package/dist/esm/utils/objectTranslations.js +180 -0
- package/dist/esm/utils/objectTranslations.js.map +1 -0
- package/dist/esm/utils/stateMachineValidation.js +254 -0
- package/dist/esm/utils/stateMachineValidation.js.map +1 -0
- package/dist/esm/utils/widgetDispatch.js +3 -1
- package/dist/esm/utils/widgetDispatch.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +23038 -14567
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +951 -16
- package/l10n/en.json +207 -1
- package/l10n/nl.json +207 -1
- package/package.json +1 -1
- package/src/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue +416 -0
- package/src/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue +136 -0
- package/src/components/CnAiFeaturesWidget/__tests__/CnAiFeaturesWidget.spec.js +213 -0
- package/src/components/CnAiFeaturesWidget/index.js +14 -0
- package/src/components/CnIndexPage/CnIndexPage.vue +74 -3
- package/src/components/CnIndexPage/useNamedSource.js +9 -0
- package/src/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue +499 -0
- package/src/components/CnObjectPermissionsTab/__tests__/CnObjectPermissionsTab.spec.js +186 -0
- package/src/components/CnObjectPermissionsTab/index.js +13 -0
- package/src/components/CnObjectSidebar/CnObjectSidebar.vue +8 -1
- package/src/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue +424 -0
- package/src/components/CnObjectTranslationsWidget/__tests__/CnObjectTranslationsWidget.spec.js +189 -0
- package/src/components/CnObjectTranslationsWidget/index.js +13 -0
- package/src/components/CnReadinessChecklist/CnReadinessChecklist.vue +335 -0
- package/src/components/CnReadinessChecklist/index.js +9 -0
- package/src/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue +300 -0
- package/src/components/CnSchemaRulesWidget/index.js +10 -0
- package/src/components/CnSchemaRulesWidget/schemaRules.js +123 -0
- package/src/components/CnSearchIndexStatus/CnSearchIndexStatus.vue +160 -0
- package/src/components/CnSearchIndexStatus/index.js +10 -0
- package/src/components/CnSearchIndexStatus/searchIndexStatus.js +56 -0
- package/src/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue +328 -0
- package/src/components/CnShippedConfigurationSection/index.js +9 -0
- package/src/components/CnStateMachineEditor/CnStateMachineEditor.vue +1332 -0
- package/src/components/CnStateMachineEditor/CnStateMachineFields.vue +791 -0
- package/src/components/CnStateMachineEditor/CnStateMachineNode.vue +442 -0
- package/src/components/CnStateMachineEditor/CnStateMachinePanel.vue +326 -0
- package/src/components/CnStateMachineEditor/index.js +8 -0
- package/src/components/CnStateMachineEditor/stateMachineFields.js +287 -0
- package/src/components/CnTimelineWidget/CnTimelineManage.vue +827 -0
- package/src/components/CnTimelineWidget/CnTimelineWidget.vue +29 -3
- package/src/components/CnWidgetGrid/builtInWidgets.js +6 -0
- package/src/components/CnWidgetGrid/registerDashboardWidgets.js +10 -0
- package/src/components/index.js +8 -0
- package/src/composables/indexSources.js +116 -16
- package/src/css/index-page.css +7 -0
- package/src/index.js +9 -0
- package/src/utils/aiFeatures.js +241 -0
- package/src/utils/aiSuggestionTracker.js +178 -0
- package/src/utils/libraryWidgetKeys.js +2 -0
- package/src/utils/objectPermissions.js +548 -0
- package/src/utils/objectTranslations.js +176 -0
- package/src/utils/stateMachineValidation.js +250 -0
- package/src/utils/widgetDispatch.js +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CnAiSuggestionDecision.vue2.js","sources":["../../../../src/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue"],"sourcesContent":["<!--\n SPDX-FileCopyrightText: 2026 Conduction B.V.\n SPDX-License-Identifier: EUPL-1.2\n\n What the person does with one AI suggestion: use it, adapt it, or reject it.\n Using it copies it to the clipboard. Emits `decide` with\n `{ userAction, actualValue? }` for the oversight trail.\n-->\n<template>\n\t<div class=\"cn-ai-suggestion-decision\" :data-testid=\"testid\">\n\t\t<p v-if=\"decided\"\n\t\t\tclass=\"cn-ai-suggestion-decision__done\"\n\t\t\trole=\"status\"\n\t\t\t:data-testid=\"`${testid}-done`\">\n\t\t\t{{ decided }}\n\t\t</p>\n\t\t<template v-else>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label :for=\"`${testid}-draft`\">\n\t\t\t\t\t{{ t('nextcloud-vue', 'Your version') }}\n\t\t\t\t</label>\n\t\t\t\t<textarea :id=\"`${testid}-draft`\"\n\t\t\t\t\tv-model=\"draft\"\n\t\t\t\t\trows=\"4\"\n\t\t\t\t\t:data-testid=\"`${testid}-draft`\" />\n\t\t\t</template>\n\t\t\t<div class=\"cn-ai-suggestion-decision__actions\">\n\t\t\t\t<NcButton v-if=\"editing\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t:data-testid=\"`${testid}-use-adapted`\"\n\t\t\t\t\t@click=\"decide('modified')\">\n\t\t\t\t\t{{ t('nextcloud-vue', 'Use my version') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<NcButton variant=\"primary\"\n\t\t\t\t\t\t:data-testid=\"`${testid}-use`\"\n\t\t\t\t\t\t@click=\"decide('accepted')\">\n\t\t\t\t\t\t{{ t('nextcloud-vue', 'Use this') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :data-testid=\"`${testid}-adapt`\" @click=\"startEditing\">\n\t\t\t\t\t\t{{ t('nextcloud-vue', 'Adapt') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</template>\n\t\t\t\t<NcButton variant=\"tertiary\"\n\t\t\t\t\t:data-testid=\"`${testid}-reject`\"\n\t\t\t\t\t@click=\"decide('rejected')\">\n\t\t\t\t\t{{ t('nextcloud-vue', 'Reject') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { translate as t } from '@nextcloud/l10n'\nimport { NcButton } from '@nextcloud/vue'\n\nexport default {\n\tname: 'CnAiSuggestionDecision',\n\tcomponents: { NcButton },\n\n\tprops: {\n\t\t/** The suggestion text. */\n\t\ttext: { type: String, required: true },\n\t\t/** Test id prefix, also the base of the draft field id. */\n\t\ttestid: { type: String, default: 'cn-ai-suggestion-decision' },\n\t},\n\n\temits: ['decide'],\n\n\tdata() {\n\t\treturn { editing: false, draft: '', decided: '' }\n\t},\n\n\twatch: {\n\t\ttext() {\n\t\t\tthis.editing = false\n\t\t\tthis.draft = ''\n\t\t\tthis.decided = ''\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tstartEditing() {\n\t\t\tthis.draft = this.text\n\t\t\tthis.editing = true\n\t\t},\n\n\t\t/**\n\t\t * Report the decision, and copy a used suggestion to the clipboard.\n\t\t *\n\t\t * @param {string} userAction accepted, modified or rejected.\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync decide(userAction) {\n\t\t\tconst used = userAction === 'modified' ? this.draft : this.text\n\t\t\tthis.$emit('decide', { userAction, actualValue: userAction === 'modified' ? this.draft : undefined })\n\t\t\tthis.decided = {\n\t\t\t\taccepted: t('nextcloud-vue', 'Used. Copied to your clipboard.'),\n\t\t\t\tmodified: t('nextcloud-vue', 'Your version is used. Copied to your clipboard.'),\n\t\t\t\trejected: t('nextcloud-vue', 'Rejected.'),\n\t\t\t}[userAction]\n\t\t\tif (userAction === 'rejected') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(used)\n\t\t\t} catch {\n\t\t\t\tthis.decided = userAction === 'modified' ? t('nextcloud-vue', 'Your version is used.') : t('nextcloud-vue', 'Used.')\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n.cn-ai-suggestion-decision {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tmargin-top: 8px;\n}\n\n.cn-ai-suggestion-decision__actions {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px;\n}\n\n.cn-ai-suggestion-decision__done {\n\tcolor: var(--color-text-maxcontrast);\n\tfont-size: 0.85em;\n}\n</style>\n"],"names":["t"],"mappings":";;;AAyDA,aAAe;CACd,IAAI,EAAE,wBAAwB;AAC9B,CAAA,UAAU,EAAE,EAAE,UAAU;;AAExB,CAAA,KAAK,EAAE;;AAEN,EAAA,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;EAEtC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA0B,EAAG;EAC9D;;AAED,CAAA,KAAK,EAAE,CAAC,QAAQ,CAAC;;AAEjB,CAAA,IAAI,GAAG;AACN,EAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAG,EAAA;EAChD;;AAED,CAAA,KAAK,EAAE;AACN,EAAA,IAAI,GAAG;AACN,GAAA,IAAI,CAAC,OAAQ,GAAE,MAAI;GACnB,IAAI,CAAC,KAAM,GAAE,GAAC;AACd,GAAA,IAAI,CAAC,OAAQ,GAAE,GAAC;GAChB;EACD;;AAED,CAAA,OAAO,EAAE;KACRA,SAAC;;AAED,EAAA,YAAY,GAAG;AACd,GAAA,IAAI,CAAC,KAAM,GAAE,IAAI,CAAC,KAAG;AACrB,GAAA,IAAI,CAAC,OAAM,GAAI,KAAG;GAClB;;AAED;;AAEC;;;;EAID,MAAM,MAAM,CAAC,UAAU,EAAE;GACxB,MAAM,IAAK,GAAE,eAAe,UAAS,GAAI,IAAI,CAAC,KAAM,GAAE,IAAI,CAAC,KAAG;AAC9D,GAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,UAAW,KAAI,UAAS,GAAI,IAAI,CAAC,KAAI,GAAI,WAAW,EAAA;GACpG,IAAI,CAAC,OAAM,GAAI;IACd,QAAQ,EAAEA,SAAC,CAAC,eAAe,EAAE,iCAAiC,CAAC;AAC/D,IAAA,QAAQ,EAAEA,SAAC,CAAC,eAAe,EAAE,iDAAiD,CAAC;AAC/E,IAAA,QAAQ,EAAEA,SAAC,CAAC,eAAe,EAAE,WAAW,CAAC;IACzC,CAAC,UAAU,EAAA;GACZ,IAAI,UAAS,KAAM,UAAU,EAAE;IAC9B,MAAK;AACN,IAAA;AACA,GAAA,IAAI;AACH,IAAA,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAA;AACzC,IAAA,CAAE,MAAM;IACP,IAAI,CAAC,OAAM,GAAI,UAAS,KAAM,UAAS,GAAIA,SAAC,CAAC,eAAe,EAAE,uBAAuB,CAAE,GAAEA,SAAC,CAAC,eAAe,EAAE,OAAO,EAAA;AACpH,IAAA;GACA;EACD;AACF;;;;"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { resolveComponent, openBlock, createElementBlock, toDisplayString, Fragment, createElementVNode, withDirectives, vModelText, createCommentVNode, createBlock, withCtx, createTextVNode, createVNode } from 'vue';
|
|
2
|
+
|
|
3
|
+
const _hoisted_1 = ["data-testid"];
|
|
4
|
+
const _hoisted_2 = ["data-testid"];
|
|
5
|
+
const _hoisted_3 = ["for"];
|
|
6
|
+
const _hoisted_4 = ["id", "data-testid"];
|
|
7
|
+
const _hoisted_5 = { class: "cn-ai-suggestion-decision__actions" };
|
|
8
|
+
|
|
9
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
10
|
+
const _component_NcButton = resolveComponent("NcButton");
|
|
11
|
+
|
|
12
|
+
return (openBlock(), createElementBlock("div", {
|
|
13
|
+
class: "cn-ai-suggestion-decision",
|
|
14
|
+
"data-testid": $props.testid
|
|
15
|
+
}, [
|
|
16
|
+
($data.decided)
|
|
17
|
+
? (openBlock(), createElementBlock("p", {
|
|
18
|
+
key: 0,
|
|
19
|
+
class: "cn-ai-suggestion-decision__done",
|
|
20
|
+
role: "status",
|
|
21
|
+
"data-testid": `${$props.testid}-done`
|
|
22
|
+
}, toDisplayString($data.decided), 9 /* TEXT, PROPS */, _hoisted_2))
|
|
23
|
+
: (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
24
|
+
($data.editing)
|
|
25
|
+
? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
26
|
+
createElementVNode("label", {
|
|
27
|
+
for: `${$props.testid}-draft`
|
|
28
|
+
}, toDisplayString($options.t('nextcloud-vue', 'Your version')), 9 /* TEXT, PROPS */, _hoisted_3),
|
|
29
|
+
withDirectives(createElementVNode("textarea", {
|
|
30
|
+
id: `${$props.testid}-draft`,
|
|
31
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.draft) = $event)),
|
|
32
|
+
rows: "4",
|
|
33
|
+
"data-testid": `${$props.testid}-draft`
|
|
34
|
+
}, null, 8 /* PROPS */, _hoisted_4), [
|
|
35
|
+
[vModelText, $data.draft]
|
|
36
|
+
])
|
|
37
|
+
], 64 /* STABLE_FRAGMENT */))
|
|
38
|
+
: createCommentVNode("v-if", true),
|
|
39
|
+
createElementVNode("div", _hoisted_5, [
|
|
40
|
+
($data.editing)
|
|
41
|
+
? (openBlock(), createBlock(_component_NcButton, {
|
|
42
|
+
key: 0,
|
|
43
|
+
variant: "primary",
|
|
44
|
+
"data-testid": `${$props.testid}-use-adapted`,
|
|
45
|
+
onClick: _cache[1] || (_cache[1] = $event => ($options.decide('modified')))
|
|
46
|
+
}, {
|
|
47
|
+
default: withCtx(() => [
|
|
48
|
+
createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Use my version')), 1 /* TEXT */)
|
|
49
|
+
]),
|
|
50
|
+
_: 1 /* STABLE */
|
|
51
|
+
}, 8 /* PROPS */, ["data-testid"]))
|
|
52
|
+
: (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
53
|
+
createVNode(_component_NcButton, {
|
|
54
|
+
variant: "primary",
|
|
55
|
+
"data-testid": `${$props.testid}-use`,
|
|
56
|
+
onClick: _cache[2] || (_cache[2] = $event => ($options.decide('accepted')))
|
|
57
|
+
}, {
|
|
58
|
+
default: withCtx(() => [
|
|
59
|
+
createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Use this')), 1 /* TEXT */)
|
|
60
|
+
]),
|
|
61
|
+
_: 1 /* STABLE */
|
|
62
|
+
}, 8 /* PROPS */, ["data-testid"]),
|
|
63
|
+
createVNode(_component_NcButton, {
|
|
64
|
+
"data-testid": `${$props.testid}-adapt`,
|
|
65
|
+
onClick: $options.startEditing
|
|
66
|
+
}, {
|
|
67
|
+
default: withCtx(() => [
|
|
68
|
+
createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Adapt')), 1 /* TEXT */)
|
|
69
|
+
]),
|
|
70
|
+
_: 1 /* STABLE */
|
|
71
|
+
}, 8 /* PROPS */, ["data-testid", "onClick"])
|
|
72
|
+
], 64 /* STABLE_FRAGMENT */)),
|
|
73
|
+
createVNode(_component_NcButton, {
|
|
74
|
+
variant: "tertiary",
|
|
75
|
+
"data-testid": `${$props.testid}-reject`,
|
|
76
|
+
onClick: _cache[3] || (_cache[3] = $event => ($options.decide('rejected')))
|
|
77
|
+
}, {
|
|
78
|
+
default: withCtx(() => [
|
|
79
|
+
createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Reject')), 1 /* TEXT */)
|
|
80
|
+
]),
|
|
81
|
+
_: 1 /* STABLE */
|
|
82
|
+
}, 8 /* PROPS */, ["data-testid"])
|
|
83
|
+
])
|
|
84
|
+
], 64 /* STABLE_FRAGMENT */))
|
|
85
|
+
], 8 /* PROPS */, _hoisted_1))
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { render };
|
|
89
|
+
//# sourceMappingURL=CnAiSuggestionDecision.vue3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CnAiSuggestionDecision.vue3.js","sources":["../../../../src/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue?vue&type=template&id=77db0b7a&lang.js"],"sourcesContent":["<!--\n SPDX-FileCopyrightText: 2026 Conduction B.V.\n SPDX-License-Identifier: EUPL-1.2\n\n What the person does with one AI suggestion: use it, adapt it, or reject it.\n Using it copies it to the clipboard. Emits `decide` with\n `{ userAction, actualValue? }` for the oversight trail.\n-->\n<template>\n\t<div class=\"cn-ai-suggestion-decision\" :data-testid=\"testid\">\n\t\t<p v-if=\"decided\"\n\t\t\tclass=\"cn-ai-suggestion-decision__done\"\n\t\t\trole=\"status\"\n\t\t\t:data-testid=\"`${testid}-done`\">\n\t\t\t{{ decided }}\n\t\t</p>\n\t\t<template v-else>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label :for=\"`${testid}-draft`\">\n\t\t\t\t\t{{ t('nextcloud-vue', 'Your version') }}\n\t\t\t\t</label>\n\t\t\t\t<textarea :id=\"`${testid}-draft`\"\n\t\t\t\t\tv-model=\"draft\"\n\t\t\t\t\trows=\"4\"\n\t\t\t\t\t:data-testid=\"`${testid}-draft`\" />\n\t\t\t</template>\n\t\t\t<div class=\"cn-ai-suggestion-decision__actions\">\n\t\t\t\t<NcButton v-if=\"editing\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t:data-testid=\"`${testid}-use-adapted`\"\n\t\t\t\t\t@click=\"decide('modified')\">\n\t\t\t\t\t{{ t('nextcloud-vue', 'Use my version') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<NcButton variant=\"primary\"\n\t\t\t\t\t\t:data-testid=\"`${testid}-use`\"\n\t\t\t\t\t\t@click=\"decide('accepted')\">\n\t\t\t\t\t\t{{ t('nextcloud-vue', 'Use this') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :data-testid=\"`${testid}-adapt`\" @click=\"startEditing\">\n\t\t\t\t\t\t{{ t('nextcloud-vue', 'Adapt') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</template>\n\t\t\t\t<NcButton variant=\"tertiary\"\n\t\t\t\t\t:data-testid=\"`${testid}-reject`\"\n\t\t\t\t\t@click=\"decide('rejected')\">\n\t\t\t\t\t{{ t('nextcloud-vue', 'Reject') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { translate as t } from '@nextcloud/l10n'\nimport { NcButton } from '@nextcloud/vue'\n\nexport default {\n\tname: 'CnAiSuggestionDecision',\n\tcomponents: { NcButton },\n\n\tprops: {\n\t\t/** The suggestion text. */\n\t\ttext: { type: String, required: true },\n\t\t/** Test id prefix, also the base of the draft field id. */\n\t\ttestid: { type: String, default: 'cn-ai-suggestion-decision' },\n\t},\n\n\temits: ['decide'],\n\n\tdata() {\n\t\treturn { editing: false, draft: '', decided: '' }\n\t},\n\n\twatch: {\n\t\ttext() {\n\t\t\tthis.editing = false\n\t\t\tthis.draft = ''\n\t\t\tthis.decided = ''\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tstartEditing() {\n\t\t\tthis.draft = this.text\n\t\t\tthis.editing = true\n\t\t},\n\n\t\t/**\n\t\t * Report the decision, and copy a used suggestion to the clipboard.\n\t\t *\n\t\t * @param {string} userAction accepted, modified or rejected.\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync decide(userAction) {\n\t\t\tconst used = userAction === 'modified' ? this.draft : this.text\n\t\t\tthis.$emit('decide', { userAction, actualValue: userAction === 'modified' ? this.draft : undefined })\n\t\t\tthis.decided = {\n\t\t\t\taccepted: t('nextcloud-vue', 'Used. Copied to your clipboard.'),\n\t\t\t\tmodified: t('nextcloud-vue', 'Your version is used. Copied to your clipboard.'),\n\t\t\t\trejected: t('nextcloud-vue', 'Rejected.'),\n\t\t\t}[userAction]\n\t\t\tif (userAction === 'rejected') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(used)\n\t\t\t} catch {\n\t\t\t\tthis.decided = userAction === 'modified' ? t('nextcloud-vue', 'Your version is used.') : t('nextcloud-vue', 'Used.')\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n.cn-ai-suggestion-decision {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tmargin-top: 8px;\n}\n\n.cn-ai-suggestion-decision__actions {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px;\n}\n\n.cn-ai-suggestion-decision__done {\n\tcolor: var(--color-text-maxcontrast);\n\tfont-size: 0.85em;\n}\n</style>\n"],"names":["_createElementBlock","_Fragment","_createElementVNode","_createVNode"],"mappings":";;;;;;AAkCQ,MAAA,UAAA,GAAA,EAAA,KAAK,EAAE,oCAAgB,GAAA;;;;;;AAjBzB,IAAA,KAAK,6BAAgB;AAAA,IAAA,aAAA,EAAA,MAAA,CAAA,MAAA;;KAChB,KAAO,CAAA,OAAA;sBAAdA,kBAKE,CAAA,GAAA,EAAA;;AAJD,UAAA,KAAG,EAAC;AACL,UAAA,IAAG,EAAC,QAAG;AACP,UAAA,aAAW,KAAK,MAAM,CAAA,MAAA,CAAA,KAAA,CAAA;2BACpB,KAAO,CAAA,OAAA,CAAA,EAAA,CAAA,oBAAA,UAAA,CAAA;sBAERA;WACQ,KAAA,CAAA,OAAA;4BAAVA,kBAQW,CAAAC,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;gBAPVC,kBAEQ,CAAA,OAAA,EAAA;AAFA,kBAAA,GAAG,KAAK,MAAM,CAAA,MAAA,CAAA,MAAA,CAAA;mCAClB,QAAC,CAAA,CAAA,CAAA,eAAA,EAAA,cAAA,CAAA,CAAA,EAAA,CAAA,oBAAA,UAAA,CAAA;+BAEJA,kBAGS,CAAA,UAAA,EAAA;AAHC,kBAAA,EAAE,KAAK,MAAM,CAAA,MAAA,CAAA,MAAA,CAAA;+EACd,KAAK,CAAA,KAAA,IAAA,MAAA,CAAA,CAAA;AACd,kBAAA,IAAI,EAAC,GAAG;AACP,kBAAA,aAAQ,KAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA;;+BAFA,KAAK,CAAA,KAAA,CAAA;;;;;aAKC,KAAO,CAAA,OAAA;yCAKZ,CAAA,mBAAA,EAAA;;yBAJH,EAAC,SAAS;AAChB,kBAAA,aAAW,KAAK,MAAM,CAAA,MAAA,CAAA,YAAA,CAAA;AACtB,kBAAA,OAAK,uCAAE,QAAE,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA,CAAA;;mCACV,MAAyC;oDAAtC,QAAC,CAAA,CAAA,CAAA,eAAA,EAAA,gBAAA,CAAA,CAAA,EAAA,CAAA,YAAA;;;;gDAWH,CAAAD,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;kBARDE,WAIW,CAAA,mBAAA,EAAA;AAJF,oBAAA,OAAA,EAAA,SAAA;AACP,oBAAA,aAAW,KAAK,MAAM,CAAA,MAAA,CAAA,IAAA,CAAA;AACtB,oBAAA,OAAK,uCAAE,QAAM,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA,CAAA;;qCACd,MAA0B;sDAAvB,QAAC,CAAA,CAAA,CAAA,eAAA,EAAA,UAAA,CAAA,CAAA,EAAA,CAAA,YAAA;;;;kBAELA,WAEO,CAAA,mBAAA,EAAA;AAFE,oBAAA,aAAA,KAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA;AAAA,oBAAA,OAAA,EAAA,QAAA,CAAA,YAAA;;qCACR,MAAE;sDAAA,QAAA,CAAA,CAAA,CAAA,eAAA,EAAA,OAAA,CAAA,CAAA,EAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -64,7 +64,7 @@ import DatabaseArrowRightOutlineIcon from 'vue-material-design-icons/DatabaseArr
|
|
|
64
64
|
import DatabaseExportOutlineIcon from 'vue-material-design-icons/DatabaseExportOutline.vue';
|
|
65
65
|
import DatabaseImportOutlineIcon from 'vue-material-design-icons/DatabaseImportOutline.vue';
|
|
66
66
|
import DatabaseOutline from 'vue-material-design-icons/DatabaseOutline.vue';
|
|
67
|
-
import
|
|
67
|
+
import DeleteOutline from 'vue-material-design-icons/DeleteOutline.vue';
|
|
68
68
|
import DesktopTowerMonitorIcon from 'vue-material-design-icons/DesktopTowerMonitor.vue';
|
|
69
69
|
import Domain from 'vue-material-design-icons/Domain.vue';
|
|
70
70
|
import DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue';
|
|
@@ -464,7 +464,7 @@ const SEMANTIC_ICON_COMPONENTS = Object.freeze({
|
|
|
464
464
|
DatabaseExportOutline: DatabaseExportOutlineIcon,
|
|
465
465
|
DatabaseImportOutline: DatabaseImportOutlineIcon,
|
|
466
466
|
DatabaseOutline: DatabaseOutline,
|
|
467
|
-
DeleteOutline:
|
|
467
|
+
DeleteOutline: DeleteOutline,
|
|
468
468
|
DesktopTowerMonitor: DesktopTowerMonitorIcon,
|
|
469
469
|
Domain: Domain,
|
|
470
470
|
DotsHorizontal: DotsHorizontal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semanticIcons.js","sources":["../../../../src/components/CnIcon/semanticIcons.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2026 Conduction B.V.\n * SPDX-License-Identifier: EUPL-1.2\n *\n * semanticIcons — the fleet-wide semantic icon vocabulary (ADR-077).\n *\n * One concept, one icon. A manifest `icon` field holds an MDI PascalCase name;\n * this table is what makes the same concept read the same way in every\n * Conduction app (Store is always StoreOutline, Dashboard is always\n * ViewDashboardOutline). The mapping is a BIJECTION — no concept has two\n * icons and no icon serves two concepts — which is what stops the historical\n * overloading (one glyph standing for 18 unrelated things).\n *\n * Tier A is universal chrome every app has and MUST match. Tier B is the\n * shared domain vocabulary an app SHOULD use when it has the concept.\n *\n * WHY THIS IS A PURE EXPORT AND NOT AN import-time `registerIcons()` CALL:\n * the published dist's `sideEffects` allowlist has previously tree-shaken\n * import-time side effects out of consumer bundles, which fails SILENTLY\n * (nothing renders, no error). So the rendering components import\n * {@link SEMANTIC_ICON_COMPONENTS} and consult it directly — resolution is\n * guaranteed by the component that needs it, with no side-effect ordering to\n * get wrong and nothing for a bundler to drop.\n *\n * Every name below is verified to exist in `vue-material-design-icons` by\n * tests/components/semanticIcons.spec.js — the check that caught invented\n * names like `LedgerOutline` and `FileSignOutline` already live in manifests.\n *\n * Each icon is imported individually (no wildcard / barrel) so the bundle\n * stays tree-shake-friendly.\n *\n * @spec openspec/architecture/adr-077-semantic-icon-vocabulary.md\n */\n\nimport AccountArrowRightOutlineIcon from 'vue-material-design-icons/AccountArrowRightOutline.vue'\nimport AccountBoxOutlineIcon from 'vue-material-design-icons/AccountBoxOutline.vue'\nimport AccountGroupOutlineIcon from 'vue-material-design-icons/AccountGroupOutline.vue'\nimport AccountKeyOutlineIcon from 'vue-material-design-icons/AccountKeyOutline.vue'\nimport AccountMinusOutlineIcon from 'vue-material-design-icons/AccountMinusOutline.vue'\nimport AccountMultipleOutlineIcon from 'vue-material-design-icons/AccountMultipleOutline.vue'\nimport AccountOutlineIcon from 'vue-material-design-icons/AccountOutline.vue'\nimport AccountPlusOutlineIcon from 'vue-material-design-icons/AccountPlusOutline.vue'\nimport AccountSchoolOutlineIcon from 'vue-material-design-icons/AccountSchoolOutline.vue'\nimport AccountSearchOutlineIcon from 'vue-material-design-icons/AccountSearchOutline.vue'\nimport AccountStarOutlineIcon from 'vue-material-design-icons/AccountStarOutline.vue'\nimport AccountSwitchOutlineIcon from 'vue-material-design-icons/AccountSwitchOutline.vue'\nimport AccountTieOutlineIcon from 'vue-material-design-icons/AccountTieOutline.vue'\nimport AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport ApiIcon from 'vue-material-design-icons/Api.vue'\nimport ApplicationOutlineIcon from 'vue-material-design-icons/ApplicationOutline.vue'\nimport BankOutlineIcon from 'vue-material-design-icons/BankOutline.vue'\nimport BankTransferIcon from 'vue-material-design-icons/BankTransfer.vue'\nimport BellOutlineIcon from 'vue-material-design-icons/BellOutline.vue'\nimport BookOpenPageVariantOutlineIcon from 'vue-material-design-icons/BookOpenPageVariantOutline.vue'\nimport BookOpenVariantOutlineIcon from 'vue-material-design-icons/BookOpenVariantOutline.vue'\nimport BookshelfIcon from 'vue-material-design-icons/Bookshelf.vue'\nimport BrainIcon from 'vue-material-design-icons/Brain.vue'\nimport BriefcaseOutlineIcon from 'vue-material-design-icons/BriefcaseOutline.vue'\nimport CalculatorVariantOutlineIcon from 'vue-material-design-icons/CalculatorVariantOutline.vue'\nimport CalendarAccountOutlineIcon from 'vue-material-design-icons/CalendarAccountOutline.vue'\nimport CalendarClockOutlineIcon from 'vue-material-design-icons/CalendarClockOutline.vue'\nimport CalendarOutlineIcon from 'vue-material-design-icons/CalendarOutline.vue'\nimport CalendarRemoveOutlineIcon from 'vue-material-design-icons/CalendarRemoveOutline.vue'\nimport CalendarTextOutlineIcon from 'vue-material-design-icons/CalendarTextOutline.vue'\nimport CalendarWeekendOutlineIcon from 'vue-material-design-icons/CalendarWeekendOutline.vue'\nimport CarOutlineIcon from 'vue-material-design-icons/CarOutline.vue'\nimport CartArrowDownIcon from 'vue-material-design-icons/CartArrowDown.vue'\nimport CartOutlineIcon from 'vue-material-design-icons/CartOutline.vue'\nimport CashSyncIcon from 'vue-material-design-icons/CashSync.vue'\nimport CertificateOutlineIcon from 'vue-material-design-icons/CertificateOutline.vue'\nimport ChartBarIcon from 'vue-material-design-icons/ChartBar.vue'\nimport ChartBoxOutlineIcon from 'vue-material-design-icons/ChartBoxOutline.vue'\nimport ChartLineVariantIcon from 'vue-material-design-icons/ChartLineVariant.vue'\nimport ChartSankeyIcon from 'vue-material-design-icons/ChartSankey.vue'\nimport ChartTimelineVariantIcon from 'vue-material-design-icons/ChartTimelineVariant.vue'\nimport CheckboxMarkedCircleOutlineIcon from 'vue-material-design-icons/CheckboxMarkedCircleOutline.vue'\nimport CheckCircleOutlineIcon from 'vue-material-design-icons/CheckCircleOutline.vue'\nimport CheckDecagramOutlineIcon from 'vue-material-design-icons/CheckDecagramOutline.vue'\nimport ClipboardAccountOutlineIcon from 'vue-material-design-icons/ClipboardAccountOutline.vue'\nimport ClipboardCheckOutlineIcon from 'vue-material-design-icons/ClipboardCheckOutline.vue'\nimport ClipboardListOutlineIcon from 'vue-material-design-icons/ClipboardListOutline.vue'\nimport ClipboardPulseOutlineIcon from 'vue-material-design-icons/ClipboardPulseOutline.vue'\nimport ClipboardTextOutlineIcon from 'vue-material-design-icons/ClipboardTextOutline.vue'\nimport ClockAlertOutlineIcon from 'vue-material-design-icons/ClockAlertOutline.vue'\nimport ClockCheckOutlineIcon from 'vue-material-design-icons/ClockCheckOutline.vue'\nimport ClockOutlineIcon from 'vue-material-design-icons/ClockOutline.vue'\nimport CloseCircleOutlineIcon from 'vue-material-design-icons/CloseCircleOutline.vue'\nimport CloudUploadOutlineIcon from 'vue-material-design-icons/CloudUploadOutline.vue'\nimport CogOutlineIcon from 'vue-material-design-icons/CogOutline.vue'\nimport CommentOutlineIcon from 'vue-material-design-icons/CommentOutline.vue'\nimport CommentQuestionOutlineIcon from 'vue-material-design-icons/CommentQuestionOutline.vue'\nimport ContentCopyIcon from 'vue-material-design-icons/ContentCopy.vue'\nimport ContentSaveIcon from 'vue-material-design-icons/ContentSave.vue'\nimport CreditCardOutlineIcon from 'vue-material-design-icons/CreditCardOutline.vue'\nimport CubeOutlineIcon from 'vue-material-design-icons/CubeOutline.vue'\nimport CurrencyEurIcon from 'vue-material-design-icons/CurrencyEur.vue'\nimport DatabaseArrowRightOutlineIcon from 'vue-material-design-icons/DatabaseArrowRightOutline.vue'\nimport DatabaseExportOutlineIcon from 'vue-material-design-icons/DatabaseExportOutline.vue'\nimport DatabaseImportOutlineIcon from 'vue-material-design-icons/DatabaseImportOutline.vue'\nimport DatabaseOutlineIcon from 'vue-material-design-icons/DatabaseOutline.vue'\nimport DeleteOutlineIcon from 'vue-material-design-icons/DeleteOutline.vue'\nimport DesktopTowerMonitorIcon from 'vue-material-design-icons/DesktopTowerMonitor.vue'\nimport DomainIcon from 'vue-material-design-icons/Domain.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport DownloadIcon from 'vue-material-design-icons/Download.vue'\nimport EmailOutlineIcon from 'vue-material-design-icons/EmailOutline.vue'\nimport EyeOffOutlineIcon from 'vue-material-design-icons/EyeOffOutline.vue'\nimport EyeOutlineIcon from 'vue-material-design-icons/EyeOutline.vue'\nimport FileAlertOutlineIcon from 'vue-material-design-icons/FileAlertOutline.vue'\nimport FileChartOutlineIcon from 'vue-material-design-icons/FileChartOutline.vue'\nimport FileCheckOutlineIcon from 'vue-material-design-icons/FileCheckOutline.vue'\nimport FileDocumentMultipleOutlineIcon from 'vue-material-design-icons/FileDocumentMultipleOutline.vue'\nimport FileDocumentOutlineIcon from 'vue-material-design-icons/FileDocumentOutline.vue'\nimport FileLockOutlineIcon from 'vue-material-design-icons/FileLockOutline.vue'\nimport FileReplaceOutlineIcon from 'vue-material-design-icons/FileReplaceOutline.vue'\nimport FileSignIcon from 'vue-material-design-icons/FileSign.vue'\nimport FileTreeOutlineIcon from 'vue-material-design-icons/FileTreeOutline.vue'\nimport FilterVariantIcon from 'vue-material-design-icons/FilterVariant.vue'\nimport FolderAccountOutlineIcon from 'vue-material-design-icons/FolderAccountOutline.vue'\nimport FolderCogOutlineIcon from 'vue-material-design-icons/FolderCogOutline.vue'\nimport FolderOutlineIcon from 'vue-material-design-icons/FolderOutline.vue'\nimport FormatListChecksIcon from 'vue-material-design-icons/FormatListChecks.vue'\nimport ForumOutlineIcon from 'vue-material-design-icons/ForumOutline.vue'\nimport GaugeIcon from 'vue-material-design-icons/Gauge.vue'\nimport GavelIcon from 'vue-material-design-icons/Gavel.vue'\nimport HandHeartOutlineIcon from 'vue-material-design-icons/HandHeartOutline.vue'\nimport HandshakeOutlineIcon from 'vue-material-design-icons/HandshakeOutline.vue'\nimport HistoryIcon from 'vue-material-design-icons/History.vue'\nimport ImageOutlineIcon from 'vue-material-design-icons/ImageOutline.vue'\nimport InformationOutlineIcon from 'vue-material-design-icons/InformationOutline.vue'\nimport KeyOutlineIcon from 'vue-material-design-icons/KeyOutline.vue'\nimport LayersOutlineIcon from 'vue-material-design-icons/LayersOutline.vue'\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\nimport LockOutlineIcon from 'vue-material-design-icons/LockOutline.vue'\nimport MagnifyIcon from 'vue-material-design-icons/Magnify.vue'\nimport MapMarkerOutlineIcon from 'vue-material-design-icons/MapMarkerOutline.vue'\nimport MapMarkerPathIcon from 'vue-material-design-icons/MapMarkerPath.vue'\nimport MapOutlineIcon from 'vue-material-design-icons/MapOutline.vue'\nimport MedalOutlineIcon from 'vue-material-design-icons/MedalOutline.vue'\nimport MessageTextOutlineIcon from 'vue-material-design-icons/MessageTextOutline.vue'\nimport NotebookOutlineIcon from 'vue-material-design-icons/NotebookOutline.vue'\nimport OfficeBuildingOutlineIcon from 'vue-material-design-icons/OfficeBuildingOutline.vue'\nimport OpenInNewIcon from 'vue-material-design-icons/OpenInNew.vue'\nimport PackageVariantClosedIcon from 'vue-material-design-icons/PackageVariantClosed.vue'\nimport PaperclipIcon from 'vue-material-design-icons/Paperclip.vue'\nimport PencilOutlineIcon from 'vue-material-design-icons/PencilOutline.vue'\nimport PercentOutlineIcon from 'vue-material-design-icons/PercentOutline.vue'\nimport PlayCircleOutlineIcon from 'vue-material-design-icons/PlayCircleOutline.vue'\nimport PlayOutlineIcon from 'vue-material-design-icons/PlayOutline.vue'\nimport PlusIcon from 'vue-material-design-icons/Plus.vue'\nimport PrinterOutlineIcon from 'vue-material-design-icons/PrinterOutline.vue'\nimport PulseIcon from 'vue-material-design-icons/Pulse.vue'\nimport PuzzleOutlineIcon from 'vue-material-design-icons/PuzzleOutline.vue'\nimport ReceiptOutlineIcon from 'vue-material-design-icons/ReceiptOutline.vue'\nimport ReceiptTextOutlineIcon from 'vue-material-design-icons/ReceiptTextOutline.vue'\nimport RefreshIcon from 'vue-material-design-icons/Refresh.vue'\nimport RobotOutlineIcon from 'vue-material-design-icons/RobotOutline.vue'\nimport ScaleBalanceIcon from 'vue-material-design-icons/ScaleBalance.vue'\nimport SchoolOutlineIcon from 'vue-material-design-icons/SchoolOutline.vue'\nimport ShareVariantOutlineIcon from 'vue-material-design-icons/ShareVariantOutline.vue'\nimport ShieldAccountOutlineIcon from 'vue-material-design-icons/ShieldAccountOutline.vue'\nimport ShieldAlertOutlineIcon from 'vue-material-design-icons/ShieldAlertOutline.vue'\nimport ShieldCheckOutlineIcon from 'vue-material-design-icons/ShieldCheckOutline.vue'\nimport ShieldCrownOutlineIcon from 'vue-material-design-icons/ShieldCrownOutline.vue'\nimport ShieldKeyOutlineIcon from 'vue-material-design-icons/ShieldKeyOutline.vue'\nimport ShieldLockOutlineIcon from 'vue-material-design-icons/ShieldLockOutline.vue'\nimport ShieldOutlineIcon from 'vue-material-design-icons/ShieldOutline.vue'\nimport SignatureFreehandIcon from 'vue-material-design-icons/SignatureFreehand.vue'\nimport SitemapOutlineIcon from 'vue-material-design-icons/SitemapOutline.vue'\nimport SourceBranchIcon from 'vue-material-design-icons/SourceBranch.vue'\nimport SpeedometerIcon from 'vue-material-design-icons/Speedometer.vue'\nimport StoreOutlineIcon from 'vue-material-design-icons/StoreOutline.vue'\nimport SwapHorizontalIcon from 'vue-material-design-icons/SwapHorizontal.vue'\nimport TableClockIcon from 'vue-material-design-icons/TableClock.vue'\nimport TagOutlineIcon from 'vue-material-design-icons/TagOutline.vue'\nimport TextBoxOutlineIcon from 'vue-material-design-icons/TextBoxOutline.vue'\nimport ToolboxOutlineIcon from 'vue-material-design-icons/ToolboxOutline.vue'\nimport TransitConnectionVariantIcon from 'vue-material-design-icons/TransitConnectionVariant.vue'\nimport TrayFullIcon from 'vue-material-design-icons/TrayFull.vue'\nimport TrendingUpIcon from 'vue-material-design-icons/TrendingUp.vue'\nimport UploadIcon from 'vue-material-design-icons/Upload.vue'\nimport VectorPolylinePlusIcon from 'vue-material-design-icons/VectorPolylinePlus.vue'\nimport ViewColumnOutlineIcon from 'vue-material-design-icons/ViewColumnOutline.vue'\nimport ViewDashboardOutlineIcon from 'vue-material-design-icons/ViewDashboardOutline.vue'\nimport ViewGridOutlineIcon from 'vue-material-design-icons/ViewGridOutline.vue'\nimport WarehouseIcon from 'vue-material-design-icons/Warehouse.vue'\nimport WebhookIcon from 'vue-material-design-icons/Webhook.vue'\n\n/**\n * Tier A — universal chrome. An app that has the concept MUST use this icon.\n *\n * @type {Readonly<Record<string, string>>}\n */\nexport const SEMANTIC_ICONS_TIER_A = Object.freeze({\n\tdashboard: 'ViewDashboardOutline',\n\tdocumentation: 'BookOpenVariantOutline',\n\t'features-roadmap': 'MapMarkerPath',\n\tsettings: 'CogOutline',\n\tadmin: 'ShieldAccountOutline',\n\tsearch: 'Magnify',\n\tstore: 'StoreOutline',\n\ttutorial: 'PlayCircleOutline',\n\tabout: 'InformationOutline',\n\tnotifications: 'BellOutline',\n\tactivity: 'Pulse',\n\t'audit-trail': 'History',\n\t'my-work': 'ClipboardAccountOutline',\n})\n\n/**\n * Tier B — shared domain vocabulary. An app SHOULD use this icon when it has\n * the concept; a genuinely new concept is added here, never invented locally.\n *\n * @type {Readonly<Record<string, string>>}\n */\nexport const SEMANTIC_ICONS_TIER_B = Object.freeze({\n\t// data & records\n\tdata: 'DatabaseOutline',\n\tschema: 'FileTreeOutline',\n\trecord: 'CubeOutline',\n\t'data-quality': 'ClipboardPulseOutline',\n\timport: 'DatabaseImportOutline',\n\texport: 'DatabaseExportOutline',\n\tmigration: 'DatabaseArrowRightOutline',\n\tmapping: 'SwapHorizontal',\n\tlog: 'TextBoxOutline',\n\tjob: 'ClockOutline',\n\t// documents & files\n\tdocument: 'FileDocumentOutline',\n\tdocuments: 'FileDocumentMultipleOutline',\n\tfolder: 'FolderOutline',\n\ttemplate: 'FileReplaceOutline',\n\tcatalogue: 'Bookshelf',\n\tsigning: 'SignatureFreehand',\n\tcontract: 'FileSign',\n\tcorrespondence: 'EmailOutline',\n\tattachment: 'Paperclip',\n\t// cases & process\n\tcase: 'FolderAccountOutline',\n\t'case-type': 'FolderCogOutline',\n\ttask: 'CheckboxMarkedCircleOutline',\n\ttasks: 'FormatListChecks',\n\tworkflow: 'SitemapOutline',\n\tboard: 'ViewColumnOutline',\n\tapproval: 'CheckDecagramOutline',\n\tdecision: 'Gavel',\n\tqueue: 'TrayFull',\n\tdeadline: 'ClockAlertOutline',\n\tobjection: 'FileAlertOutline',\n\tappeal: 'ScaleBalance',\n\t// communication\n\tchat: 'MessageTextOutline',\n\tcomment: 'CommentOutline',\n\tmeeting: 'CalendarAccountOutline',\n\tagenda: 'CalendarTextOutline',\n\tappointment: 'CalendarClockOutline',\n\tcalendar: 'CalendarOutline',\n\tconsultation: 'CommentQuestionOutline',\n\tforum: 'ForumOutline',\n\t// people & organisations\n\tperson: 'AccountOutline',\n\tpeople: 'AccountMultipleOutline',\n\tgroup: 'AccountGroupOutline',\n\trole: 'AccountKeyOutline',\n\torganisation: 'OfficeBuildingOutline',\n\t'organisation-unit': 'Domain',\n\tpartner: 'HandshakeOutline',\n\tclient: 'AccountStarOutline',\n\temployee: 'AccountTieOutline',\n\tlead: 'AccountArrowRightOutline',\n\tprospect: 'AccountSearchOutline',\n\tsubstitution: 'AccountSwitchOutline',\n\t// commerce & finance\n\tsales: 'CartOutline',\n\tpurchasing: 'CartArrowDown',\n\tproduct: 'PackageVariantClosed',\n\tinventory: 'Warehouse',\n\torder: 'ClipboardListOutline',\n\tinvoice: 'ReceiptTextOutline',\n\tpayment: 'CreditCardOutline',\n\tpayroll: 'CashSync',\n\texpense: 'ReceiptOutline',\n\tbank: 'BankOutline',\n\t'bank-transaction': 'BankTransfer',\n\tbookkeeping: 'NotebookOutline',\n\ttax: 'PercentOutline',\n\tbudget: 'CalculatorVariantOutline',\n\tforecast: 'ChartTimelineVariant',\n\trevenue: 'CurrencyEur',\n\tpricing: 'TagOutline',\n\tsubsidy: 'HandHeartOutline',\n\t// reporting & monitoring\n\treport: 'FileChartOutline',\n\treporting: 'ChartBoxOutline',\n\tanalytics: 'ChartLineVariant',\n\tkpi: 'Speedometer',\n\tmonitoring: 'Gauge',\n\tstatistics: 'ChartBar',\n\t'process-mining': 'ChartSankey',\n\t// security & compliance\n\tsecurity: 'ShieldOutline',\n\tcompliance: 'ClipboardCheckOutline',\n\tpolicy: 'ShieldCheckOutline',\n\tvulnerability: 'ShieldAlertOutline',\n\tcertificate: 'CertificateOutline',\n\tvault: 'LockOutline',\n\tkey: 'KeyOutline',\n\tauthorization: 'ShieldKeyOutline',\n\tprivacy: 'ShieldLockOutline',\n\tanonymization: 'EyeOffOutline',\n\tconsent: 'FileCheckOutline',\n\tconfidentiality: 'FileLockOutline',\n\tretention: 'CalendarRemoveOutline',\n\tgovernance: 'ShieldCrownOutline',\n\t// integration & technology\n\tintegration: 'Api',\n\tconnection: 'TransitConnectionVariant',\n\twebhook: 'Webhook',\n\tautomation: 'VectorPolylinePlus',\n\tagent: 'RobotOutline',\n\tai: 'Brain',\n\ttool: 'ToolboxOutline',\n\tapps: 'ViewGridOutline',\n\tmodule: 'PuzzleOutline',\n\tsource: 'SourceBranch',\n\t// location & geo\n\tlocation: 'MapMarkerOutline',\n\tmap: 'MapOutline',\n\t'map-layer': 'LayersOutline',\n\t// learning\n\tcourse: 'BookOpenPageVariantOutline',\n\tlearning: 'SchoolOutline',\n\tcompetency: 'MedalOutline',\n\ttimetable: 'TableClock',\n\tprogress: 'TrendingUp',\n\tportfolio: 'BriefcaseOutline',\n\texam: 'ClipboardTextOutline',\n\tstudent: 'AccountSchoolOutline',\n\t// Publish, Test connection).\n\tview: 'EyeOutline',\n\tcreate: 'Plus',\n\tedit: 'PencilOutline',\n\tdelete: 'DeleteOutline',\n\trun: 'PlayOutline',\n\ttest: 'CheckCircleOutline',\n\tupload: 'Upload',\n\tpublish: 'CloudUploadOutline',\n\tdownload: 'Download',\n\trefresh: 'Refresh',\n\t'open-external': 'OpenInNew',\n\tcopy: 'ContentCopy',\n\tshare: 'ShareVariantOutline',\n\tfilter: 'FilterVariant',\n\tprint: 'PrinterOutline',\n\timage: 'ImageOutline',\n\tlink: 'LinkVariant',\n\tmore: 'DotsHorizontal',\n\tsave: 'ContentSave',\n\tcancel: 'CloseCircleOutline',\n\talert: 'AlertCircleOutline',\n\t// hr\n\tleave: 'CalendarWeekendOutline',\n\thours: 'ClockCheckOutline',\n\tonboarding: 'AccountPlusOutline',\n\toffboarding: 'AccountMinusOutline',\n\tvacancy: 'AccountBoxOutline',\n\tasset: 'DesktopTowerMonitor',\n\tfleet: 'CarOutline',\n})\n\n/**\n * The whole vocabulary — concept slug to canonical MDI name.\n *\n * @type {Readonly<Record<string, string>>}\n */\nexport const SEMANTIC_ICONS = Object.freeze({\n\t...SEMANTIC_ICONS_TIER_A,\n\t...SEMANTIC_ICONS_TIER_B,\n})\n\n/**\n * Which tier a concept belongs to — `'A'` (MUST) or `'B'` (SHOULD). Consumed by\n * hydra's icon-vocabulary gate to decide hard-fail vs warn.\n *\n * @type {Readonly<Record<string, 'A'|'B'>>}\n */\nexport const SEMANTIC_ICON_TIERS = Object.freeze(Object.fromEntries([\n\t...Object.keys(SEMANTIC_ICONS_TIER_A).map((c) => [c, 'A']),\n\t...Object.keys(SEMANTIC_ICONS_TIER_B).map((c) => [c, 'B']),\n]))\n\n/**\n * Canonical MDI name to its Vue component, for every icon in the vocabulary.\n * The rendering components consult this so an app never has to register a\n * vocabulary icon itself.\n *\n * @type {Readonly<Record<string, object>>}\n */\nexport const SEMANTIC_ICON_COMPONENTS = Object.freeze({\n\tAccountArrowRightOutline: AccountArrowRightOutlineIcon,\n\tAccountBoxOutline: AccountBoxOutlineIcon,\n\tAccountGroupOutline: AccountGroupOutlineIcon,\n\tAccountKeyOutline: AccountKeyOutlineIcon,\n\tAccountMinusOutline: AccountMinusOutlineIcon,\n\tAccountMultipleOutline: AccountMultipleOutlineIcon,\n\tAccountOutline: AccountOutlineIcon,\n\tAccountPlusOutline: AccountPlusOutlineIcon,\n\tAccountSchoolOutline: AccountSchoolOutlineIcon,\n\tAccountSearchOutline: AccountSearchOutlineIcon,\n\tAccountStarOutline: AccountStarOutlineIcon,\n\tAccountSwitchOutline: AccountSwitchOutlineIcon,\n\tAccountTieOutline: AccountTieOutlineIcon,\n\tAlertCircleOutline: AlertCircleOutlineIcon,\n\tApi: ApiIcon,\n\tApplicationOutline: ApplicationOutlineIcon,\n\tBankOutline: BankOutlineIcon,\n\tBankTransfer: BankTransferIcon,\n\tBellOutline: BellOutlineIcon,\n\tBookOpenPageVariantOutline: BookOpenPageVariantOutlineIcon,\n\tBookOpenVariantOutline: BookOpenVariantOutlineIcon,\n\tBookshelf: BookshelfIcon,\n\tBrain: BrainIcon,\n\tBriefcaseOutline: BriefcaseOutlineIcon,\n\tCalculatorVariantOutline: CalculatorVariantOutlineIcon,\n\tCalendarAccountOutline: CalendarAccountOutlineIcon,\n\tCalendarClockOutline: CalendarClockOutlineIcon,\n\tCalendarOutline: CalendarOutlineIcon,\n\tCalendarRemoveOutline: CalendarRemoveOutlineIcon,\n\tCalendarTextOutline: CalendarTextOutlineIcon,\n\tCalendarWeekendOutline: CalendarWeekendOutlineIcon,\n\tCarOutline: CarOutlineIcon,\n\tCartArrowDown: CartArrowDownIcon,\n\tCartOutline: CartOutlineIcon,\n\tCashSync: CashSyncIcon,\n\tCertificateOutline: CertificateOutlineIcon,\n\tChartBar: ChartBarIcon,\n\tChartBoxOutline: ChartBoxOutlineIcon,\n\tChartLineVariant: ChartLineVariantIcon,\n\tChartSankey: ChartSankeyIcon,\n\tChartTimelineVariant: ChartTimelineVariantIcon,\n\tCheckCircleOutline: CheckCircleOutlineIcon,\n\tCheckDecagramOutline: CheckDecagramOutlineIcon,\n\tCheckboxMarkedCircleOutline: CheckboxMarkedCircleOutlineIcon,\n\tClipboardAccountOutline: ClipboardAccountOutlineIcon,\n\tClipboardCheckOutline: ClipboardCheckOutlineIcon,\n\tClipboardListOutline: ClipboardListOutlineIcon,\n\tClipboardPulseOutline: ClipboardPulseOutlineIcon,\n\tClipboardTextOutline: ClipboardTextOutlineIcon,\n\tClockAlertOutline: ClockAlertOutlineIcon,\n\tClockCheckOutline: ClockCheckOutlineIcon,\n\tClockOutline: ClockOutlineIcon,\n\tCloseCircleOutline: CloseCircleOutlineIcon,\n\tCloudUploadOutline: CloudUploadOutlineIcon,\n\tCogOutline: CogOutlineIcon,\n\tCommentOutline: CommentOutlineIcon,\n\tCommentQuestionOutline: CommentQuestionOutlineIcon,\n\tContentCopy: ContentCopyIcon,\n\tContentSave: ContentSaveIcon,\n\tCreditCardOutline: CreditCardOutlineIcon,\n\tCubeOutline: CubeOutlineIcon,\n\tCurrencyEur: CurrencyEurIcon,\n\tDatabaseArrowRightOutline: DatabaseArrowRightOutlineIcon,\n\tDatabaseExportOutline: DatabaseExportOutlineIcon,\n\tDatabaseImportOutline: DatabaseImportOutlineIcon,\n\tDatabaseOutline: DatabaseOutlineIcon,\n\tDeleteOutline: DeleteOutlineIcon,\n\tDesktopTowerMonitor: DesktopTowerMonitorIcon,\n\tDomain: DomainIcon,\n\tDotsHorizontal: DotsHorizontalIcon,\n\tDownload: DownloadIcon,\n\tEmailOutline: EmailOutlineIcon,\n\tEyeOffOutline: EyeOffOutlineIcon,\n\tEyeOutline: EyeOutlineIcon,\n\tFileAlertOutline: FileAlertOutlineIcon,\n\tFileChartOutline: FileChartOutlineIcon,\n\tFileCheckOutline: FileCheckOutlineIcon,\n\tFileDocumentMultipleOutline: FileDocumentMultipleOutlineIcon,\n\tFileDocumentOutline: FileDocumentOutlineIcon,\n\tFileLockOutline: FileLockOutlineIcon,\n\tFileReplaceOutline: FileReplaceOutlineIcon,\n\tFileSign: FileSignIcon,\n\tFileTreeOutline: FileTreeOutlineIcon,\n\tFilterVariant: FilterVariantIcon,\n\tFolderAccountOutline: FolderAccountOutlineIcon,\n\tFolderCogOutline: FolderCogOutlineIcon,\n\tFolderOutline: FolderOutlineIcon,\n\tFormatListChecks: FormatListChecksIcon,\n\tForumOutline: ForumOutlineIcon,\n\tGauge: GaugeIcon,\n\tGavel: GavelIcon,\n\tHandHeartOutline: HandHeartOutlineIcon,\n\tHandshakeOutline: HandshakeOutlineIcon,\n\tHistory: HistoryIcon,\n\tImageOutline: ImageOutlineIcon,\n\tInformationOutline: InformationOutlineIcon,\n\tKeyOutline: KeyOutlineIcon,\n\tLayersOutline: LayersOutlineIcon,\n\tLinkVariant: LinkVariantIcon,\n\tLockOutline: LockOutlineIcon,\n\tMagnify: MagnifyIcon,\n\tMapMarkerOutline: MapMarkerOutlineIcon,\n\tMapMarkerPath: MapMarkerPathIcon,\n\tMapOutline: MapOutlineIcon,\n\tMedalOutline: MedalOutlineIcon,\n\tMessageTextOutline: MessageTextOutlineIcon,\n\tNotebookOutline: NotebookOutlineIcon,\n\tOfficeBuildingOutline: OfficeBuildingOutlineIcon,\n\tOpenInNew: OpenInNewIcon,\n\tPackageVariantClosed: PackageVariantClosedIcon,\n\tPaperclip: PaperclipIcon,\n\tPencilOutline: PencilOutlineIcon,\n\tPercentOutline: PercentOutlineIcon,\n\tPlayCircleOutline: PlayCircleOutlineIcon,\n\tPlayOutline: PlayOutlineIcon,\n\tPlus: PlusIcon,\n\tPrinterOutline: PrinterOutlineIcon,\n\tPulse: PulseIcon,\n\tPuzzleOutline: PuzzleOutlineIcon,\n\tReceiptOutline: ReceiptOutlineIcon,\n\tReceiptTextOutline: ReceiptTextOutlineIcon,\n\tRefresh: RefreshIcon,\n\tRobotOutline: RobotOutlineIcon,\n\tScaleBalance: ScaleBalanceIcon,\n\tSchoolOutline: SchoolOutlineIcon,\n\tShareVariantOutline: ShareVariantOutlineIcon,\n\tShieldAccountOutline: ShieldAccountOutlineIcon,\n\tShieldAlertOutline: ShieldAlertOutlineIcon,\n\tShieldCheckOutline: ShieldCheckOutlineIcon,\n\tShieldCrownOutline: ShieldCrownOutlineIcon,\n\tShieldKeyOutline: ShieldKeyOutlineIcon,\n\tShieldLockOutline: ShieldLockOutlineIcon,\n\tShieldOutline: ShieldOutlineIcon,\n\tSignatureFreehand: SignatureFreehandIcon,\n\tSitemapOutline: SitemapOutlineIcon,\n\tSourceBranch: SourceBranchIcon,\n\tSpeedometer: SpeedometerIcon,\n\tStoreOutline: StoreOutlineIcon,\n\tSwapHorizontal: SwapHorizontalIcon,\n\tTableClock: TableClockIcon,\n\tTagOutline: TagOutlineIcon,\n\tTextBoxOutline: TextBoxOutlineIcon,\n\tToolboxOutline: ToolboxOutlineIcon,\n\tTransitConnectionVariant: TransitConnectionVariantIcon,\n\tTrayFull: TrayFullIcon,\n\tTrendingUp: TrendingUpIcon,\n\tUpload: UploadIcon,\n\tVectorPolylinePlus: VectorPolylinePlusIcon,\n\tViewColumnOutline: ViewColumnOutlineIcon,\n\tViewDashboardOutline: ViewDashboardOutlineIcon,\n\tViewGridOutline: ViewGridOutlineIcon,\n\tWarehouse: WarehouseIcon,\n\tWebhook: WebhookIcon,\n})\n\n/**\n * Reverse lookup — the concept a canonical icon name stands for.\n *\n * @param {string} name Canonical MDI icon name.\n * @return {string|null} The concept slug, or null when the name is not in the\n * vocabulary.\n */\nexport function conceptForIcon(name) {\n\tfor (const [concept, icon] of Object.entries(SEMANTIC_ICONS)) {\n\t\tif (icon === name) {\n\t\t\treturn concept\n\t\t}\n\t}\n\treturn null\n}\n\n/**\n * Resolve a vocabulary icon name to its component.\n *\n * @param {string|null|undefined} name Canonical MDI icon name.\n * @return {object|null} The Vue component, or null when not in the vocabulary.\n */\nexport function getSemanticIconComponent(name) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\treturn null\n\t}\n\treturn SEMANTIC_ICON_COMPONENTS[name] ?? null\n}\n"],"names":["AccountGroupOutlineIcon","AccountOutlineIcon","AlertCircleOutlineIcon","BellOutlineIcon","BriefcaseOutlineIcon","CalendarClockOutlineIcon","CalendarOutlineIcon","ChartBarIcon","CheckCircleOutlineIcon","ClipboardCheckOutlineIcon","ClipboardListOutlineIcon","ClockOutlineIcon","CloseCircleOutlineIcon","CogOutlineIcon","CommentOutlineIcon","ContentCopyIcon","ContentSaveIcon","CurrencyEurIcon","DatabaseOutlineIcon","DomainIcon","DotsHorizontalIcon","DownloadIcon","EmailOutlineIcon","EyeOutlineIcon","FileDocumentOutlineIcon","FolderAccountOutlineIcon","FolderOutlineIcon","FormatListChecksIcon","HistoryIcon","InformationOutlineIcon","KeyOutlineIcon","LinkVariantIcon","LockOutlineIcon","MagnifyIcon","MapMarkerOutlineIcon","MapOutlineIcon","OpenInNewIcon","PackageVariantClosedIcon","PaperclipIcon","PencilOutlineIcon","PlayCircleOutlineIcon","PlusIcon","PulseIcon","RefreshIcon","ShareVariantOutlineIcon","ShieldAccountOutlineIcon","ShieldKeyOutlineIcon","ShieldOutlineIcon","SitemapOutlineIcon","TagOutlineIcon","UploadIcon","ViewColumnOutlineIcon","ViewDashboardOutlineIcon","ViewGridOutlineIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semanticIcons.js","sources":["../../../../src/components/CnIcon/semanticIcons.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2026 Conduction B.V.\n * SPDX-License-Identifier: EUPL-1.2\n *\n * semanticIcons — the fleet-wide semantic icon vocabulary (ADR-077).\n *\n * One concept, one icon. A manifest `icon` field holds an MDI PascalCase name;\n * this table is what makes the same concept read the same way in every\n * Conduction app (Store is always StoreOutline, Dashboard is always\n * ViewDashboardOutline). The mapping is a BIJECTION — no concept has two\n * icons and no icon serves two concepts — which is what stops the historical\n * overloading (one glyph standing for 18 unrelated things).\n *\n * Tier A is universal chrome every app has and MUST match. Tier B is the\n * shared domain vocabulary an app SHOULD use when it has the concept.\n *\n * WHY THIS IS A PURE EXPORT AND NOT AN import-time `registerIcons()` CALL:\n * the published dist's `sideEffects` allowlist has previously tree-shaken\n * import-time side effects out of consumer bundles, which fails SILENTLY\n * (nothing renders, no error). So the rendering components import\n * {@link SEMANTIC_ICON_COMPONENTS} and consult it directly — resolution is\n * guaranteed by the component that needs it, with no side-effect ordering to\n * get wrong and nothing for a bundler to drop.\n *\n * Every name below is verified to exist in `vue-material-design-icons` by\n * tests/components/semanticIcons.spec.js — the check that caught invented\n * names like `LedgerOutline` and `FileSignOutline` already live in manifests.\n *\n * Each icon is imported individually (no wildcard / barrel) so the bundle\n * stays tree-shake-friendly.\n *\n * @spec openspec/architecture/adr-077-semantic-icon-vocabulary.md\n */\n\nimport AccountArrowRightOutlineIcon from 'vue-material-design-icons/AccountArrowRightOutline.vue'\nimport AccountBoxOutlineIcon from 'vue-material-design-icons/AccountBoxOutline.vue'\nimport AccountGroupOutlineIcon from 'vue-material-design-icons/AccountGroupOutline.vue'\nimport AccountKeyOutlineIcon from 'vue-material-design-icons/AccountKeyOutline.vue'\nimport AccountMinusOutlineIcon from 'vue-material-design-icons/AccountMinusOutline.vue'\nimport AccountMultipleOutlineIcon from 'vue-material-design-icons/AccountMultipleOutline.vue'\nimport AccountOutlineIcon from 'vue-material-design-icons/AccountOutline.vue'\nimport AccountPlusOutlineIcon from 'vue-material-design-icons/AccountPlusOutline.vue'\nimport AccountSchoolOutlineIcon from 'vue-material-design-icons/AccountSchoolOutline.vue'\nimport AccountSearchOutlineIcon from 'vue-material-design-icons/AccountSearchOutline.vue'\nimport AccountStarOutlineIcon from 'vue-material-design-icons/AccountStarOutline.vue'\nimport AccountSwitchOutlineIcon from 'vue-material-design-icons/AccountSwitchOutline.vue'\nimport AccountTieOutlineIcon from 'vue-material-design-icons/AccountTieOutline.vue'\nimport AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport ApiIcon from 'vue-material-design-icons/Api.vue'\nimport ApplicationOutlineIcon from 'vue-material-design-icons/ApplicationOutline.vue'\nimport BankOutlineIcon from 'vue-material-design-icons/BankOutline.vue'\nimport BankTransferIcon from 'vue-material-design-icons/BankTransfer.vue'\nimport BellOutlineIcon from 'vue-material-design-icons/BellOutline.vue'\nimport BookOpenPageVariantOutlineIcon from 'vue-material-design-icons/BookOpenPageVariantOutline.vue'\nimport BookOpenVariantOutlineIcon from 'vue-material-design-icons/BookOpenVariantOutline.vue'\nimport BookshelfIcon from 'vue-material-design-icons/Bookshelf.vue'\nimport BrainIcon from 'vue-material-design-icons/Brain.vue'\nimport BriefcaseOutlineIcon from 'vue-material-design-icons/BriefcaseOutline.vue'\nimport CalculatorVariantOutlineIcon from 'vue-material-design-icons/CalculatorVariantOutline.vue'\nimport CalendarAccountOutlineIcon from 'vue-material-design-icons/CalendarAccountOutline.vue'\nimport CalendarClockOutlineIcon from 'vue-material-design-icons/CalendarClockOutline.vue'\nimport CalendarOutlineIcon from 'vue-material-design-icons/CalendarOutline.vue'\nimport CalendarRemoveOutlineIcon from 'vue-material-design-icons/CalendarRemoveOutline.vue'\nimport CalendarTextOutlineIcon from 'vue-material-design-icons/CalendarTextOutline.vue'\nimport CalendarWeekendOutlineIcon from 'vue-material-design-icons/CalendarWeekendOutline.vue'\nimport CarOutlineIcon from 'vue-material-design-icons/CarOutline.vue'\nimport CartArrowDownIcon from 'vue-material-design-icons/CartArrowDown.vue'\nimport CartOutlineIcon from 'vue-material-design-icons/CartOutline.vue'\nimport CashSyncIcon from 'vue-material-design-icons/CashSync.vue'\nimport CertificateOutlineIcon from 'vue-material-design-icons/CertificateOutline.vue'\nimport ChartBarIcon from 'vue-material-design-icons/ChartBar.vue'\nimport ChartBoxOutlineIcon from 'vue-material-design-icons/ChartBoxOutline.vue'\nimport ChartLineVariantIcon from 'vue-material-design-icons/ChartLineVariant.vue'\nimport ChartSankeyIcon from 'vue-material-design-icons/ChartSankey.vue'\nimport ChartTimelineVariantIcon from 'vue-material-design-icons/ChartTimelineVariant.vue'\nimport CheckboxMarkedCircleOutlineIcon from 'vue-material-design-icons/CheckboxMarkedCircleOutline.vue'\nimport CheckCircleOutlineIcon from 'vue-material-design-icons/CheckCircleOutline.vue'\nimport CheckDecagramOutlineIcon from 'vue-material-design-icons/CheckDecagramOutline.vue'\nimport ClipboardAccountOutlineIcon from 'vue-material-design-icons/ClipboardAccountOutline.vue'\nimport ClipboardCheckOutlineIcon from 'vue-material-design-icons/ClipboardCheckOutline.vue'\nimport ClipboardListOutlineIcon from 'vue-material-design-icons/ClipboardListOutline.vue'\nimport ClipboardPulseOutlineIcon from 'vue-material-design-icons/ClipboardPulseOutline.vue'\nimport ClipboardTextOutlineIcon from 'vue-material-design-icons/ClipboardTextOutline.vue'\nimport ClockAlertOutlineIcon from 'vue-material-design-icons/ClockAlertOutline.vue'\nimport ClockCheckOutlineIcon from 'vue-material-design-icons/ClockCheckOutline.vue'\nimport ClockOutlineIcon from 'vue-material-design-icons/ClockOutline.vue'\nimport CloseCircleOutlineIcon from 'vue-material-design-icons/CloseCircleOutline.vue'\nimport CloudUploadOutlineIcon from 'vue-material-design-icons/CloudUploadOutline.vue'\nimport CogOutlineIcon from 'vue-material-design-icons/CogOutline.vue'\nimport CommentOutlineIcon from 'vue-material-design-icons/CommentOutline.vue'\nimport CommentQuestionOutlineIcon from 'vue-material-design-icons/CommentQuestionOutline.vue'\nimport ContentCopyIcon from 'vue-material-design-icons/ContentCopy.vue'\nimport ContentSaveIcon from 'vue-material-design-icons/ContentSave.vue'\nimport CreditCardOutlineIcon from 'vue-material-design-icons/CreditCardOutline.vue'\nimport CubeOutlineIcon from 'vue-material-design-icons/CubeOutline.vue'\nimport CurrencyEurIcon from 'vue-material-design-icons/CurrencyEur.vue'\nimport DatabaseArrowRightOutlineIcon from 'vue-material-design-icons/DatabaseArrowRightOutline.vue'\nimport DatabaseExportOutlineIcon from 'vue-material-design-icons/DatabaseExportOutline.vue'\nimport DatabaseImportOutlineIcon from 'vue-material-design-icons/DatabaseImportOutline.vue'\nimport DatabaseOutlineIcon from 'vue-material-design-icons/DatabaseOutline.vue'\nimport DeleteOutlineIcon from 'vue-material-design-icons/DeleteOutline.vue'\nimport DesktopTowerMonitorIcon from 'vue-material-design-icons/DesktopTowerMonitor.vue'\nimport DomainIcon from 'vue-material-design-icons/Domain.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport DownloadIcon from 'vue-material-design-icons/Download.vue'\nimport EmailOutlineIcon from 'vue-material-design-icons/EmailOutline.vue'\nimport EyeOffOutlineIcon from 'vue-material-design-icons/EyeOffOutline.vue'\nimport EyeOutlineIcon from 'vue-material-design-icons/EyeOutline.vue'\nimport FileAlertOutlineIcon from 'vue-material-design-icons/FileAlertOutline.vue'\nimport FileChartOutlineIcon from 'vue-material-design-icons/FileChartOutline.vue'\nimport FileCheckOutlineIcon from 'vue-material-design-icons/FileCheckOutline.vue'\nimport FileDocumentMultipleOutlineIcon from 'vue-material-design-icons/FileDocumentMultipleOutline.vue'\nimport FileDocumentOutlineIcon from 'vue-material-design-icons/FileDocumentOutline.vue'\nimport FileLockOutlineIcon from 'vue-material-design-icons/FileLockOutline.vue'\nimport FileReplaceOutlineIcon from 'vue-material-design-icons/FileReplaceOutline.vue'\nimport FileSignIcon from 'vue-material-design-icons/FileSign.vue'\nimport FileTreeOutlineIcon from 'vue-material-design-icons/FileTreeOutline.vue'\nimport FilterVariantIcon from 'vue-material-design-icons/FilterVariant.vue'\nimport FolderAccountOutlineIcon from 'vue-material-design-icons/FolderAccountOutline.vue'\nimport FolderCogOutlineIcon from 'vue-material-design-icons/FolderCogOutline.vue'\nimport FolderOutlineIcon from 'vue-material-design-icons/FolderOutline.vue'\nimport FormatListChecksIcon from 'vue-material-design-icons/FormatListChecks.vue'\nimport ForumOutlineIcon from 'vue-material-design-icons/ForumOutline.vue'\nimport GaugeIcon from 'vue-material-design-icons/Gauge.vue'\nimport GavelIcon from 'vue-material-design-icons/Gavel.vue'\nimport HandHeartOutlineIcon from 'vue-material-design-icons/HandHeartOutline.vue'\nimport HandshakeOutlineIcon from 'vue-material-design-icons/HandshakeOutline.vue'\nimport HistoryIcon from 'vue-material-design-icons/History.vue'\nimport ImageOutlineIcon from 'vue-material-design-icons/ImageOutline.vue'\nimport InformationOutlineIcon from 'vue-material-design-icons/InformationOutline.vue'\nimport KeyOutlineIcon from 'vue-material-design-icons/KeyOutline.vue'\nimport LayersOutlineIcon from 'vue-material-design-icons/LayersOutline.vue'\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\nimport LockOutlineIcon from 'vue-material-design-icons/LockOutline.vue'\nimport MagnifyIcon from 'vue-material-design-icons/Magnify.vue'\nimport MapMarkerOutlineIcon from 'vue-material-design-icons/MapMarkerOutline.vue'\nimport MapMarkerPathIcon from 'vue-material-design-icons/MapMarkerPath.vue'\nimport MapOutlineIcon from 'vue-material-design-icons/MapOutline.vue'\nimport MedalOutlineIcon from 'vue-material-design-icons/MedalOutline.vue'\nimport MessageTextOutlineIcon from 'vue-material-design-icons/MessageTextOutline.vue'\nimport NotebookOutlineIcon from 'vue-material-design-icons/NotebookOutline.vue'\nimport OfficeBuildingOutlineIcon from 'vue-material-design-icons/OfficeBuildingOutline.vue'\nimport OpenInNewIcon from 'vue-material-design-icons/OpenInNew.vue'\nimport PackageVariantClosedIcon from 'vue-material-design-icons/PackageVariantClosed.vue'\nimport PaperclipIcon from 'vue-material-design-icons/Paperclip.vue'\nimport PencilOutlineIcon from 'vue-material-design-icons/PencilOutline.vue'\nimport PercentOutlineIcon from 'vue-material-design-icons/PercentOutline.vue'\nimport PlayCircleOutlineIcon from 'vue-material-design-icons/PlayCircleOutline.vue'\nimport PlayOutlineIcon from 'vue-material-design-icons/PlayOutline.vue'\nimport PlusIcon from 'vue-material-design-icons/Plus.vue'\nimport PrinterOutlineIcon from 'vue-material-design-icons/PrinterOutline.vue'\nimport PulseIcon from 'vue-material-design-icons/Pulse.vue'\nimport PuzzleOutlineIcon from 'vue-material-design-icons/PuzzleOutline.vue'\nimport ReceiptOutlineIcon from 'vue-material-design-icons/ReceiptOutline.vue'\nimport ReceiptTextOutlineIcon from 'vue-material-design-icons/ReceiptTextOutline.vue'\nimport RefreshIcon from 'vue-material-design-icons/Refresh.vue'\nimport RobotOutlineIcon from 'vue-material-design-icons/RobotOutline.vue'\nimport ScaleBalanceIcon from 'vue-material-design-icons/ScaleBalance.vue'\nimport SchoolOutlineIcon from 'vue-material-design-icons/SchoolOutline.vue'\nimport ShareVariantOutlineIcon from 'vue-material-design-icons/ShareVariantOutline.vue'\nimport ShieldAccountOutlineIcon from 'vue-material-design-icons/ShieldAccountOutline.vue'\nimport ShieldAlertOutlineIcon from 'vue-material-design-icons/ShieldAlertOutline.vue'\nimport ShieldCheckOutlineIcon from 'vue-material-design-icons/ShieldCheckOutline.vue'\nimport ShieldCrownOutlineIcon from 'vue-material-design-icons/ShieldCrownOutline.vue'\nimport ShieldKeyOutlineIcon from 'vue-material-design-icons/ShieldKeyOutline.vue'\nimport ShieldLockOutlineIcon from 'vue-material-design-icons/ShieldLockOutline.vue'\nimport ShieldOutlineIcon from 'vue-material-design-icons/ShieldOutline.vue'\nimport SignatureFreehandIcon from 'vue-material-design-icons/SignatureFreehand.vue'\nimport SitemapOutlineIcon from 'vue-material-design-icons/SitemapOutline.vue'\nimport SourceBranchIcon from 'vue-material-design-icons/SourceBranch.vue'\nimport SpeedometerIcon from 'vue-material-design-icons/Speedometer.vue'\nimport StoreOutlineIcon from 'vue-material-design-icons/StoreOutline.vue'\nimport SwapHorizontalIcon from 'vue-material-design-icons/SwapHorizontal.vue'\nimport TableClockIcon from 'vue-material-design-icons/TableClock.vue'\nimport TagOutlineIcon from 'vue-material-design-icons/TagOutline.vue'\nimport TextBoxOutlineIcon from 'vue-material-design-icons/TextBoxOutline.vue'\nimport ToolboxOutlineIcon from 'vue-material-design-icons/ToolboxOutline.vue'\nimport TransitConnectionVariantIcon from 'vue-material-design-icons/TransitConnectionVariant.vue'\nimport TrayFullIcon from 'vue-material-design-icons/TrayFull.vue'\nimport TrendingUpIcon from 'vue-material-design-icons/TrendingUp.vue'\nimport UploadIcon from 'vue-material-design-icons/Upload.vue'\nimport VectorPolylinePlusIcon from 'vue-material-design-icons/VectorPolylinePlus.vue'\nimport ViewColumnOutlineIcon from 'vue-material-design-icons/ViewColumnOutline.vue'\nimport ViewDashboardOutlineIcon from 'vue-material-design-icons/ViewDashboardOutline.vue'\nimport ViewGridOutlineIcon from 'vue-material-design-icons/ViewGridOutline.vue'\nimport WarehouseIcon from 'vue-material-design-icons/Warehouse.vue'\nimport WebhookIcon from 'vue-material-design-icons/Webhook.vue'\n\n/**\n * Tier A — universal chrome. An app that has the concept MUST use this icon.\n *\n * @type {Readonly<Record<string, string>>}\n */\nexport const SEMANTIC_ICONS_TIER_A = Object.freeze({\n\tdashboard: 'ViewDashboardOutline',\n\tdocumentation: 'BookOpenVariantOutline',\n\t'features-roadmap': 'MapMarkerPath',\n\tsettings: 'CogOutline',\n\tadmin: 'ShieldAccountOutline',\n\tsearch: 'Magnify',\n\tstore: 'StoreOutline',\n\ttutorial: 'PlayCircleOutline',\n\tabout: 'InformationOutline',\n\tnotifications: 'BellOutline',\n\tactivity: 'Pulse',\n\t'audit-trail': 'History',\n\t'my-work': 'ClipboardAccountOutline',\n})\n\n/**\n * Tier B — shared domain vocabulary. An app SHOULD use this icon when it has\n * the concept; a genuinely new concept is added here, never invented locally.\n *\n * @type {Readonly<Record<string, string>>}\n */\nexport const SEMANTIC_ICONS_TIER_B = Object.freeze({\n\t// data & records\n\tdata: 'DatabaseOutline',\n\tschema: 'FileTreeOutline',\n\trecord: 'CubeOutline',\n\t'data-quality': 'ClipboardPulseOutline',\n\timport: 'DatabaseImportOutline',\n\texport: 'DatabaseExportOutline',\n\tmigration: 'DatabaseArrowRightOutline',\n\tmapping: 'SwapHorizontal',\n\tlog: 'TextBoxOutline',\n\tjob: 'ClockOutline',\n\t// documents & files\n\tdocument: 'FileDocumentOutline',\n\tdocuments: 'FileDocumentMultipleOutline',\n\tfolder: 'FolderOutline',\n\ttemplate: 'FileReplaceOutline',\n\tcatalogue: 'Bookshelf',\n\tsigning: 'SignatureFreehand',\n\tcontract: 'FileSign',\n\tcorrespondence: 'EmailOutline',\n\tattachment: 'Paperclip',\n\t// cases & process\n\tcase: 'FolderAccountOutline',\n\t'case-type': 'FolderCogOutline',\n\ttask: 'CheckboxMarkedCircleOutline',\n\ttasks: 'FormatListChecks',\n\tworkflow: 'SitemapOutline',\n\tboard: 'ViewColumnOutline',\n\tapproval: 'CheckDecagramOutline',\n\tdecision: 'Gavel',\n\tqueue: 'TrayFull',\n\tdeadline: 'ClockAlertOutline',\n\tobjection: 'FileAlertOutline',\n\tappeal: 'ScaleBalance',\n\t// communication\n\tchat: 'MessageTextOutline',\n\tcomment: 'CommentOutline',\n\tmeeting: 'CalendarAccountOutline',\n\tagenda: 'CalendarTextOutline',\n\tappointment: 'CalendarClockOutline',\n\tcalendar: 'CalendarOutline',\n\tconsultation: 'CommentQuestionOutline',\n\tforum: 'ForumOutline',\n\t// people & organisations\n\tperson: 'AccountOutline',\n\tpeople: 'AccountMultipleOutline',\n\tgroup: 'AccountGroupOutline',\n\trole: 'AccountKeyOutline',\n\torganisation: 'OfficeBuildingOutline',\n\t'organisation-unit': 'Domain',\n\tpartner: 'HandshakeOutline',\n\tclient: 'AccountStarOutline',\n\temployee: 'AccountTieOutline',\n\tlead: 'AccountArrowRightOutline',\n\tprospect: 'AccountSearchOutline',\n\tsubstitution: 'AccountSwitchOutline',\n\t// commerce & finance\n\tsales: 'CartOutline',\n\tpurchasing: 'CartArrowDown',\n\tproduct: 'PackageVariantClosed',\n\tinventory: 'Warehouse',\n\torder: 'ClipboardListOutline',\n\tinvoice: 'ReceiptTextOutline',\n\tpayment: 'CreditCardOutline',\n\tpayroll: 'CashSync',\n\texpense: 'ReceiptOutline',\n\tbank: 'BankOutline',\n\t'bank-transaction': 'BankTransfer',\n\tbookkeeping: 'NotebookOutline',\n\ttax: 'PercentOutline',\n\tbudget: 'CalculatorVariantOutline',\n\tforecast: 'ChartTimelineVariant',\n\trevenue: 'CurrencyEur',\n\tpricing: 'TagOutline',\n\tsubsidy: 'HandHeartOutline',\n\t// reporting & monitoring\n\treport: 'FileChartOutline',\n\treporting: 'ChartBoxOutline',\n\tanalytics: 'ChartLineVariant',\n\tkpi: 'Speedometer',\n\tmonitoring: 'Gauge',\n\tstatistics: 'ChartBar',\n\t'process-mining': 'ChartSankey',\n\t// security & compliance\n\tsecurity: 'ShieldOutline',\n\tcompliance: 'ClipboardCheckOutline',\n\tpolicy: 'ShieldCheckOutline',\n\tvulnerability: 'ShieldAlertOutline',\n\tcertificate: 'CertificateOutline',\n\tvault: 'LockOutline',\n\tkey: 'KeyOutline',\n\tauthorization: 'ShieldKeyOutline',\n\tprivacy: 'ShieldLockOutline',\n\tanonymization: 'EyeOffOutline',\n\tconsent: 'FileCheckOutline',\n\tconfidentiality: 'FileLockOutline',\n\tretention: 'CalendarRemoveOutline',\n\tgovernance: 'ShieldCrownOutline',\n\t// integration & technology\n\tintegration: 'Api',\n\tconnection: 'TransitConnectionVariant',\n\twebhook: 'Webhook',\n\tautomation: 'VectorPolylinePlus',\n\tagent: 'RobotOutline',\n\tai: 'Brain',\n\ttool: 'ToolboxOutline',\n\tapps: 'ViewGridOutline',\n\tmodule: 'PuzzleOutline',\n\tsource: 'SourceBranch',\n\t// location & geo\n\tlocation: 'MapMarkerOutline',\n\tmap: 'MapOutline',\n\t'map-layer': 'LayersOutline',\n\t// learning\n\tcourse: 'BookOpenPageVariantOutline',\n\tlearning: 'SchoolOutline',\n\tcompetency: 'MedalOutline',\n\ttimetable: 'TableClock',\n\tprogress: 'TrendingUp',\n\tportfolio: 'BriefcaseOutline',\n\texam: 'ClipboardTextOutline',\n\tstudent: 'AccountSchoolOutline',\n\t// Publish, Test connection).\n\tview: 'EyeOutline',\n\tcreate: 'Plus',\n\tedit: 'PencilOutline',\n\tdelete: 'DeleteOutline',\n\trun: 'PlayOutline',\n\ttest: 'CheckCircleOutline',\n\tupload: 'Upload',\n\tpublish: 'CloudUploadOutline',\n\tdownload: 'Download',\n\trefresh: 'Refresh',\n\t'open-external': 'OpenInNew',\n\tcopy: 'ContentCopy',\n\tshare: 'ShareVariantOutline',\n\tfilter: 'FilterVariant',\n\tprint: 'PrinterOutline',\n\timage: 'ImageOutline',\n\tlink: 'LinkVariant',\n\tmore: 'DotsHorizontal',\n\tsave: 'ContentSave',\n\tcancel: 'CloseCircleOutline',\n\talert: 'AlertCircleOutline',\n\t// hr\n\tleave: 'CalendarWeekendOutline',\n\thours: 'ClockCheckOutline',\n\tonboarding: 'AccountPlusOutline',\n\toffboarding: 'AccountMinusOutline',\n\tvacancy: 'AccountBoxOutline',\n\tasset: 'DesktopTowerMonitor',\n\tfleet: 'CarOutline',\n})\n\n/**\n * The whole vocabulary — concept slug to canonical MDI name.\n *\n * @type {Readonly<Record<string, string>>}\n */\nexport const SEMANTIC_ICONS = Object.freeze({\n\t...SEMANTIC_ICONS_TIER_A,\n\t...SEMANTIC_ICONS_TIER_B,\n})\n\n/**\n * Which tier a concept belongs to — `'A'` (MUST) or `'B'` (SHOULD). Consumed by\n * hydra's icon-vocabulary gate to decide hard-fail vs warn.\n *\n * @type {Readonly<Record<string, 'A'|'B'>>}\n */\nexport const SEMANTIC_ICON_TIERS = Object.freeze(Object.fromEntries([\n\t...Object.keys(SEMANTIC_ICONS_TIER_A).map((c) => [c, 'A']),\n\t...Object.keys(SEMANTIC_ICONS_TIER_B).map((c) => [c, 'B']),\n]))\n\n/**\n * Canonical MDI name to its Vue component, for every icon in the vocabulary.\n * The rendering components consult this so an app never has to register a\n * vocabulary icon itself.\n *\n * @type {Readonly<Record<string, object>>}\n */\nexport const SEMANTIC_ICON_COMPONENTS = Object.freeze({\n\tAccountArrowRightOutline: AccountArrowRightOutlineIcon,\n\tAccountBoxOutline: AccountBoxOutlineIcon,\n\tAccountGroupOutline: AccountGroupOutlineIcon,\n\tAccountKeyOutline: AccountKeyOutlineIcon,\n\tAccountMinusOutline: AccountMinusOutlineIcon,\n\tAccountMultipleOutline: AccountMultipleOutlineIcon,\n\tAccountOutline: AccountOutlineIcon,\n\tAccountPlusOutline: AccountPlusOutlineIcon,\n\tAccountSchoolOutline: AccountSchoolOutlineIcon,\n\tAccountSearchOutline: AccountSearchOutlineIcon,\n\tAccountStarOutline: AccountStarOutlineIcon,\n\tAccountSwitchOutline: AccountSwitchOutlineIcon,\n\tAccountTieOutline: AccountTieOutlineIcon,\n\tAlertCircleOutline: AlertCircleOutlineIcon,\n\tApi: ApiIcon,\n\tApplicationOutline: ApplicationOutlineIcon,\n\tBankOutline: BankOutlineIcon,\n\tBankTransfer: BankTransferIcon,\n\tBellOutline: BellOutlineIcon,\n\tBookOpenPageVariantOutline: BookOpenPageVariantOutlineIcon,\n\tBookOpenVariantOutline: BookOpenVariantOutlineIcon,\n\tBookshelf: BookshelfIcon,\n\tBrain: BrainIcon,\n\tBriefcaseOutline: BriefcaseOutlineIcon,\n\tCalculatorVariantOutline: CalculatorVariantOutlineIcon,\n\tCalendarAccountOutline: CalendarAccountOutlineIcon,\n\tCalendarClockOutline: CalendarClockOutlineIcon,\n\tCalendarOutline: CalendarOutlineIcon,\n\tCalendarRemoveOutline: CalendarRemoveOutlineIcon,\n\tCalendarTextOutline: CalendarTextOutlineIcon,\n\tCalendarWeekendOutline: CalendarWeekendOutlineIcon,\n\tCarOutline: CarOutlineIcon,\n\tCartArrowDown: CartArrowDownIcon,\n\tCartOutline: CartOutlineIcon,\n\tCashSync: CashSyncIcon,\n\tCertificateOutline: CertificateOutlineIcon,\n\tChartBar: ChartBarIcon,\n\tChartBoxOutline: ChartBoxOutlineIcon,\n\tChartLineVariant: ChartLineVariantIcon,\n\tChartSankey: ChartSankeyIcon,\n\tChartTimelineVariant: ChartTimelineVariantIcon,\n\tCheckCircleOutline: CheckCircleOutlineIcon,\n\tCheckDecagramOutline: CheckDecagramOutlineIcon,\n\tCheckboxMarkedCircleOutline: CheckboxMarkedCircleOutlineIcon,\n\tClipboardAccountOutline: ClipboardAccountOutlineIcon,\n\tClipboardCheckOutline: ClipboardCheckOutlineIcon,\n\tClipboardListOutline: ClipboardListOutlineIcon,\n\tClipboardPulseOutline: ClipboardPulseOutlineIcon,\n\tClipboardTextOutline: ClipboardTextOutlineIcon,\n\tClockAlertOutline: ClockAlertOutlineIcon,\n\tClockCheckOutline: ClockCheckOutlineIcon,\n\tClockOutline: ClockOutlineIcon,\n\tCloseCircleOutline: CloseCircleOutlineIcon,\n\tCloudUploadOutline: CloudUploadOutlineIcon,\n\tCogOutline: CogOutlineIcon,\n\tCommentOutline: CommentOutlineIcon,\n\tCommentQuestionOutline: CommentQuestionOutlineIcon,\n\tContentCopy: ContentCopyIcon,\n\tContentSave: ContentSaveIcon,\n\tCreditCardOutline: CreditCardOutlineIcon,\n\tCubeOutline: CubeOutlineIcon,\n\tCurrencyEur: CurrencyEurIcon,\n\tDatabaseArrowRightOutline: DatabaseArrowRightOutlineIcon,\n\tDatabaseExportOutline: DatabaseExportOutlineIcon,\n\tDatabaseImportOutline: DatabaseImportOutlineIcon,\n\tDatabaseOutline: DatabaseOutlineIcon,\n\tDeleteOutline: DeleteOutlineIcon,\n\tDesktopTowerMonitor: DesktopTowerMonitorIcon,\n\tDomain: DomainIcon,\n\tDotsHorizontal: DotsHorizontalIcon,\n\tDownload: DownloadIcon,\n\tEmailOutline: EmailOutlineIcon,\n\tEyeOffOutline: EyeOffOutlineIcon,\n\tEyeOutline: EyeOutlineIcon,\n\tFileAlertOutline: FileAlertOutlineIcon,\n\tFileChartOutline: FileChartOutlineIcon,\n\tFileCheckOutline: FileCheckOutlineIcon,\n\tFileDocumentMultipleOutline: FileDocumentMultipleOutlineIcon,\n\tFileDocumentOutline: FileDocumentOutlineIcon,\n\tFileLockOutline: FileLockOutlineIcon,\n\tFileReplaceOutline: FileReplaceOutlineIcon,\n\tFileSign: FileSignIcon,\n\tFileTreeOutline: FileTreeOutlineIcon,\n\tFilterVariant: FilterVariantIcon,\n\tFolderAccountOutline: FolderAccountOutlineIcon,\n\tFolderCogOutline: FolderCogOutlineIcon,\n\tFolderOutline: FolderOutlineIcon,\n\tFormatListChecks: FormatListChecksIcon,\n\tForumOutline: ForumOutlineIcon,\n\tGauge: GaugeIcon,\n\tGavel: GavelIcon,\n\tHandHeartOutline: HandHeartOutlineIcon,\n\tHandshakeOutline: HandshakeOutlineIcon,\n\tHistory: HistoryIcon,\n\tImageOutline: ImageOutlineIcon,\n\tInformationOutline: InformationOutlineIcon,\n\tKeyOutline: KeyOutlineIcon,\n\tLayersOutline: LayersOutlineIcon,\n\tLinkVariant: LinkVariantIcon,\n\tLockOutline: LockOutlineIcon,\n\tMagnify: MagnifyIcon,\n\tMapMarkerOutline: MapMarkerOutlineIcon,\n\tMapMarkerPath: MapMarkerPathIcon,\n\tMapOutline: MapOutlineIcon,\n\tMedalOutline: MedalOutlineIcon,\n\tMessageTextOutline: MessageTextOutlineIcon,\n\tNotebookOutline: NotebookOutlineIcon,\n\tOfficeBuildingOutline: OfficeBuildingOutlineIcon,\n\tOpenInNew: OpenInNewIcon,\n\tPackageVariantClosed: PackageVariantClosedIcon,\n\tPaperclip: PaperclipIcon,\n\tPencilOutline: PencilOutlineIcon,\n\tPercentOutline: PercentOutlineIcon,\n\tPlayCircleOutline: PlayCircleOutlineIcon,\n\tPlayOutline: PlayOutlineIcon,\n\tPlus: PlusIcon,\n\tPrinterOutline: PrinterOutlineIcon,\n\tPulse: PulseIcon,\n\tPuzzleOutline: PuzzleOutlineIcon,\n\tReceiptOutline: ReceiptOutlineIcon,\n\tReceiptTextOutline: ReceiptTextOutlineIcon,\n\tRefresh: RefreshIcon,\n\tRobotOutline: RobotOutlineIcon,\n\tScaleBalance: ScaleBalanceIcon,\n\tSchoolOutline: SchoolOutlineIcon,\n\tShareVariantOutline: ShareVariantOutlineIcon,\n\tShieldAccountOutline: ShieldAccountOutlineIcon,\n\tShieldAlertOutline: ShieldAlertOutlineIcon,\n\tShieldCheckOutline: ShieldCheckOutlineIcon,\n\tShieldCrownOutline: ShieldCrownOutlineIcon,\n\tShieldKeyOutline: ShieldKeyOutlineIcon,\n\tShieldLockOutline: ShieldLockOutlineIcon,\n\tShieldOutline: ShieldOutlineIcon,\n\tSignatureFreehand: SignatureFreehandIcon,\n\tSitemapOutline: SitemapOutlineIcon,\n\tSourceBranch: SourceBranchIcon,\n\tSpeedometer: SpeedometerIcon,\n\tStoreOutline: StoreOutlineIcon,\n\tSwapHorizontal: SwapHorizontalIcon,\n\tTableClock: TableClockIcon,\n\tTagOutline: TagOutlineIcon,\n\tTextBoxOutline: TextBoxOutlineIcon,\n\tToolboxOutline: ToolboxOutlineIcon,\n\tTransitConnectionVariant: TransitConnectionVariantIcon,\n\tTrayFull: TrayFullIcon,\n\tTrendingUp: TrendingUpIcon,\n\tUpload: UploadIcon,\n\tVectorPolylinePlus: VectorPolylinePlusIcon,\n\tViewColumnOutline: ViewColumnOutlineIcon,\n\tViewDashboardOutline: ViewDashboardOutlineIcon,\n\tViewGridOutline: ViewGridOutlineIcon,\n\tWarehouse: WarehouseIcon,\n\tWebhook: WebhookIcon,\n})\n\n/**\n * Reverse lookup — the concept a canonical icon name stands for.\n *\n * @param {string} name Canonical MDI icon name.\n * @return {string|null} The concept slug, or null when the name is not in the\n * vocabulary.\n */\nexport function conceptForIcon(name) {\n\tfor (const [concept, icon] of Object.entries(SEMANTIC_ICONS)) {\n\t\tif (icon === name) {\n\t\t\treturn concept\n\t\t}\n\t}\n\treturn null\n}\n\n/**\n * Resolve a vocabulary icon name to its component.\n *\n * @param {string|null|undefined} name Canonical MDI icon name.\n * @return {object|null} The Vue component, or null when not in the vocabulary.\n */\nexport function getSemanticIconComponent(name) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\treturn null\n\t}\n\treturn SEMANTIC_ICON_COMPONENTS[name] ?? null\n}\n"],"names":["AccountGroupOutlineIcon","AccountOutlineIcon","AlertCircleOutlineIcon","BellOutlineIcon","BriefcaseOutlineIcon","CalendarClockOutlineIcon","CalendarOutlineIcon","ChartBarIcon","CheckCircleOutlineIcon","ClipboardCheckOutlineIcon","ClipboardListOutlineIcon","ClockOutlineIcon","CloseCircleOutlineIcon","CogOutlineIcon","CommentOutlineIcon","ContentCopyIcon","ContentSaveIcon","CurrencyEurIcon","DatabaseOutlineIcon","DeleteOutlineIcon","DomainIcon","DotsHorizontalIcon","DownloadIcon","EmailOutlineIcon","EyeOutlineIcon","FileDocumentOutlineIcon","FolderAccountOutlineIcon","FolderOutlineIcon","FormatListChecksIcon","HistoryIcon","InformationOutlineIcon","KeyOutlineIcon","LinkVariantIcon","LockOutlineIcon","MagnifyIcon","MapMarkerOutlineIcon","MapOutlineIcon","OpenInNewIcon","PackageVariantClosedIcon","PaperclipIcon","PencilOutlineIcon","PlayCircleOutlineIcon","PlusIcon","PulseIcon","RefreshIcon","ShareVariantOutlineIcon","ShieldAccountOutlineIcon","ShieldKeyOutlineIcon","ShieldOutlineIcon","SitemapOutlineIcon","TagOutlineIcon","UploadIcon","ViewColumnOutlineIcon","ViewDashboardOutlineIcon","ViewGridOutlineIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA0JA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;AACnD,CAAC,SAAS,EAAE,sBAAsB;AAClC,CAAC,aAAa,EAAE,wBAAwB;AACxC,CAAC,kBAAkB,EAAE,eAAe;AACpC,CAAC,QAAQ,EAAE,YAAY;AACvB,CAAC,KAAK,EAAE,sBAAsB;AAC9B,CAAC,MAAM,EAAE,SAAS;AAClB,CAAC,KAAK,EAAE,cAAc;AACtB,CAAC,QAAQ,EAAE,mBAAmB;AAC9B,CAAC,KAAK,EAAE,oBAAoB;AAC5B,CAAC,aAAa,EAAE,aAAa;AAC7B,CAAC,QAAQ,EAAE,OAAO;AAClB,CAAC,aAAa,EAAE,SAAS;AACzB,CAAC,SAAS,EAAE,yBAAyB;AACrC,CAAC,EAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;AACnD;AACA,CAAC,IAAI,EAAE,iBAAiB;AACxB,CAAC,MAAM,EAAE,iBAAiB;AAC1B,CAAC,MAAM,EAAE,aAAa;AACtB,CAAC,cAAc,EAAE,uBAAuB;AACxC,CAAC,MAAM,EAAE,uBAAuB;AAChC,CAAC,MAAM,EAAE,uBAAuB;AAChC,CAAC,SAAS,EAAE,2BAA2B;AACvC,CAAC,OAAO,EAAE,gBAAgB;AAC1B,CAAC,GAAG,EAAE,gBAAgB;AACtB,CAAC,GAAG,EAAE,cAAc;AACpB;AACA,CAAC,QAAQ,EAAE,qBAAqB;AAChC,CAAC,SAAS,EAAE,6BAA6B;AACzC,CAAC,MAAM,EAAE,eAAe;AACxB,CAAC,QAAQ,EAAE,oBAAoB;AAC/B,CAAC,SAAS,EAAE,WAAW;AACvB,CAAC,OAAO,EAAE,mBAAmB;AAC7B,CAAC,QAAQ,EAAE,UAAU;AACrB,CAAC,cAAc,EAAE,cAAc;AAC/B,CAAC,UAAU,EAAE,WAAW;AACxB;AACA,CAAC,IAAI,EAAE,sBAAsB;AAC7B,CAAC,WAAW,EAAE,kBAAkB;AAChC,CAAC,IAAI,EAAE,6BAA6B;AACpC,CAAC,KAAK,EAAE,kBAAkB;AAC1B,CAAC,QAAQ,EAAE,gBAAgB;AAC3B,CAAC,KAAK,EAAE,mBAAmB;AAC3B,CAAC,QAAQ,EAAE,sBAAsB;AACjC,CAAC,QAAQ,EAAE,OAAO;AAClB,CAAC,KAAK,EAAE,UAAU;AAClB,CAAC,QAAQ,EAAE,mBAAmB;AAC9B,CAAC,SAAS,EAAE,kBAAkB;AAC9B,CAAC,MAAM,EAAE,cAAc;AACvB;AACA,CAAC,IAAI,EAAE,oBAAoB;AAC3B,CAAC,OAAO,EAAE,gBAAgB;AAC1B,CAAC,OAAO,EAAE,wBAAwB;AAClC,CAAC,MAAM,EAAE,qBAAqB;AAC9B,CAAC,WAAW,EAAE,sBAAsB;AACpC,CAAC,QAAQ,EAAE,iBAAiB;AAC5B,CAAC,YAAY,EAAE,wBAAwB;AACvC,CAAC,KAAK,EAAE,cAAc;AACtB;AACA,CAAC,MAAM,EAAE,gBAAgB;AACzB,CAAC,MAAM,EAAE,wBAAwB;AACjC,CAAC,KAAK,EAAE,qBAAqB;AAC7B,CAAC,IAAI,EAAE,mBAAmB;AAC1B,CAAC,YAAY,EAAE,uBAAuB;AACtC,CAAC,mBAAmB,EAAE,QAAQ;AAC9B,CAAC,OAAO,EAAE,kBAAkB;AAC5B,CAAC,MAAM,EAAE,oBAAoB;AAC7B,CAAC,QAAQ,EAAE,mBAAmB;AAC9B,CAAC,IAAI,EAAE,0BAA0B;AACjC,CAAC,QAAQ,EAAE,sBAAsB;AACjC,CAAC,YAAY,EAAE,sBAAsB;AACrC;AACA,CAAC,KAAK,EAAE,aAAa;AACrB,CAAC,UAAU,EAAE,eAAe;AAC5B,CAAC,OAAO,EAAE,sBAAsB;AAChC,CAAC,SAAS,EAAE,WAAW;AACvB,CAAC,KAAK,EAAE,sBAAsB;AAC9B,CAAC,OAAO,EAAE,oBAAoB;AAC9B,CAAC,OAAO,EAAE,mBAAmB;AAC7B,CAAC,OAAO,EAAE,UAAU;AACpB,CAAC,OAAO,EAAE,gBAAgB;AAC1B,CAAC,IAAI,EAAE,aAAa;AACpB,CAAC,kBAAkB,EAAE,cAAc;AACnC,CAAC,WAAW,EAAE,iBAAiB;AAC/B,CAAC,GAAG,EAAE,gBAAgB;AACtB,CAAC,MAAM,EAAE,0BAA0B;AACnC,CAAC,QAAQ,EAAE,sBAAsB;AACjC,CAAC,OAAO,EAAE,aAAa;AACvB,CAAC,OAAO,EAAE,YAAY;AACtB,CAAC,OAAO,EAAE,kBAAkB;AAC5B;AACA,CAAC,MAAM,EAAE,kBAAkB;AAC3B,CAAC,SAAS,EAAE,iBAAiB;AAC7B,CAAC,SAAS,EAAE,kBAAkB;AAC9B,CAAC,GAAG,EAAE,aAAa;AACnB,CAAC,UAAU,EAAE,OAAO;AACpB,CAAC,UAAU,EAAE,UAAU;AACvB,CAAC,gBAAgB,EAAE,aAAa;AAChC;AACA,CAAC,QAAQ,EAAE,eAAe;AAC1B,CAAC,UAAU,EAAE,uBAAuB;AACpC,CAAC,MAAM,EAAE,oBAAoB;AAC7B,CAAC,aAAa,EAAE,oBAAoB;AACpC,CAAC,WAAW,EAAE,oBAAoB;AAClC,CAAC,KAAK,EAAE,aAAa;AACrB,CAAC,GAAG,EAAE,YAAY;AAClB,CAAC,aAAa,EAAE,kBAAkB;AAClC,CAAC,OAAO,EAAE,mBAAmB;AAC7B,CAAC,aAAa,EAAE,eAAe;AAC/B,CAAC,OAAO,EAAE,kBAAkB;AAC5B,CAAC,eAAe,EAAE,iBAAiB;AACnC,CAAC,SAAS,EAAE,uBAAuB;AACnC,CAAC,UAAU,EAAE,oBAAoB;AACjC;AACA,CAAC,WAAW,EAAE,KAAK;AACnB,CAAC,UAAU,EAAE,0BAA0B;AACvC,CAAC,OAAO,EAAE,SAAS;AACnB,CAAC,UAAU,EAAE,oBAAoB;AACjC,CAAC,KAAK,EAAE,cAAc;AACtB,CAAC,EAAE,EAAE,OAAO;AACZ,CAAC,IAAI,EAAE,gBAAgB;AACvB,CAAC,IAAI,EAAE,iBAAiB;AACxB,CAAC,MAAM,EAAE,eAAe;AACxB,CAAC,MAAM,EAAE,cAAc;AACvB;AACA,CAAC,QAAQ,EAAE,kBAAkB;AAC7B,CAAC,GAAG,EAAE,YAAY;AAClB,CAAC,WAAW,EAAE,eAAe;AAC7B;AACA,CAAC,MAAM,EAAE,4BAA4B;AACrC,CAAC,QAAQ,EAAE,eAAe;AAC1B,CAAC,UAAU,EAAE,cAAc;AAC3B,CAAC,SAAS,EAAE,YAAY;AACxB,CAAC,QAAQ,EAAE,YAAY;AACvB,CAAC,SAAS,EAAE,kBAAkB;AAC9B,CAAC,IAAI,EAAE,sBAAsB;AAC7B,CAAC,OAAO,EAAE,sBAAsB;AAChC;AACA,CAAC,IAAI,EAAE,YAAY;AACnB,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,IAAI,EAAE,eAAe;AACtB,CAAC,MAAM,EAAE,eAAe;AACxB,CAAC,GAAG,EAAE,aAAa;AACnB,CAAC,IAAI,EAAE,oBAAoB;AAC3B,CAAC,MAAM,EAAE,QAAQ;AACjB,CAAC,OAAO,EAAE,oBAAoB;AAC9B,CAAC,QAAQ,EAAE,UAAU;AACrB,CAAC,OAAO,EAAE,SAAS;AACnB,CAAC,eAAe,EAAE,WAAW;AAC7B,CAAC,IAAI,EAAE,aAAa;AACpB,CAAC,KAAK,EAAE,qBAAqB;AAC7B,CAAC,MAAM,EAAE,eAAe;AACxB,CAAC,KAAK,EAAE,gBAAgB;AACxB,CAAC,KAAK,EAAE,cAAc;AACtB,CAAC,IAAI,EAAE,aAAa;AACpB,CAAC,IAAI,EAAE,gBAAgB;AACvB,CAAC,IAAI,EAAE,aAAa;AACpB,CAAC,MAAM,EAAE,oBAAoB;AAC7B,CAAC,KAAK,EAAE,oBAAoB;AAC5B;AACA,CAAC,KAAK,EAAE,wBAAwB;AAChC,CAAC,KAAK,EAAE,mBAAmB;AAC3B,CAAC,UAAU,EAAE,oBAAoB;AACjC,CAAC,WAAW,EAAE,qBAAqB;AACnC,CAAC,OAAO,EAAE,mBAAmB;AAC7B,CAAC,KAAK,EAAE,qBAAqB;AAC7B,CAAC,KAAK,EAAE,YAAY;AACpB,CAAC,EAAC;AACF;AACA;AACA;AACA;AACA;AACA;AAC8B,MAAM,CAAC,MAAM,CAAC;AAC5C,CAAC,GAAG,qBAAqB;AACzB,CAAC,GAAG,qBAAqB;AACzB,CAAC,EAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACmC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;AACpE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC,EAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;AACtD,CAAC,wBAAwB,EAAE,4BAA4B;AACvD,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,mBAAmB,EAAEA,mBAAuB;AAC7C,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,mBAAmB,EAAE,uBAAuB;AAC7C,CAAC,sBAAsB,EAAE,0BAA0B;AACnD,CAAC,cAAc,EAAEC,cAAkB;AACnC,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,oBAAoB,EAAE,wBAAwB;AAC/C,CAAC,oBAAoB,EAAE,wBAAwB;AAC/C,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,oBAAoB,EAAE,wBAAwB;AAC/C,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,kBAAkB,EAAEC,kBAAsB;AAC3C,CAAC,GAAG,EAAE,OAAO;AACb,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,WAAW,EAAE,eAAe;AAC7B,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,WAAW,EAAEC,WAAe;AAC7B,CAAC,0BAA0B,EAAE,8BAA8B;AAC3D,CAAC,sBAAsB,EAAE,0BAA0B;AACnD,CAAC,SAAS,EAAE,aAAa;AACzB,CAAC,KAAK,EAAE,SAAS;AACjB,CAAC,gBAAgB,EAAEC,gBAAoB;AACvC,CAAC,wBAAwB,EAAE,4BAA4B;AACvD,CAAC,sBAAsB,EAAE,0BAA0B;AACnD,CAAC,oBAAoB,EAAEC,oBAAwB;AAC/C,CAAC,eAAe,EAAEC,eAAmB;AACrC,CAAC,qBAAqB,EAAE,yBAAyB;AACjD,CAAC,mBAAmB,EAAE,uBAAuB;AAC7C,CAAC,sBAAsB,EAAE,0BAA0B;AACnD,CAAC,UAAU,EAAE,cAAc;AAC3B,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,WAAW,EAAE,eAAe;AAC7B,CAAC,QAAQ,EAAE,YAAY;AACvB,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,QAAQ,EAAEC,QAAY;AACvB,CAAC,eAAe,EAAE,mBAAmB;AACrC,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,WAAW,EAAE,eAAe;AAC7B,CAAC,oBAAoB,EAAE,wBAAwB;AAC/C,CAAC,kBAAkB,EAAEC,kBAAsB;AAC3C,CAAC,oBAAoB,EAAE,wBAAwB;AAC/C,CAAC,2BAA2B,EAAE,+BAA+B;AAC7D,CAAC,uBAAuB,EAAE,2BAA2B;AACrD,CAAC,qBAAqB,EAAEC,qBAAyB;AACjD,CAAC,oBAAoB,EAAEC,iBAAwB;AAC/C,CAAC,qBAAqB,EAAE,yBAAyB;AACjD,CAAC,oBAAoB,EAAE,wBAAwB;AAC/C,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,YAAY,EAAEC,YAAgB;AAC/B,CAAC,kBAAkB,EAAEC,kBAAsB;AAC3C,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,UAAU,EAAEC,UAAc;AAC3B,CAAC,cAAc,EAAEC,cAAkB;AACnC,CAAC,sBAAsB,EAAE,0BAA0B;AACnD,CAAC,WAAW,EAAEC,WAAe;AAC7B,CAAC,WAAW,EAAEC,WAAe;AAC7B,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,WAAW,EAAE,eAAe;AAC7B,CAAC,WAAW,EAAEC,WAAe;AAC7B,CAAC,yBAAyB,EAAE,6BAA6B;AACzD,CAAC,qBAAqB,EAAE,yBAAyB;AACjD,CAAC,qBAAqB,EAAE,yBAAyB;AACjD,CAAC,eAAe,EAAEC,eAAmB;AACrC,CAAC,aAAa,EAAEC,aAAiB;AACjC,CAAC,mBAAmB,EAAE,uBAAuB;AAC7C,CAAC,MAAM,EAAEC,MAAU;AACnB,CAAC,cAAc,EAAEC,cAAkB;AACnC,CAAC,QAAQ,EAAEC,QAAY;AACvB,CAAC,YAAY,EAAEC,YAAgB;AAC/B,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,UAAU,EAAEC,UAAc;AAC3B,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,2BAA2B,EAAE,+BAA+B;AAC7D,CAAC,mBAAmB,EAAEC,mBAAuB;AAC7C,CAAC,eAAe,EAAE,mBAAmB;AACrC,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,QAAQ,EAAE,YAAY;AACvB,CAAC,eAAe,EAAE,mBAAmB;AACrC,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,oBAAoB,EAAEC,oBAAwB;AAC/C,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,aAAa,EAAEC,aAAiB;AACjC,CAAC,gBAAgB,EAAEC,gBAAoB;AACvC,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,KAAK,EAAE,SAAS;AACjB,CAAC,KAAK,EAAE,SAAS;AACjB,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,gBAAgB,EAAE,oBAAoB;AACvC,CAAC,OAAO,EAAEC,OAAW;AACrB,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,kBAAkB,EAAEC,kBAAsB;AAC3C,CAAC,UAAU,EAAEC,UAAc;AAC3B,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,WAAW,EAAEC,WAAe;AAC7B,CAAC,WAAW,EAAEC,WAAe;AAC7B,CAAC,OAAO,EAAEC,OAAW;AACrB,CAAC,gBAAgB,EAAEC,gBAAoB;AACvC,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,UAAU,EAAEC,OAAc;AAC3B,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,eAAe,EAAE,mBAAmB;AACrC,CAAC,qBAAqB,EAAE,yBAAyB;AACjD,CAAC,SAAS,EAAEC,SAAa;AACzB,CAAC,oBAAoB,EAAEC,oBAAwB;AAC/C,CAAC,SAAS,EAAEC,SAAa;AACzB,CAAC,aAAa,EAAEC,aAAiB;AACjC,CAAC,cAAc,EAAE,kBAAkB;AACnC,CAAC,iBAAiB,EAAEC,iBAAqB;AACzC,CAAC,WAAW,EAAE,eAAe;AAC7B,CAAC,IAAI,EAAEC,IAAQ;AACf,CAAC,cAAc,EAAE,kBAAkB;AACnC,CAAC,KAAK,EAAEC,KAAS;AACjB,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,cAAc,EAAE,kBAAkB;AACnC,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,OAAO,EAAEC,OAAW;AACrB,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,aAAa,EAAE,iBAAiB;AACjC,CAAC,mBAAmB,EAAEC,mBAAuB;AAC7C,CAAC,oBAAoB,EAAEC,oBAAwB;AAC/C,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,gBAAgB,EAAEC,gBAAoB;AACvC,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,aAAa,EAAEC,aAAiB;AACjC,CAAC,iBAAiB,EAAE,qBAAqB;AACzC,CAAC,cAAc,EAAEC,cAAkB;AACnC,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,WAAW,EAAE,eAAe;AAC7B,CAAC,YAAY,EAAE,gBAAgB;AAC/B,CAAC,cAAc,EAAE,kBAAkB;AACnC,CAAC,UAAU,EAAE,cAAc;AAC3B,CAAC,UAAU,EAAEC,UAAc;AAC3B,CAAC,cAAc,EAAE,kBAAkB;AACnC,CAAC,cAAc,EAAE,kBAAkB;AACnC,CAAC,wBAAwB,EAAE,4BAA4B;AACvD,CAAC,QAAQ,EAAE,YAAY;AACvB,CAAC,UAAU,EAAE,cAAc;AAC3B,CAAC,MAAM,EAAEC,MAAU;AACnB,CAAC,kBAAkB,EAAE,sBAAsB;AAC3C,CAAC,iBAAiB,EAAEC,iBAAqB;AACzC,CAAC,oBAAoB,EAAEC,oBAAwB;AAC/C,CAAC,eAAe,EAAEC,eAAmB;AACrC,CAAC,SAAS,EAAE,aAAa;AACzB,CAAC,OAAO,EAAE,WAAW;AACrB,CAAC,EAAC;AAiBF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,wBAAwB,CAAC,IAAI,EAAE;AAC/C,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,EAAE,OAAO,IAAI;AACb,EAAE;AACF,CAAC,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,IAAI;AAC9C;;;;"}
|
|
@@ -2774,6 +2774,8 @@ var script = {
|
|
|
2774
2774
|
const namedPageSize = Number(props.sourceConfig && props.sourceConfig.limit) > 0 ? Number(props.sourceConfig.limit) : 20;
|
|
2775
2775
|
const namedPaging = ref({ page: 1, limit: namedPageSize });
|
|
2776
2776
|
const namedActiveFilters = ref(namedFiltersFromRoute(getCurrentInstance(), props));
|
|
2777
|
+
// The search term on a named source that searches (`searchParam`).
|
|
2778
|
+
const namedSearchTerm = ref('');
|
|
2777
2779
|
|
|
2778
2780
|
const {
|
|
2779
2781
|
isNamedSource,
|
|
@@ -2781,7 +2783,7 @@ var script = {
|
|
|
2781
2783
|
namedRows,
|
|
2782
2784
|
namedLoading,
|
|
2783
2785
|
namedQuickFilters,
|
|
2784
|
-
} = useNamedSource(props, { activeQuickFilterIndex, activeFilters: namedActiveFilters, paging: namedPaging });
|
|
2786
|
+
} = useNamedSource(props, { activeQuickFilterIndex, activeFilters: namedActiveFilters, paging: namedPaging, searchTerm: namedSearchTerm });
|
|
2785
2787
|
|
|
2786
2788
|
return {
|
|
2787
2789
|
isBoard: isBoardLook,
|
|
@@ -2794,6 +2796,7 @@ var script = {
|
|
|
2794
2796
|
namedQuickFilters,
|
|
2795
2797
|
namedActiveFilters,
|
|
2796
2798
|
namedPaging,
|
|
2799
|
+
namedSearchTerm,
|
|
2797
2800
|
contextMenuOpen,
|
|
2798
2801
|
contextMenuRow,
|
|
2799
2802
|
openContextMenu,
|
|
@@ -3203,6 +3206,46 @@ var script = {
|
|
|
3203
3206
|
return this.selfFetchFailed ? readSearchRefusal(this.list.error.value, this.effectiveSearchValue) : null
|
|
3204
3207
|
},
|
|
3205
3208
|
|
|
3209
|
+
/**
|
|
3210
|
+
* Whether the named source sends the search term to its server.
|
|
3211
|
+
*
|
|
3212
|
+
* @return {boolean}
|
|
3213
|
+
*/
|
|
3214
|
+
namedSourceSearches() {
|
|
3215
|
+
return this.isNamedSource && !!this.namedSource && typeof this.namedSource.searchParam === 'string' && this.namedSource.searchParam !== ''
|
|
3216
|
+
},
|
|
3217
|
+
|
|
3218
|
+
/**
|
|
3219
|
+
* The sentence the named source's server refused this reader with, or ''.
|
|
3220
|
+
* While it holds the page shows it instead of the rows, the search and
|
|
3221
|
+
* the tabs: a list nobody may read is not an empty list.
|
|
3222
|
+
*
|
|
3223
|
+
* @return {string}
|
|
3224
|
+
* @spec openspec/changes/index-endpoint-source-states/specs/index-page/spec.md
|
|
3225
|
+
*/
|
|
3226
|
+
sourceRefusal() {
|
|
3227
|
+
return this.isNamedSource && this.namedSource && typeof this.namedSource.refusal === 'function' ? (this.namedSource.refusal() || '') : ''
|
|
3228
|
+
},
|
|
3229
|
+
|
|
3230
|
+
/**
|
|
3231
|
+
* Whether the named source's last load failed (not refused).
|
|
3232
|
+
*
|
|
3233
|
+
* @return {boolean}
|
|
3234
|
+
*/
|
|
3235
|
+
sourceFailed() {
|
|
3236
|
+
return this.isNamedSource && !!this.namedSource && typeof this.namedSource.failed === 'function' && this.namedSource.failed() === true
|
|
3237
|
+
},
|
|
3238
|
+
|
|
3239
|
+
/**
|
|
3240
|
+
* The note the named source read off its last answer, or ''.
|
|
3241
|
+
*
|
|
3242
|
+
* @return {string}
|
|
3243
|
+
* @spec openspec/changes/index-endpoint-source-states/specs/index-page/spec.md
|
|
3244
|
+
*/
|
|
3245
|
+
sourceNote() {
|
|
3246
|
+
return this.isNamedSource && this.namedSource && typeof this.namedSource.note === 'function' ? (this.namedSource.note() || '') : ''
|
|
3247
|
+
},
|
|
3248
|
+
|
|
3206
3249
|
/** @return {string} What to do after a refused search. */
|
|
3207
3250
|
searchRefusalHintText() {
|
|
3208
3251
|
if (this.searchRefusalHint) {
|
|
@@ -4488,6 +4531,9 @@ var script = {
|
|
|
4488
4531
|
},
|
|
4489
4532
|
|
|
4490
4533
|
tabStripEntries() {
|
|
4534
|
+
if (this.sourceRefusal) {
|
|
4535
|
+
return []
|
|
4536
|
+
}
|
|
4491
4537
|
if (this.lensTabs.length > 0) {
|
|
4492
4538
|
return this.lensTabs
|
|
4493
4539
|
}
|
|
@@ -5588,6 +5634,9 @@ var script = {
|
|
|
5588
5634
|
|
|
5589
5635
|
/** Search term / visible columns / active facet filters for the embedded sidebar. */
|
|
5590
5636
|
effectiveSearchValue() {
|
|
5637
|
+
if (this.namedSourceSearches) {
|
|
5638
|
+
return this.namedSearchTerm || ''
|
|
5639
|
+
}
|
|
5591
5640
|
return this.isSelfFetchMode ? (this.list.searchTerm.value || '') : (this.searchValue || '')
|
|
5592
5641
|
},
|
|
5593
5642
|
|
|
@@ -8358,6 +8407,9 @@ var script = {
|
|
|
8358
8407
|
* @return {void}
|
|
8359
8408
|
*/
|
|
8360
8409
|
onSearchEvent(value) {
|
|
8410
|
+
if (this.namedSourceSearches) {
|
|
8411
|
+
this.namedSearchTerm = value || '';
|
|
8412
|
+
}
|
|
8361
8413
|
if (this.isSelfFetchMode && typeof this.list.onSearch === 'function') {
|
|
8362
8414
|
this.list.onSearch(value);
|
|
8363
8415
|
this.persistViewStateToRoute(this.currentViewState());
|