@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,392 @@
|
|
|
1
|
+
import { resolveComponent, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createBlock, createElementVNode, toDisplayString, createCommentVNode, withModifiers, createVNode, withCtx, createTextVNode } from 'vue';
|
|
2
|
+
|
|
3
|
+
const _hoisted_1 = ["aria-expanded", "aria-controls", "onClick"];
|
|
4
|
+
const _hoisted_2 = {
|
|
5
|
+
key: 1,
|
|
6
|
+
class: "cn-sm-group__heading"
|
|
7
|
+
};
|
|
8
|
+
const _hoisted_3 = {
|
|
9
|
+
key: 2,
|
|
10
|
+
class: "cn-sm-group__notice",
|
|
11
|
+
role: "note"
|
|
12
|
+
};
|
|
13
|
+
const _hoisted_4 = ["id"];
|
|
14
|
+
const _hoisted_5 = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "cn-sm-field cn-sm-field--check"
|
|
17
|
+
};
|
|
18
|
+
const _hoisted_6 = ["id", "checked", "disabled", "onChange"];
|
|
19
|
+
const _hoisted_7 = ["for"];
|
|
20
|
+
const _hoisted_8 = ["draggable", "onDragstart", "onDrop"];
|
|
21
|
+
const _hoisted_9 = {
|
|
22
|
+
key: 0,
|
|
23
|
+
class: "cn-sm-list__handle",
|
|
24
|
+
"aria-hidden": "true"
|
|
25
|
+
};
|
|
26
|
+
const _hoisted_10 = ["value", "placeholder", "aria-label", "disabled", "onInput"];
|
|
27
|
+
const _hoisted_11 = { class: "cn-sm-field" };
|
|
28
|
+
const _hoisted_12 = ["for"];
|
|
29
|
+
const _hoisted_13 = ["id", "value", "disabled", "onChange"];
|
|
30
|
+
const _hoisted_14 = ["value"];
|
|
31
|
+
const _hoisted_15 = {
|
|
32
|
+
key: 4,
|
|
33
|
+
class: "cn-sm-list"
|
|
34
|
+
};
|
|
35
|
+
const _hoisted_16 = { class: "cn-sm-field__label" };
|
|
36
|
+
const _hoisted_17 = ["id", "checked", "disabled", "onChange"];
|
|
37
|
+
const _hoisted_18 = ["for"];
|
|
38
|
+
const _hoisted_19 = {
|
|
39
|
+
key: 5,
|
|
40
|
+
class: "cn-sm-field cn-sm-field--check"
|
|
41
|
+
};
|
|
42
|
+
const _hoisted_20 = ["id", "checked", "disabled", "onChange"];
|
|
43
|
+
const _hoisted_21 = ["for"];
|
|
44
|
+
const _hoisted_22 = ["for"];
|
|
45
|
+
const _hoisted_23 = ["id", "disabled", "onChange"];
|
|
46
|
+
const _hoisted_24 = ["value", "selected"];
|
|
47
|
+
const _hoisted_25 = ["for"];
|
|
48
|
+
const _hoisted_26 = ["id", "rows", "value", "placeholder", "aria-describedby", "disabled", "onInput"];
|
|
49
|
+
const _hoisted_27 = ["id", "type", "min", "max", "value", "placeholder", "aria-describedby", "disabled", "onInput"];
|
|
50
|
+
const _hoisted_28 = ["id"];
|
|
51
|
+
|
|
52
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
53
|
+
const _component_CnStateMachineFields = resolveComponent("CnStateMachineFields", true);
|
|
54
|
+
const _component_ChevronDown = resolveComponent("ChevronDown");
|
|
55
|
+
const _component_ChevronRight = resolveComponent("ChevronRight");
|
|
56
|
+
const _component_DragVertical = resolveComponent("DragVertical");
|
|
57
|
+
const _component_ArrowUp = resolveComponent("ArrowUp");
|
|
58
|
+
const _component_NcButton = resolveComponent("NcButton");
|
|
59
|
+
const _component_ArrowDown = resolveComponent("ArrowDown");
|
|
60
|
+
const _component_Close = resolveComponent("Close");
|
|
61
|
+
|
|
62
|
+
return (openBlock(), createElementBlock("div", {
|
|
63
|
+
class: normalizeClass(["cn-sm-fields", { 'cn-sm-fields--row': $props.row }])
|
|
64
|
+
}, [
|
|
65
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.fields, (field, fieldIndex) => {
|
|
66
|
+
return (openBlock(), createElementBlock(Fragment, {
|
|
67
|
+
key: field.key || `${field.type}-${fieldIndex}`
|
|
68
|
+
}, [
|
|
69
|
+
(field.type === 'row')
|
|
70
|
+
? (openBlock(), createBlock(_component_CnStateMachineFields, {
|
|
71
|
+
key: 0,
|
|
72
|
+
fields: field.fields,
|
|
73
|
+
target: $props.target,
|
|
74
|
+
path: $props.path,
|
|
75
|
+
disabled: $options.isDisabled(field),
|
|
76
|
+
row: ""
|
|
77
|
+
}, null, 8 /* PROPS */, ["fields", "target", "path", "disabled"]))
|
|
78
|
+
: (field.type === 'group')
|
|
79
|
+
? (openBlock(), createElementBlock("div", {
|
|
80
|
+
key: 1,
|
|
81
|
+
class: normalizeClass(["cn-sm-group", { 'cn-sm-group--section': field.section }])
|
|
82
|
+
}, [
|
|
83
|
+
(field.collapsible)
|
|
84
|
+
? (openBlock(), createElementBlock("button", {
|
|
85
|
+
key: 0,
|
|
86
|
+
type: "button",
|
|
87
|
+
class: "cn-sm-group__toggle",
|
|
88
|
+
"aria-expanded": $options.isOpen(field) ? 'true' : 'false',
|
|
89
|
+
"aria-controls": $options.idFor(field, 'body'),
|
|
90
|
+
onClick: $event => ($options.toggleOpen(field))
|
|
91
|
+
}, [
|
|
92
|
+
createElementVNode("span", null, toDisplayString($options.panel.tr(field.label)), 1 /* TEXT */),
|
|
93
|
+
($options.isOpen(field))
|
|
94
|
+
? (openBlock(), createBlock(_component_ChevronDown, {
|
|
95
|
+
key: 0,
|
|
96
|
+
size: 18
|
|
97
|
+
}))
|
|
98
|
+
: (openBlock(), createBlock(_component_ChevronRight, {
|
|
99
|
+
key: 1,
|
|
100
|
+
size: 18
|
|
101
|
+
}))
|
|
102
|
+
], 8 /* PROPS */, _hoisted_1))
|
|
103
|
+
: (field.label && !field.optional)
|
|
104
|
+
? (openBlock(), createElementBlock("h4", _hoisted_2, toDisplayString($options.panel.tr(field.label)), 1 /* TEXT */))
|
|
105
|
+
: createCommentVNode("v-if", true),
|
|
106
|
+
(field.lockable && $options.panel.locked && field.lockedNotice)
|
|
107
|
+
? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString($options.panel.tr(field.lockedNotice)), 1 /* TEXT */))
|
|
108
|
+
: createCommentVNode("v-if", true),
|
|
109
|
+
(!field.collapsible || $options.isOpen(field))
|
|
110
|
+
? (openBlock(), createElementBlock("div", {
|
|
111
|
+
key: 3,
|
|
112
|
+
id: $options.idFor(field, 'body'),
|
|
113
|
+
class: "cn-sm-group__body"
|
|
114
|
+
}, [
|
|
115
|
+
(field.optional)
|
|
116
|
+
? (openBlock(), createElementBlock("div", _hoisted_5, [
|
|
117
|
+
createElementVNode("input", {
|
|
118
|
+
id: $options.idFor(field, 'enabled'),
|
|
119
|
+
type: "checkbox",
|
|
120
|
+
checked: $options.panel.isEnabled($options.childPath(field)),
|
|
121
|
+
disabled: $options.isDisabled(field),
|
|
122
|
+
onChange: $event => ($options.panel.setEnabled($options.childPath(field), $event.target.checked))
|
|
123
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_6),
|
|
124
|
+
createElementVNode("label", {
|
|
125
|
+
for: $options.idFor(field, 'enabled')
|
|
126
|
+
}, toDisplayString($options.panel.tr(field.toggleLabel || field.label)), 9 /* TEXT, PROPS */, _hoisted_7)
|
|
127
|
+
]))
|
|
128
|
+
: createCommentVNode("v-if", true),
|
|
129
|
+
(!field.optional || $options.panel.isEnabled($options.childPath(field)))
|
|
130
|
+
? (openBlock(), createBlock(_component_CnStateMachineFields, {
|
|
131
|
+
key: 1,
|
|
132
|
+
class: normalizeClass({ 'cn-sm-fields--boxed': field.optional }),
|
|
133
|
+
fields: field.fields,
|
|
134
|
+
target: field.key ? $props.target[field.key] : $props.target,
|
|
135
|
+
path: $options.childPath(field),
|
|
136
|
+
disabled: $options.isDisabled(field)
|
|
137
|
+
}, null, 8 /* PROPS */, ["class", "fields", "target", "path", "disabled"]))
|
|
138
|
+
: createCommentVNode("v-if", true)
|
|
139
|
+
], 8 /* PROPS */, _hoisted_4))
|
|
140
|
+
: createCommentVNode("v-if", true)
|
|
141
|
+
], 2 /* CLASS */))
|
|
142
|
+
: (field.type === 'list')
|
|
143
|
+
? (openBlock(), createElementBlock("fieldset", {
|
|
144
|
+
key: 2,
|
|
145
|
+
class: normalizeClass(["cn-sm-list", { 'cn-sm-list--section': field.section }])
|
|
146
|
+
}, [
|
|
147
|
+
createElementVNode("legend", {
|
|
148
|
+
class: normalizeClass(["cn-sm-field__label", { 'cn-sm-list__legend--section': field.section }])
|
|
149
|
+
}, toDisplayString($options.panel.tr(field.label)), 3 /* TEXT, CLASS */),
|
|
150
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.target[field.key], (item, index) => {
|
|
151
|
+
return (openBlock(), createElementBlock("div", {
|
|
152
|
+
key: $options.itemKey(field, item, index),
|
|
153
|
+
class: "cn-sm-list__item",
|
|
154
|
+
draggable: field.reorderable && !$options.isDisabled(field) ? 'true' : 'false',
|
|
155
|
+
onDragstart: $event => ($options.onItemDragStart(field, index, $event)),
|
|
156
|
+
onDragover: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"])),
|
|
157
|
+
onDrop: withModifiers($event => ($options.onItemDrop(field, index)), ["stop","prevent"])
|
|
158
|
+
}, [
|
|
159
|
+
(field.reorderable)
|
|
160
|
+
? (openBlock(), createElementBlock("span", _hoisted_9, [
|
|
161
|
+
createVNode(_component_DragVertical, { size: 16 })
|
|
162
|
+
]))
|
|
163
|
+
: createCommentVNode("v-if", true),
|
|
164
|
+
createElementVNode("input", {
|
|
165
|
+
type: "text",
|
|
166
|
+
class: "cn-sm-field__input",
|
|
167
|
+
value: $options.itemText(field, item),
|
|
168
|
+
placeholder: field.itemLabel ? $options.panel.tr(field.itemLabel) : '',
|
|
169
|
+
"aria-label": $options.itemAriaLabel(field, index),
|
|
170
|
+
disabled: $options.isDisabled(field),
|
|
171
|
+
onInput: $event => ($options.setItemText(field, index, $event.target.value))
|
|
172
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_10),
|
|
173
|
+
(field.reorderable)
|
|
174
|
+
? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
175
|
+
createVNode(_component_NcButton, {
|
|
176
|
+
variant: "tertiary",
|
|
177
|
+
disabled: $options.isDisabled(field) || index === 0,
|
|
178
|
+
"aria-label": $options.moveLabel(field, index, 'up'),
|
|
179
|
+
onClick: $event => ($options.move(field, index, index - 1))
|
|
180
|
+
}, {
|
|
181
|
+
icon: withCtx(() => [
|
|
182
|
+
createVNode(_component_ArrowUp, { size: 16 })
|
|
183
|
+
]),
|
|
184
|
+
_: 1 /* STABLE */
|
|
185
|
+
}, 8 /* PROPS */, ["disabled", "aria-label", "onClick"]),
|
|
186
|
+
createVNode(_component_NcButton, {
|
|
187
|
+
variant: "tertiary",
|
|
188
|
+
disabled: $options.isDisabled(field) || index === $props.target[field.key].length - 1,
|
|
189
|
+
"aria-label": $options.moveLabel(field, index, 'down'),
|
|
190
|
+
onClick: $event => ($options.move(field, index, index + 1))
|
|
191
|
+
}, {
|
|
192
|
+
icon: withCtx(() => [
|
|
193
|
+
createVNode(_component_ArrowDown, { size: 16 })
|
|
194
|
+
]),
|
|
195
|
+
_: 1 /* STABLE */
|
|
196
|
+
}, 8 /* PROPS */, ["disabled", "aria-label", "onClick"])
|
|
197
|
+
], 64 /* STABLE_FRAGMENT */))
|
|
198
|
+
: createCommentVNode("v-if", true),
|
|
199
|
+
createVNode(_component_NcButton, {
|
|
200
|
+
variant: "tertiary",
|
|
201
|
+
disabled: $options.isDisabled(field),
|
|
202
|
+
"aria-label": $options.removeLabel(field, index),
|
|
203
|
+
onClick: $event => ($options.removeItem(field, index))
|
|
204
|
+
}, {
|
|
205
|
+
icon: withCtx(() => [
|
|
206
|
+
createVNode(_component_Close, { size: 16 })
|
|
207
|
+
]),
|
|
208
|
+
_: 1 /* STABLE */
|
|
209
|
+
}, 8 /* PROPS */, ["disabled", "aria-label", "onClick"])
|
|
210
|
+
], 40 /* PROPS, NEED_HYDRATION */, _hoisted_8))
|
|
211
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
212
|
+
createVNode(_component_NcButton, {
|
|
213
|
+
variant: "secondary",
|
|
214
|
+
disabled: $options.isDisabled(field),
|
|
215
|
+
onClick: $event => ($options.addItem(field))
|
|
216
|
+
}, {
|
|
217
|
+
default: withCtx(() => [
|
|
218
|
+
createTextVNode(toDisplayString($options.panel.tr(field.addLabel) || $options.t('nextcloud-vue', 'Add')), 1 /* TEXT */)
|
|
219
|
+
]),
|
|
220
|
+
_: 2 /* DYNAMIC */
|
|
221
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["disabled", "onClick"])
|
|
222
|
+
], 2 /* CLASS */))
|
|
223
|
+
: (field.type === 'typed-list')
|
|
224
|
+
? (openBlock(), createElementBlock("fieldset", {
|
|
225
|
+
key: 3,
|
|
226
|
+
class: normalizeClass(["cn-sm-list", { 'cn-sm-list--section': field.section }])
|
|
227
|
+
}, [
|
|
228
|
+
createElementVNode("legend", {
|
|
229
|
+
class: normalizeClass(["cn-sm-field__label", { 'cn-sm-list__legend--section': field.section }])
|
|
230
|
+
}, toDisplayString($options.panel.tr(field.label)), 3 /* TEXT, CLASS */),
|
|
231
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.target[field.key], (item, index) => {
|
|
232
|
+
return (openBlock(), createElementBlock("div", {
|
|
233
|
+
key: $options.itemKey(field, item, index),
|
|
234
|
+
class: "cn-sm-list__typed"
|
|
235
|
+
}, [
|
|
236
|
+
createElementVNode("div", _hoisted_11, [
|
|
237
|
+
createElementVNode("label", {
|
|
238
|
+
for: $options.idFor(field, `type-${index}`),
|
|
239
|
+
class: "cn-sm-field__label"
|
|
240
|
+
}, toDisplayString(field.typeLabel ? $options.panel.tr(field.typeLabel) : $options.t('nextcloud-vue', 'Type')), 9 /* TEXT, PROPS */, _hoisted_12),
|
|
241
|
+
createElementVNode("select", {
|
|
242
|
+
id: $options.idFor(field, `type-${index}`),
|
|
243
|
+
class: "cn-sm-field__input",
|
|
244
|
+
value: item[$options.typeKey(field)],
|
|
245
|
+
disabled: $options.isDisabled(field),
|
|
246
|
+
onChange: $event => ($options.panel.set(item, $options.typeKey(field), $event.target.value))
|
|
247
|
+
}, [
|
|
248
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.typesFor(field, item), (type) => {
|
|
249
|
+
return (openBlock(), createElementBlock("option", {
|
|
250
|
+
key: type.value,
|
|
251
|
+
value: type.value
|
|
252
|
+
}, toDisplayString($options.panel.tr(type.label)), 9 /* TEXT, PROPS */, _hoisted_14))
|
|
253
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
254
|
+
], 40 /* PROPS, NEED_HYDRATION */, _hoisted_13)
|
|
255
|
+
]),
|
|
256
|
+
createVNode(_component_CnStateMachineFields, {
|
|
257
|
+
fields: $options.fieldsOfType(field, item),
|
|
258
|
+
target: item,
|
|
259
|
+
path: `${$options.childPath(field)}.${index}`,
|
|
260
|
+
disabled: $options.isDisabled(field)
|
|
261
|
+
}, null, 8 /* PROPS */, ["fields", "target", "path", "disabled"]),
|
|
262
|
+
createVNode(_component_NcButton, {
|
|
263
|
+
variant: "tertiary",
|
|
264
|
+
class: "cn-sm-list__remove",
|
|
265
|
+
disabled: $options.isDisabled(field),
|
|
266
|
+
"aria-label": $options.panel.tr(field.removeLabel) || $options.t('nextcloud-vue', 'Remove'),
|
|
267
|
+
onClick: $event => ($options.removeItem(field, index))
|
|
268
|
+
}, {
|
|
269
|
+
icon: withCtx(() => [
|
|
270
|
+
createVNode(_component_Close, { size: 16 })
|
|
271
|
+
]),
|
|
272
|
+
_: 1 /* STABLE */
|
|
273
|
+
}, 8 /* PROPS */, ["disabled", "aria-label", "onClick"])
|
|
274
|
+
]))
|
|
275
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
276
|
+
createVNode(_component_NcButton, {
|
|
277
|
+
variant: "secondary",
|
|
278
|
+
disabled: $options.isDisabled(field),
|
|
279
|
+
onClick: $event => ($options.addItem(field))
|
|
280
|
+
}, {
|
|
281
|
+
default: withCtx(() => [
|
|
282
|
+
createTextVNode(toDisplayString($options.panel.tr(field.addLabel) || $options.t('nextcloud-vue', 'Add')), 1 /* TEXT */)
|
|
283
|
+
]),
|
|
284
|
+
_: 2 /* DYNAMIC */
|
|
285
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["disabled", "onClick"])
|
|
286
|
+
], 2 /* CLASS */))
|
|
287
|
+
: (field.type === 'checkboxes')
|
|
288
|
+
? (openBlock(), createElementBlock("fieldset", _hoisted_15, [
|
|
289
|
+
createElementVNode("legend", _hoisted_16, toDisplayString($options.panel.tr(field.label)), 1 /* TEXT */),
|
|
290
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.panel.optionsOf(field), (option, index) => {
|
|
291
|
+
return (openBlock(), createElementBlock("div", {
|
|
292
|
+
key: String(option.value),
|
|
293
|
+
class: "cn-sm-field cn-sm-field--check"
|
|
294
|
+
}, [
|
|
295
|
+
createElementVNode("input", {
|
|
296
|
+
id: $options.idFor(field, `option-${index}`),
|
|
297
|
+
type: "checkbox",
|
|
298
|
+
checked: ($props.target[field.key] || []).includes(option.value),
|
|
299
|
+
disabled: $options.isDisabled(field),
|
|
300
|
+
onChange: $event => ($options.toggleOption(field, option.value))
|
|
301
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_17),
|
|
302
|
+
createElementVNode("label", {
|
|
303
|
+
for: $options.idFor(field, `option-${index}`)
|
|
304
|
+
}, toDisplayString(option.label), 9 /* TEXT, PROPS */, _hoisted_18)
|
|
305
|
+
]))
|
|
306
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
307
|
+
]))
|
|
308
|
+
: (field.type === 'checkbox')
|
|
309
|
+
? (openBlock(), createElementBlock("div", _hoisted_19, [
|
|
310
|
+
createElementVNode("input", {
|
|
311
|
+
id: $options.idFor(field),
|
|
312
|
+
type: "checkbox",
|
|
313
|
+
checked: !!$props.target[field.key],
|
|
314
|
+
disabled: $options.isDisabled(field),
|
|
315
|
+
onChange: $event => ($options.panel.set($props.target, field.key, $event.target.checked))
|
|
316
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_20),
|
|
317
|
+
createElementVNode("label", {
|
|
318
|
+
for: $options.idFor(field)
|
|
319
|
+
}, toDisplayString($options.panel.tr(field.label)), 9 /* TEXT, PROPS */, _hoisted_21)
|
|
320
|
+
]))
|
|
321
|
+
: (field.type === 'select')
|
|
322
|
+
? (openBlock(), createElementBlock("div", {
|
|
323
|
+
key: 6,
|
|
324
|
+
class: normalizeClass(["cn-sm-field", $options.widthClass(field)])
|
|
325
|
+
}, [
|
|
326
|
+
createElementVNode("label", {
|
|
327
|
+
for: $options.idFor(field),
|
|
328
|
+
class: normalizeClass(["cn-sm-field__label", { 'cn-sm-visually-hidden': field.hideLabel }])
|
|
329
|
+
}, toDisplayString($options.panel.tr(field.label)), 11 /* TEXT, CLASS, PROPS */, _hoisted_22),
|
|
330
|
+
createElementVNode("select", {
|
|
331
|
+
id: $options.idFor(field),
|
|
332
|
+
class: "cn-sm-field__input",
|
|
333
|
+
disabled: $options.isDisabled(field),
|
|
334
|
+
onChange: $event => ($options.onSelect(field, $event.target.value))
|
|
335
|
+
}, [
|
|
336
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.selectOptions(field), (option, index) => {
|
|
337
|
+
return (openBlock(), createElementBlock("option", {
|
|
338
|
+
key: index,
|
|
339
|
+
value: String(index),
|
|
340
|
+
selected: $options.sameValue(option.value, $props.target[field.key])
|
|
341
|
+
}, toDisplayString(option.label), 9 /* TEXT, PROPS */, _hoisted_24))
|
|
342
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
343
|
+
], 40 /* PROPS, NEED_HYDRATION */, _hoisted_23)
|
|
344
|
+
], 2 /* CLASS */))
|
|
345
|
+
: (openBlock(), createElementBlock("div", {
|
|
346
|
+
key: 7,
|
|
347
|
+
class: normalizeClass(["cn-sm-field", $options.widthClass(field)])
|
|
348
|
+
}, [
|
|
349
|
+
createElementVNode("label", {
|
|
350
|
+
for: $options.idFor(field),
|
|
351
|
+
class: normalizeClass(["cn-sm-field__label", { 'cn-sm-visually-hidden': field.hideLabel }])
|
|
352
|
+
}, toDisplayString($options.panel.tr(field.label)), 11 /* TEXT, CLASS, PROPS */, _hoisted_25),
|
|
353
|
+
(field.type === 'textarea')
|
|
354
|
+
? (openBlock(), createElementBlock("textarea", {
|
|
355
|
+
key: 0,
|
|
356
|
+
id: $options.idFor(field),
|
|
357
|
+
class: "cn-sm-field__input",
|
|
358
|
+
rows: field.rows || 3,
|
|
359
|
+
value: $props.target[field.key] ?? '',
|
|
360
|
+
placeholder: field.placeholder ? $options.panel.tr(field.placeholder) : '',
|
|
361
|
+
"aria-describedby": field.hint ? $options.idFor(field, 'hint') : undefined,
|
|
362
|
+
disabled: $options.isDisabled(field),
|
|
363
|
+
onInput: $event => ($options.panel.set($props.target, field.key, $event.target.value))
|
|
364
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_26))
|
|
365
|
+
: (openBlock(), createElementBlock("input", {
|
|
366
|
+
key: 1,
|
|
367
|
+
id: $options.idFor(field),
|
|
368
|
+
class: "cn-sm-field__input",
|
|
369
|
+
type: field.type === 'number' ? 'number' : (field.inputType || 'text'),
|
|
370
|
+
min: field.min,
|
|
371
|
+
max: field.max,
|
|
372
|
+
value: $props.target[field.key] ?? '',
|
|
373
|
+
placeholder: field.placeholder ? $options.panel.tr(field.placeholder) : '',
|
|
374
|
+
"aria-describedby": field.hint ? $options.idFor(field, 'hint') : undefined,
|
|
375
|
+
disabled: $options.isDisabled(field),
|
|
376
|
+
onInput: $event => ($options.onInput(field, $event.target.value))
|
|
377
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_27)),
|
|
378
|
+
(field.hint)
|
|
379
|
+
? (openBlock(), createElementBlock("p", {
|
|
380
|
+
key: 2,
|
|
381
|
+
id: $options.idFor(field, 'hint'),
|
|
382
|
+
class: "cn-sm-field__hint"
|
|
383
|
+
}, toDisplayString($options.panel.tr(field.hint)), 9 /* TEXT, PROPS */, _hoisted_28))
|
|
384
|
+
: createCommentVNode("v-if", true)
|
|
385
|
+
], 2 /* CLASS */))
|
|
386
|
+
], 64 /* STABLE_FRAGMENT */))
|
|
387
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
388
|
+
], 2 /* CLASS */))
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
export { render };
|
|
392
|
+
//# sourceMappingURL=CnStateMachineFields.vue3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CnStateMachineFields.vue3.js","sources":["../../../../src/components/CnStateMachineEditor/CnStateMachineFields.vue?vue&type=template&id=3e23dab3&lang.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2026 Conduction B.V. <info@conduction.nl>\n - SPDX-License-Identifier: EUPL-1.2\n -->\n<template>\n\t<div class=\"cn-sm-fields\" :class=\"{ 'cn-sm-fields--row': row }\">\n\t\t<template v-for=\"(field, fieldIndex) in fields\" :key=\"field.key || `${field.type}-${fieldIndex}`\">\n\t\t\t<!-- One line of fields side by side. -->\n\t\t\t<CnStateMachineFields\n\t\t\t\tv-if=\"field.type === 'row'\"\n\t\t\t\t:fields=\"field.fields\"\n\t\t\t\t:target=\"target\"\n\t\t\t\t:path=\"path\"\n\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\trow />\n\n\t\t\t<!-- A group: collapsible, switchable, or a nested object. -->\n\t\t\t<div v-else-if=\"field.type === 'group'\" class=\"cn-sm-group\" :class=\"{ 'cn-sm-group--section': field.section }\">\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"field.collapsible\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cn-sm-group__toggle\"\n\t\t\t\t\t:aria-expanded=\"isOpen(field) ? 'true' : 'false'\"\n\t\t\t\t\t:aria-controls=\"idFor(field, 'body')\"\n\t\t\t\t\t@click=\"toggleOpen(field)\">\n\t\t\t\t\t<span>{{ panel.tr(field.label) }}</span>\n\t\t\t\t\t<ChevronDown v-if=\"isOpen(field)\" :size=\"18\" />\n\t\t\t\t\t<ChevronRight v-else :size=\"18\" />\n\t\t\t\t</button>\n\t\t\t\t<h4 v-else-if=\"field.label && !field.optional\" class=\"cn-sm-group__heading\">\n\t\t\t\t\t{{ panel.tr(field.label) }}\n\t\t\t\t</h4>\n\n\t\t\t\t<p v-if=\"field.lockable && panel.locked && field.lockedNotice\" class=\"cn-sm-group__notice\" role=\"note\">\n\t\t\t\t\t{{ panel.tr(field.lockedNotice) }}\n\t\t\t\t</p>\n\n\t\t\t\t<div v-if=\"!field.collapsible || isOpen(field)\" :id=\"idFor(field, 'body')\" class=\"cn-sm-group__body\">\n\t\t\t\t\t<div v-if=\"field.optional\" class=\"cn-sm-field cn-sm-field--check\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t:id=\"idFor(field, 'enabled')\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t:checked=\"panel.isEnabled(childPath(field))\"\n\t\t\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t\t\t@change=\"panel.setEnabled(childPath(field), $event.target.checked)\">\n\t\t\t\t\t\t<label :for=\"idFor(field, 'enabled')\">{{ panel.tr(field.toggleLabel || field.label) }}</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<CnStateMachineFields\n\t\t\t\t\t\tv-if=\"!field.optional || panel.isEnabled(childPath(field))\"\n\t\t\t\t\t\t:class=\"{ 'cn-sm-fields--boxed': field.optional }\"\n\t\t\t\t\t\t:fields=\"field.fields\"\n\t\t\t\t\t\t:target=\"field.key ? target[field.key] : target\"\n\t\t\t\t\t\t:path=\"childPath(field)\"\n\t\t\t\t\t\t:disabled=\"isDisabled(field)\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<!-- A list of strings or of objects with one edited text. -->\n\t\t\t<fieldset v-else-if=\"field.type === 'list'\" class=\"cn-sm-list\" :class=\"{ 'cn-sm-list--section': field.section }\">\n\t\t\t\t<legend class=\"cn-sm-field__label\" :class=\"{ 'cn-sm-list__legend--section': field.section }\">\n\t\t\t\t\t{{ panel.tr(field.label) }}\n\t\t\t\t</legend>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(item, index) in target[field.key]\"\n\t\t\t\t\t:key=\"itemKey(field, item, index)\"\n\t\t\t\t\tclass=\"cn-sm-list__item\"\n\t\t\t\t\t:draggable=\"field.reorderable && !isDisabled(field) ? 'true' : 'false'\"\n\t\t\t\t\t@dragstart=\"onItemDragStart(field, index, $event)\"\n\t\t\t\t\t@dragover.prevent\n\t\t\t\t\t@drop.stop.prevent=\"onItemDrop(field, index)\">\n\t\t\t\t\t<span v-if=\"field.reorderable\" class=\"cn-sm-list__handle\" aria-hidden=\"true\">\n\t\t\t\t\t\t<DragVertical :size=\"16\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclass=\"cn-sm-field__input\"\n\t\t\t\t\t\t:value=\"itemText(field, item)\"\n\t\t\t\t\t\t:placeholder=\"field.itemLabel ? panel.tr(field.itemLabel) : ''\"\n\t\t\t\t\t\t:aria-label=\"itemAriaLabel(field, index)\"\n\t\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t\t@input=\"setItemText(field, index, $event.target.value)\">\n\t\t\t\t\t<template v-if=\"field.reorderable\">\n\t\t\t\t\t\t<NcButton\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t:disabled=\"isDisabled(field) || index === 0\"\n\t\t\t\t\t\t\t:aria-label=\"moveLabel(field, index, 'up')\"\n\t\t\t\t\t\t\t@click=\"move(field, index, index - 1)\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<ArrowUp :size=\"16\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t<NcButton\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t:disabled=\"isDisabled(field) || index === target[field.key].length - 1\"\n\t\t\t\t\t\t\t:aria-label=\"moveLabel(field, index, 'down')\"\n\t\t\t\t\t\t\t@click=\"move(field, index, index + 1)\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<ArrowDown :size=\"16\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcButton\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t\t:aria-label=\"removeLabel(field, index)\"\n\t\t\t\t\t\t@click=\"removeItem(field, index)\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Close :size=\"16\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<NcButton variant=\"secondary\" :disabled=\"isDisabled(field)\" @click=\"addItem(field)\">\n\t\t\t\t\t{{ panel.tr(field.addLabel) || t('nextcloud-vue', 'Add') }}\n\t\t\t\t</NcButton>\n\t\t\t</fieldset>\n\n\t\t\t<!-- A list of objects whose fields depend on their type. -->\n\t\t\t<fieldset v-else-if=\"field.type === 'typed-list'\" class=\"cn-sm-list\" :class=\"{ 'cn-sm-list--section': field.section }\">\n\t\t\t\t<legend class=\"cn-sm-field__label\" :class=\"{ 'cn-sm-list__legend--section': field.section }\">\n\t\t\t\t\t{{ panel.tr(field.label) }}\n\t\t\t\t</legend>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(item, index) in target[field.key]\"\n\t\t\t\t\t:key=\"itemKey(field, item, index)\"\n\t\t\t\t\tclass=\"cn-sm-list__typed\">\n\t\t\t\t\t<div class=\"cn-sm-field\">\n\t\t\t\t\t\t<label :for=\"idFor(field, `type-${index}`)\" class=\"cn-sm-field__label\">\n\t\t\t\t\t\t\t{{ field.typeLabel ? panel.tr(field.typeLabel) : t('nextcloud-vue', 'Type') }}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t:id=\"idFor(field, `type-${index}`)\"\n\t\t\t\t\t\t\tclass=\"cn-sm-field__input\"\n\t\t\t\t\t\t\t:value=\"item[typeKey(field)]\"\n\t\t\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t\t\t@change=\"panel.set(item, typeKey(field), $event.target.value)\">\n\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\tv-for=\"type in typesFor(field, item)\"\n\t\t\t\t\t\t\t\t:key=\"type.value\"\n\t\t\t\t\t\t\t\t:value=\"type.value\">\n\t\t\t\t\t\t\t\t{{ panel.tr(type.label) }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<CnStateMachineFields\n\t\t\t\t\t\t:fields=\"fieldsOfType(field, item)\"\n\t\t\t\t\t\t:target=\"item\"\n\t\t\t\t\t\t:path=\"`${childPath(field)}.${index}`\"\n\t\t\t\t\t\t:disabled=\"isDisabled(field)\" />\n\t\t\t\t\t<NcButton\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tclass=\"cn-sm-list__remove\"\n\t\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t\t:aria-label=\"panel.tr(field.removeLabel) || t('nextcloud-vue', 'Remove')\"\n\t\t\t\t\t\t@click=\"removeItem(field, index)\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Close :size=\"16\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<NcButton variant=\"secondary\" :disabled=\"isDisabled(field)\" @click=\"addItem(field)\">\n\t\t\t\t\t{{ panel.tr(field.addLabel) || t('nextcloud-vue', 'Add') }}\n\t\t\t\t</NcButton>\n\t\t\t</fieldset>\n\n\t\t\t<!-- Several values picked from a set of options. -->\n\t\t\t<fieldset v-else-if=\"field.type === 'checkboxes'\" class=\"cn-sm-list\">\n\t\t\t\t<legend class=\"cn-sm-field__label\">\n\t\t\t\t\t{{ panel.tr(field.label) }}\n\t\t\t\t</legend>\n\t\t\t\t<div v-for=\"(option, index) in panel.optionsOf(field)\" :key=\"String(option.value)\" class=\"cn-sm-field cn-sm-field--check\">\n\t\t\t\t\t<input\n\t\t\t\t\t\t:id=\"idFor(field, `option-${index}`)\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t:checked=\"(target[field.key] || []).includes(option.value)\"\n\t\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t\t@change=\"toggleOption(field, option.value)\">\n\t\t\t\t\t<label :for=\"idFor(field, `option-${index}`)\">{{ option.label }}</label>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\n\t\t\t<!-- A single check box. -->\n\t\t\t<div v-else-if=\"field.type === 'checkbox'\" class=\"cn-sm-field cn-sm-field--check\">\n\t\t\t\t<input\n\t\t\t\t\t:id=\"idFor(field)\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t:checked=\"!!target[field.key]\"\n\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t@change=\"panel.set(target, field.key, $event.target.checked)\">\n\t\t\t\t<label :for=\"idFor(field)\">{{ panel.tr(field.label) }}</label>\n\t\t\t</div>\n\n\t\t\t<!-- One value from a set of options. -->\n\t\t\t<div v-else-if=\"field.type === 'select'\" class=\"cn-sm-field\" :class=\"widthClass(field)\">\n\t\t\t\t<label :for=\"idFor(field)\" class=\"cn-sm-field__label\" :class=\"{ 'cn-sm-visually-hidden': field.hideLabel }\">\n\t\t\t\t\t{{ panel.tr(field.label) }}\n\t\t\t\t</label>\n\t\t\t\t<select\n\t\t\t\t\t:id=\"idFor(field)\"\n\t\t\t\t\tclass=\"cn-sm-field__input\"\n\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t@change=\"onSelect(field, $event.target.value)\">\n\t\t\t\t\t<option\n\t\t\t\t\t\tv-for=\"(option, index) in selectOptions(field)\"\n\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t:value=\"String(index)\"\n\t\t\t\t\t\t:selected=\"sameValue(option.value, target[field.key])\">\n\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t</option>\n\t\t\t\t</select>\n\t\t\t</div>\n\n\t\t\t<!-- Free text, a longer text, or a number. -->\n\t\t\t<div v-else class=\"cn-sm-field\" :class=\"widthClass(field)\">\n\t\t\t\t<label :for=\"idFor(field)\" class=\"cn-sm-field__label\" :class=\"{ 'cn-sm-visually-hidden': field.hideLabel }\">\n\t\t\t\t\t{{ panel.tr(field.label) }}\n\t\t\t\t</label>\n\t\t\t\t<textarea\n\t\t\t\t\tv-if=\"field.type === 'textarea'\"\n\t\t\t\t\t:id=\"idFor(field)\"\n\t\t\t\t\tclass=\"cn-sm-field__input\"\n\t\t\t\t\t:rows=\"field.rows || 3\"\n\t\t\t\t\t:value=\"target[field.key] ?? ''\"\n\t\t\t\t\t:placeholder=\"field.placeholder ? panel.tr(field.placeholder) : ''\"\n\t\t\t\t\t:aria-describedby=\"field.hint ? idFor(field, 'hint') : undefined\"\n\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t@input=\"panel.set(target, field.key, $event.target.value)\" />\n\t\t\t\t<input\n\t\t\t\t\tv-else\n\t\t\t\t\t:id=\"idFor(field)\"\n\t\t\t\t\tclass=\"cn-sm-field__input\"\n\t\t\t\t\t:type=\"field.type === 'number' ? 'number' : (field.inputType || 'text')\"\n\t\t\t\t\t:min=\"field.min\"\n\t\t\t\t\t:max=\"field.max\"\n\t\t\t\t\t:value=\"target[field.key] ?? ''\"\n\t\t\t\t\t:placeholder=\"field.placeholder ? panel.tr(field.placeholder) : ''\"\n\t\t\t\t\t:aria-describedby=\"field.hint ? idFor(field, 'hint') : undefined\"\n\t\t\t\t\t:disabled=\"isDisabled(field)\"\n\t\t\t\t\t@input=\"onInput(field, $event.target.value)\">\n\t\t\t\t<p v-if=\"field.hint\" :id=\"idFor(field, 'hint')\" class=\"cn-sm-field__hint\">\n\t\t\t\t\t{{ panel.tr(field.hint) }}\n\t\t\t\t</p>\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'\nimport ArrowDown from 'vue-material-design-icons/ArrowDown.vue'\nimport ArrowUp from 'vue-material-design-icons/ArrowUp.vue'\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport ChevronRight from 'vue-material-design-icons/ChevronRight.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\nimport DragVertical from 'vue-material-design-icons/DragVertical.vue'\nimport { newListItem } from './stateMachineFields.js'\n\n/**\n * Renders field descriptors against one object of a property panel's copy.\n *\n * Every write goes through the panel's injected `set`, so the panel owns the\n * copy and hears each change. Recursive for groups, rows and typed lists.\n */\nexport default {\n\tname: 'CnStateMachineFields',\n\n\tcomponents: { NcButton, ArrowDown, ArrowUp, ChevronDown, ChevronRight, Close, DragVertical },\n\n\tinject: ['cnStateMachinePanel'],\n\n\tprops: {\n\t\t/** The field descriptors to render. */\n\t\tfields: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/** The object of the panel's copy these fields edit. */\n\t\ttarget: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/** Where `target` sits in the copy, for ids and optional-group state. */\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/** Disable every control. */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/** Lay the fields out on one line. */\n\t\trow: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topen: {},\n\t\t\tdragIndex: null,\n\t\t\tdragKey: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {object} The owning panel's API.\n\t\t */\n\t\tpanel() {\n\t\t\treturn this.cnStateMachinePanel\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * @param {object} field A descriptor.\n\t\t * @return {boolean} Whether its controls are disabled.\n\t\t */\n\t\tisDisabled(field) {\n\t\t\treturn this.disabled || (field.lockable === true && this.panel.locked === true)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A descriptor.\n\t\t * @return {string} The path of the object a group or list edits.\n\t\t */\n\t\tchildPath(field) {\n\t\t\tif (!field.key) {\n\t\t\t\treturn this.path\n\t\t\t}\n\t\t\treturn this.path ? `${this.path}.${field.key}` : field.key\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A descriptor.\n\t\t * @param {string} [suffix] A part name.\n\t\t * @return {string} A DOM id unique within the editor.\n\t\t */\n\t\tidFor(field, suffix = '') {\n\t\t\tconst raw = [this.panel.uid, this.childPath(field) || field.type, suffix].filter(Boolean).join('-')\n\t\t\treturn raw.replace(/[^A-Za-z0-9_-]/g, '-')\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A descriptor.\n\t\t * @return {string|null} The width modifier class.\n\t\t */\n\t\twidthClass(field) {\n\t\t\treturn field.width === 'narrow' ? 'cn-sm-field--narrow' : null\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A collapsible group.\n\t\t * @return {boolean} Whether it is open.\n\t\t */\n\t\tisOpen(field) {\n\t\t\tconst key = this.childPath(field) || field.label\n\t\t\treturn this.open[key] ?? field.open === true\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A collapsible group.\n\t\t * @return {void}\n\t\t */\n\t\ttoggleOpen(field) {\n\t\t\tconst key = this.childPath(field) || field.label\n\t\t\tthis.open = { ...this.open, [key]: !this.isOpen(field) }\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A text or number descriptor.\n\t\t * @param {string} raw The input's value.\n\t\t * @return {void}\n\t\t */\n\t\tonInput(field, raw) {\n\t\t\tif (field.type === 'number') {\n\t\t\t\tthis.panel.set(this.target, field.key, raw === '' ? null : Number(raw))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.panel.set(this.target, field.key, raw)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A select descriptor.\n\t\t * @return {Array<object>} Its options, the empty option first.\n\t\t */\n\t\tselectOptions(field) {\n\t\t\tconst options = this.panel.optionsOf(field)\n\t\t\tif (field.emptyOption) {\n\t\t\t\treturn [{ value: field.emptyOption.value ?? null, label: this.panel.tr(field.emptyOption.label || '') }, ...options]\n\t\t\t}\n\t\t\treturn options\n\t\t},\n\n\t\t/**\n\t\t * @param {unknown} a One value.\n\t\t * @param {unknown} b Another.\n\t\t * @return {boolean} Whether they are the same option, treating null and undefined alike.\n\t\t */\n\t\tsameValue(a, b) {\n\t\t\treturn (a ?? null) === (b ?? null)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A select descriptor.\n\t\t * @param {string} index The chosen option's index.\n\t\t * @return {void}\n\t\t */\n\t\tonSelect(field, index) {\n\t\t\tconst option = this.selectOptions(field)[Number(index)]\n\t\t\tthis.panel.set(this.target, field.key, option ? option.value : null)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A checkboxes descriptor.\n\t\t * @param {unknown} value The option toggled.\n\t\t * @return {void}\n\t\t */\n\t\ttoggleOption(field, value) {\n\t\t\tconst current = [...(this.target[field.key] || [])]\n\t\t\tconst at = current.indexOf(value)\n\t\t\tif (at >= 0) {\n\t\t\t\tcurrent.splice(at, 1)\n\t\t\t} else {\n\t\t\t\tcurrent.push(value)\n\t\t\t}\n\t\t\tthis.panel.set(this.target, field.key, current)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {unknown} item An entry.\n\t\t * @param {number} index Its index.\n\t\t * @return {string} A stable key for the entry.\n\t\t */\n\t\titemKey(field, item, index) {\n\t\t\tif (field.idKey && item && typeof item === 'object' && item[field.idKey] !== undefined) {\n\t\t\t\treturn String(item[field.idKey])\n\t\t\t}\n\t\t\treturn `${field.key}-${index}`\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {unknown} item An entry.\n\t\t * @return {string} The text the entry's input shows.\n\t\t */\n\t\titemText(field, item) {\n\t\t\tif (field.itemType === 'object') {\n\t\t\t\treturn (item && item[field.itemKey || 'label']) ?? ''\n\t\t\t}\n\t\t\treturn item ?? ''\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The entry.\n\t\t * @param {string} value The new text.\n\t\t * @return {void}\n\t\t */\n\t\tsetItemText(field, index, value) {\n\t\t\tconst list = this.target[field.key]\n\t\t\tif (field.itemType === 'object') {\n\t\t\t\tthis.panel.set(list[index], field.itemKey || 'label', value)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.panel.set(list, index, value)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The entry.\n\t\t * @return {string} The entry input's accessible name.\n\t\t */\n\t\titemAriaLabel(field, index) {\n\t\t\tconst label = this.panel.tr(field.itemLabel || field.label)\n\t\t\treturn this.target[field.key].length > 1 ? `${label} ${index + 1}` : label\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The entry.\n\t\t * @return {string} The remove button's accessible name.\n\t\t */\n\t\tremoveLabel(field, index) {\n\t\t\tconst label = this.panel.tr(field.removeLabel) || t('nextcloud-vue', 'Remove')\n\t\t\treturn this.target[field.key].length > 1 ? `${label} ${index + 1}` : label\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The entry.\n\t\t * @param {string} direction `up` or `down`.\n\t\t * @return {string} The move button's accessible name.\n\t\t */\n\t\tmoveLabel(field, index, direction) {\n\t\t\tconst label = direction === 'up' ? t('nextcloud-vue', 'Move up') : t('nextcloud-vue', 'Move down')\n\t\t\treturn `${label}: ${this.itemText(field, this.target[field.key][index]) || index + 1}`\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @return {void}\n\t\t */\n\t\taddItem(field) {\n\t\t\tthis.panel.push(this.target[field.key], newListItem(field))\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The entry.\n\t\t * @return {void}\n\t\t */\n\t\tremoveItem(field, index) {\n\t\t\tthis.panel.splice(this.target[field.key], index)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} from The entry's index.\n\t\t * @param {number} to Its new index.\n\t\t * @return {void}\n\t\t */\n\t\tmove(field, from, to) {\n\t\t\tthis.panel.move(this.target[field.key], from, to)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The dragged entry.\n\t\t * @param {DragEvent} event The drag event.\n\t\t * @return {void}\n\t\t */\n\t\tonItemDragStart(field, index, event) {\n\t\t\tif (!field.reorderable || this.isDisabled(field)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.dragIndex = index\n\t\t\tthis.dragKey = field.key\n\t\t\tif (event.dataTransfer) {\n\t\t\t\tevent.dataTransfer.effectAllowed = 'move'\n\t\t\t\tevent.dataTransfer.setData('text/plain', String(index))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A list descriptor.\n\t\t * @param {number} index The entry dropped on.\n\t\t * @return {void}\n\t\t */\n\t\tonItemDrop(field, index) {\n\t\t\tif (this.dragKey === field.key && this.dragIndex !== null) {\n\t\t\t\tthis.move(field, this.dragIndex, index)\n\t\t\t}\n\t\t\tthis.dragIndex = null\n\t\t\tthis.dragKey = null\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A typed-list descriptor.\n\t\t * @return {string} The key holding an entry's type.\n\t\t */\n\t\ttypeKey(field) {\n\t\t\treturn field.typeKey || 'type'\n\t\t},\n\n\t\t/**\n\t\t * The types an entry can be set to: the offered ones, plus its own when\n\t\t * that is one no longer offered, so a stored entry still shows what it is.\n\t\t *\n\t\t * @param {object} field A typed-list descriptor.\n\t\t * @param {object} item The entry.\n\t\t * @return {Array<object>} The types.\n\t\t */\n\t\ttypesFor(field, item) {\n\t\t\tconst own = item[this.typeKey(field)]\n\t\t\treturn (field.types || []).filter((type) => !type.hidden || type.value === own)\n\t\t},\n\n\t\t/**\n\t\t * @param {object} field A typed-list descriptor.\n\t\t * @param {object} item The entry.\n\t\t * @return {Array<object>} The fields of the entry's type.\n\t\t */\n\t\tfieldsOfType(field, item) {\n\t\t\tconst type = (field.types || []).find((candidate) => candidate.value === item[this.typeKey(field)])\n\t\t\treturn type && Array.isArray(type.fields) ? type.fields : []\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n.cn-sm-fields {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n\tmin-width: 0;\n}\n\n.cn-sm-fields--row {\n\tflex-direction: row;\n\talign-items: flex-end;\n\tgap: 8px;\n}\n\n.cn-sm-fields--row > * {\n\tflex: 1 1 0;\n\tmin-width: 0;\n}\n\n.cn-sm-fields--row > .cn-sm-field--narrow {\n\tflex: 0 0 88px;\n}\n\n.cn-sm-fields--boxed {\n\tpadding: 8px;\n\tborder-radius: var(--border-radius, 8px);\n\tbackground: var(--color-background-dark, #ededed);\n}\n\n.cn-sm-field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tmin-width: 0;\n}\n\n.cn-sm-field--check {\n\tflex-direction: row;\n\talign-items: center;\n\tgap: 8px;\n}\n\n.cn-sm-field__label,\n.cn-sm-field > label {\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcolor: var(--color-main-text, #222);\n}\n\n.cn-sm-field--check > label {\n\tfont-weight: 400;\n}\n\n.cn-sm-field__input {\n\twidth: 100%;\n\tmin-height: 36px;\n\tbox-sizing: border-box;\n\tpadding: 6px 8px;\n\tborder: 1px solid var(--color-border-maxcontrast, #7f7f7f);\n\tborder-radius: var(--border-radius-element, 8px);\n\tbackground: var(--color-main-background, #fff);\n\tcolor: var(--color-main-text, #222);\n\tfont: inherit;\n}\n\ntextarea.cn-sm-field__input {\n\tresize: vertical;\n}\n\n.cn-sm-field__input:focus-visible {\n\toutline: 2px solid var(--color-primary-element, #0082c9);\n\toutline-offset: 1px;\n}\n\n.cn-sm-field__hint {\n\tmargin: 0;\n\tfont-size: 13px;\n\tcolor: var(--color-text-maxcontrast, #6b6b6b);\n}\n\n.cn-sm-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n\tmin-width: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n}\n\n.cn-sm-list--section,\n.cn-sm-group--section {\n\tpadding-top: 12px;\n\tborder-top: 1px solid var(--color-border, #d0d0d0);\n}\n\n.cn-sm-list legend {\n\tpadding: 0;\n\tmargin-bottom: 6px;\n}\n\n.cn-sm-list__legend--section,\n.cn-sm-group__heading {\n\tmargin: 0 0 6px;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tletter-spacing: 0.04em;\n\ttext-transform: uppercase;\n\tcolor: var(--color-text-maxcontrast, #6b6b6b);\n}\n\n.cn-sm-list__item {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n}\n\n.cn-sm-list__handle {\n\tdisplay: inline-flex;\n\tcursor: grab;\n\tcolor: var(--color-text-maxcontrast, #6b6b6b);\n}\n\n.cn-sm-list__typed {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n\tpadding: 8px 44px 8px 8px;\n\tborder-radius: var(--border-radius, 8px);\n\tbackground: var(--color-background-dark, #ededed);\n}\n\n.cn-sm-list__remove {\n\tposition: absolute;\n\ttop: 4px;\n\tinset-inline-end: 4px;\n}\n\n.cn-sm-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n}\n\n.cn-sm-group__toggle {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tmin-height: 34px;\n\tpadding: 4px 0;\n\tborder: 0;\n\tbackground: none;\n\tcolor: var(--color-text-maxcontrast, #6b6b6b);\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tletter-spacing: 0.04em;\n\ttext-transform: uppercase;\n\tcursor: pointer;\n}\n\n.cn-sm-group__toggle:focus-visible {\n\toutline: 2px solid var(--color-primary-element, #0082c9);\n\toutline-offset: 2px;\n}\n\n.cn-sm-group__notice {\n\tmargin: 0;\n\tpadding: 8px;\n\tborder-inline-start: 4px solid var(--color-warning, #c28900);\n\tborder-radius: var(--border-radius, 8px);\n\tbackground: var(--color-background-dark, #ededed);\n\tfont-size: 13px;\n}\n\n.cn-sm-group__body {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n}\n\n.cn-sm-visually-hidden {\n\tposition: absolute;\n\twidth: 1px;\n\theight: 1px;\n\toverflow: hidden;\n\tclip-path: inset(50%);\n\twhite-space: nowrap;\n}\n</style>\n"],"names":["_normalizeClass","_openBlock","_createElementBlock","_renderList","_createElementVNode","_createBlock","_toDisplayString","_Fragment","_withModifiers","_createVNode","_createTextVNode"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import script from './CnStateMachineNode.vue2.js';
|
|
2
|
+
import { render } from './CnStateMachineNode.vue3.js';
|
|
3
|
+
|
|
4
|
+
script.render = render;
|
|
5
|
+
script.__scopeId = "data-v-5d910d3c";
|
|
6
|
+
const __sfc_main = script;
|
|
7
|
+
|
|
8
|
+
export { __sfc_main as default };
|
|
9
|
+
//# sourceMappingURL=CnStateMachineNode.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CnStateMachineNode.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|