@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.
Files changed (179) hide show
  1. package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue.js +9 -0
  2. package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue.js.map +1 -0
  3. package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue2.js +226 -0
  4. package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue2.js.map +1 -0
  5. package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue3.js +211 -0
  6. package/dist/esm/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue3.js.map +1 -0
  7. package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue.js +9 -0
  8. package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue.js.map +1 -0
  9. package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue2.js +64 -0
  10. package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue2.js.map +1 -0
  11. package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue3.js +89 -0
  12. package/dist/esm/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue3.js.map +1 -0
  13. package/dist/esm/components/CnIcon/semanticIcons.js +2 -2
  14. package/dist/esm/components/CnIcon/semanticIcons.js.map +1 -1
  15. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +53 -1
  16. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  17. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +546 -523
  18. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  19. package/dist/esm/components/CnIndexPage/useNamedSource.js +9 -0
  20. package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
  21. package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue.js +9 -0
  22. package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue.js.map +1 -0
  23. package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue2.js +257 -0
  24. package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue2.js.map +1 -0
  25. package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue3.js +266 -0
  26. package/dist/esm/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue3.js.map +1 -0
  27. package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue.js +1 -1
  28. package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue2.js +14 -7
  29. package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue2.js.map +1 -1
  30. package/dist/esm/components/CnObjectSidebar/CnObjectSidebar.vue3.js.map +1 -1
  31. package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue.js +9 -0
  32. package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue.js.map +1 -0
  33. package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue2.js +278 -0
  34. package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue2.js.map +1 -0
  35. package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue3.js +128 -0
  36. package/dist/esm/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue3.js.map +1 -0
  37. package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue.js +9 -0
  38. package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue.js.map +1 -0
  39. package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue2.js +214 -0
  40. package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue2.js.map +1 -0
  41. package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue3.js +125 -0
  42. package/dist/esm/components/CnReadinessChecklist/CnReadinessChecklist.vue3.js.map +1 -0
  43. package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue.js +9 -0
  44. package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue.js.map +1 -0
  45. package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue2.js +163 -0
  46. package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue2.js.map +1 -0
  47. package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue3.js +131 -0
  48. package/dist/esm/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue3.js.map +1 -0
  49. package/dist/esm/components/CnSchemaRulesWidget/schemaRules.js +127 -0
  50. package/dist/esm/components/CnSchemaRulesWidget/schemaRules.js.map +1 -0
  51. package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue.js +9 -0
  52. package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue.js.map +1 -0
  53. package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue2.js +82 -0
  54. package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue2.js.map +1 -0
  55. package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue3.js +61 -0
  56. package/dist/esm/components/CnSearchIndexStatus/CnSearchIndexStatus.vue3.js.map +1 -0
  57. package/dist/esm/components/CnSearchIndexStatus/searchIndexStatus.js +60 -0
  58. package/dist/esm/components/CnSearchIndexStatus/searchIndexStatus.js.map +1 -0
  59. package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue.js +10 -0
  60. package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue.js.map +1 -0
  61. package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue2.js +226 -0
  62. package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue2.js.map +1 -0
  63. package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue3.js +126 -0
  64. package/dist/esm/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue3.js.map +1 -0
  65. package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue.js +10 -0
  66. package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue.js.map +1 -0
  67. package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue2.js +944 -0
  68. package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue2.js.map +1 -0
  69. package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue3.js +276 -0
  70. package/dist/esm/components/CnStateMachineEditor/CnStateMachineEditor.vue3.js.map +1 -0
  71. package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue.js +9 -0
  72. package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue.js.map +1 -0
  73. package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue2.js +354 -0
  74. package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue2.js.map +1 -0
  75. package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue3.js +392 -0
  76. package/dist/esm/components/CnStateMachineEditor/CnStateMachineFields.vue3.js.map +1 -0
  77. package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue.js +9 -0
  78. package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue.js.map +1 -0
  79. package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue2.js +180 -0
  80. package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue2.js.map +1 -0
  81. package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue3.js +208 -0
  82. package/dist/esm/components/CnStateMachineEditor/CnStateMachineNode.vue3.js.map +1 -0
  83. package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue.js +9 -0
  84. package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue.js.map +1 -0
  85. package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue2.js +244 -0
  86. package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue2.js.map +1 -0
  87. package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue3.js +76 -0
  88. package/dist/esm/components/CnStateMachineEditor/CnStateMachinePanel.vue3.js.map +1 -0
  89. package/dist/esm/components/CnStateMachineEditor/stateMachineFields.js +290 -0
  90. package/dist/esm/components/CnStateMachineEditor/stateMachineFields.js.map +1 -0
  91. package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue.js +9 -0
  92. package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue.js.map +1 -0
  93. package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue2.js +448 -0
  94. package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue2.js.map +1 -0
  95. package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue3.js +303 -0
  96. package/dist/esm/components/CnTimelineWidget/CnTimelineManage.vue3.js.map +1 -0
  97. package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue.js +1 -1
  98. package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue2.js +19 -2
  99. package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue2.js.map +1 -1
  100. package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue3.js +73 -62
  101. package/dist/esm/components/CnTimelineWidget/CnTimelineWidget.vue3.js.map +1 -1
  102. package/dist/esm/components/CnWidgetGrid/builtInWidgets.js +6 -0
  103. package/dist/esm/components/CnWidgetGrid/builtInWidgets.js.map +1 -1
  104. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +42 -32
  105. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  106. package/dist/esm/composables/indexSources.js +116 -16
  107. package/dist/esm/composables/indexSources.js.map +1 -1
  108. package/dist/esm/index.js +9 -0
  109. package/dist/esm/index.js.map +1 -1
  110. package/dist/esm/l10n/en.json.js +207 -1
  111. package/dist/esm/l10n/en.json.js.map +1 -1
  112. package/dist/esm/l10n/nl.json.js +207 -1
  113. package/dist/esm/l10n/nl.json.js.map +1 -1
  114. package/dist/esm/library-style.js +1 -1
  115. package/dist/esm/nextcloud-vue.css +951 -16
  116. package/dist/esm/utils/aiFeatures.js +245 -0
  117. package/dist/esm/utils/aiFeatures.js.map +1 -0
  118. package/dist/esm/utils/aiSuggestionTracker.js +182 -0
  119. package/dist/esm/utils/aiSuggestionTracker.js.map +1 -0
  120. package/dist/esm/utils/libraryWidgetKeys.js +2 -0
  121. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  122. package/dist/esm/utils/objectPermissions.js +552 -0
  123. package/dist/esm/utils/objectPermissions.js.map +1 -0
  124. package/dist/esm/utils/objectTranslations.js +180 -0
  125. package/dist/esm/utils/objectTranslations.js.map +1 -0
  126. package/dist/esm/utils/stateMachineValidation.js +254 -0
  127. package/dist/esm/utils/stateMachineValidation.js.map +1 -0
  128. package/dist/esm/utils/widgetDispatch.js +3 -1
  129. package/dist/esm/utils/widgetDispatch.js.map +1 -1
  130. package/dist/nextcloud-vue.cjs.js +23038 -14567
  131. package/dist/nextcloud-vue.cjs.js.map +2 -2
  132. package/dist/nextcloud-vue.css +951 -16
  133. package/l10n/en.json +207 -1
  134. package/l10n/nl.json +207 -1
  135. package/package.json +1 -1
  136. package/src/components/CnAiFeaturesWidget/CnAiFeaturesWidget.vue +416 -0
  137. package/src/components/CnAiFeaturesWidget/CnAiSuggestionDecision.vue +136 -0
  138. package/src/components/CnAiFeaturesWidget/__tests__/CnAiFeaturesWidget.spec.js +213 -0
  139. package/src/components/CnAiFeaturesWidget/index.js +14 -0
  140. package/src/components/CnIndexPage/CnIndexPage.vue +74 -3
  141. package/src/components/CnIndexPage/useNamedSource.js +9 -0
  142. package/src/components/CnObjectPermissionsTab/CnObjectPermissionsTab.vue +499 -0
  143. package/src/components/CnObjectPermissionsTab/__tests__/CnObjectPermissionsTab.spec.js +186 -0
  144. package/src/components/CnObjectPermissionsTab/index.js +13 -0
  145. package/src/components/CnObjectSidebar/CnObjectSidebar.vue +8 -1
  146. package/src/components/CnObjectTranslationsWidget/CnObjectTranslationsWidget.vue +424 -0
  147. package/src/components/CnObjectTranslationsWidget/__tests__/CnObjectTranslationsWidget.spec.js +189 -0
  148. package/src/components/CnObjectTranslationsWidget/index.js +13 -0
  149. package/src/components/CnReadinessChecklist/CnReadinessChecklist.vue +335 -0
  150. package/src/components/CnReadinessChecklist/index.js +9 -0
  151. package/src/components/CnSchemaRulesWidget/CnSchemaRulesWidget.vue +300 -0
  152. package/src/components/CnSchemaRulesWidget/index.js +10 -0
  153. package/src/components/CnSchemaRulesWidget/schemaRules.js +123 -0
  154. package/src/components/CnSearchIndexStatus/CnSearchIndexStatus.vue +160 -0
  155. package/src/components/CnSearchIndexStatus/index.js +10 -0
  156. package/src/components/CnSearchIndexStatus/searchIndexStatus.js +56 -0
  157. package/src/components/CnShippedConfigurationSection/CnShippedConfigurationSection.vue +328 -0
  158. package/src/components/CnShippedConfigurationSection/index.js +9 -0
  159. package/src/components/CnStateMachineEditor/CnStateMachineEditor.vue +1332 -0
  160. package/src/components/CnStateMachineEditor/CnStateMachineFields.vue +791 -0
  161. package/src/components/CnStateMachineEditor/CnStateMachineNode.vue +442 -0
  162. package/src/components/CnStateMachineEditor/CnStateMachinePanel.vue +326 -0
  163. package/src/components/CnStateMachineEditor/index.js +8 -0
  164. package/src/components/CnStateMachineEditor/stateMachineFields.js +287 -0
  165. package/src/components/CnTimelineWidget/CnTimelineManage.vue +827 -0
  166. package/src/components/CnTimelineWidget/CnTimelineWidget.vue +29 -3
  167. package/src/components/CnWidgetGrid/builtInWidgets.js +6 -0
  168. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +10 -0
  169. package/src/components/index.js +8 -0
  170. package/src/composables/indexSources.js +116 -16
  171. package/src/css/index-page.css +7 -0
  172. package/src/index.js +9 -0
  173. package/src/utils/aiFeatures.js +241 -0
  174. package/src/utils/aiSuggestionTracker.js +178 -0
  175. package/src/utils/libraryWidgetKeys.js +2 -0
  176. package/src/utils/objectPermissions.js +548 -0
  177. package/src/utils/objectTranslations.js +176 -0
  178. package/src/utils/stateMachineValidation.js +250 -0
  179. 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":";;;;;;;;;"}