@sfxcode/formkit-primevue 4.1.8 → 4.2.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/components/FormKitDataEdit.d.vue.ts +1 -5
- package/dist/components/FormKitDataEdit.vue +12 -1
- package/dist/components/FormKitDataEdit.vue.d.ts +1 -5
- package/dist/components/FormKitDataView.vue +12 -1
- package/dist/components/PrimeListbox.d.vue.ts +4 -0
- package/dist/components/PrimeListbox.vue +55 -19
- package/dist/components/PrimeListbox.vue.d.ts +4 -0
- package/dist/definitions/repeater.js +20 -28
- package/dist/definitions/repeater.mjs +26 -36
- package/dist/sass/formkit-primevue.scss +24 -0
- package/dist/style.css +1 -1
- package/package.json +25 -25
|
@@ -77,9 +77,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
77
77
|
type: PropType<any>;
|
|
78
78
|
};
|
|
79
79
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
80
|
-
|
|
81
|
-
dataSaved: (...args: any[]) => void;
|
|
82
|
-
"update:modelValue": (value: any) => void;
|
|
80
|
+
"update:modelValue": (value: any) => any;
|
|
83
81
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
84
82
|
id: {
|
|
85
83
|
type: StringConstructor;
|
|
@@ -149,8 +147,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
149
147
|
type: PropType<any>;
|
|
150
148
|
};
|
|
151
149
|
}>> & Readonly<{
|
|
152
|
-
onOnReset?: ((...args: any[]) => any) | undefined;
|
|
153
|
-
onDataSaved?: ((...args: any[]) => any) | undefined;
|
|
154
150
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
155
151
|
}>, {
|
|
156
152
|
data: Record<string, any>;
|
|
@@ -3,7 +3,7 @@ import type { FormKitSchemaDefinition } from '@formkit/core'
|
|
|
3
3
|
import type { PropType } from 'vue'
|
|
4
4
|
import { reset } from '@formkit/core'
|
|
5
5
|
import { FormKit, FormKitMessages, FormKitSchema } from '@formkit/vue'
|
|
6
|
-
import { ref } from 'vue'
|
|
6
|
+
import { ref, watch } from 'vue'
|
|
7
7
|
import FormKitDataDebug from './FormKitDataDebug.vue'
|
|
8
8
|
|
|
9
9
|
const props = defineProps({
|
|
@@ -82,6 +82,17 @@ if (props.data) {
|
|
|
82
82
|
|
|
83
83
|
const formSchema = ref(props.schema)
|
|
84
84
|
|
|
85
|
+
// Watch for changes to props and update internal refs
|
|
86
|
+
watch(() => props.schema, (newSchema) => {
|
|
87
|
+
formSchema.value = newSchema
|
|
88
|
+
}, { deep: true })
|
|
89
|
+
|
|
90
|
+
watch(() => props.data, (newData) => {
|
|
91
|
+
if (newData && newData !== formData.value) {
|
|
92
|
+
formData.value = newData
|
|
93
|
+
}
|
|
94
|
+
}, { deep: true })
|
|
95
|
+
|
|
85
96
|
function handleSave() {
|
|
86
97
|
emit('dataSaved', formData.value)
|
|
87
98
|
}
|
|
@@ -77,9 +77,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
77
77
|
type: PropType<any>;
|
|
78
78
|
};
|
|
79
79
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
80
|
-
|
|
81
|
-
dataSaved: (...args: any[]) => void;
|
|
82
|
-
"update:modelValue": (value: any) => void;
|
|
80
|
+
"update:modelValue": (value: any) => any;
|
|
83
81
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
84
82
|
id: {
|
|
85
83
|
type: StringConstructor;
|
|
@@ -149,8 +147,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
149
147
|
type: PropType<any>;
|
|
150
148
|
};
|
|
151
149
|
}>> & Readonly<{
|
|
152
|
-
onOnReset?: ((...args: any[]) => any) | undefined;
|
|
153
|
-
onDataSaved?: ((...args: any[]) => any) | undefined;
|
|
154
150
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
155
151
|
}>, {
|
|
156
152
|
data: Record<string, any>;
|
|
@@ -3,7 +3,7 @@ import type { FormKitSchemaDefinition } from '@formkit/core'
|
|
|
3
3
|
import type { PropType } from 'vue'
|
|
4
4
|
|
|
5
5
|
import { FormKit, FormKitSchema } from '@formkit/vue'
|
|
6
|
-
import { ref } from 'vue'
|
|
6
|
+
import { ref, watch } from 'vue'
|
|
7
7
|
import FormKitDataDebug from './FormKitDataDebug.vue'
|
|
8
8
|
|
|
9
9
|
const props = defineProps({
|
|
@@ -33,6 +33,17 @@ const formSchema = ref(props.schema)
|
|
|
33
33
|
|
|
34
34
|
const formData = defineModel<any>()
|
|
35
35
|
|
|
36
|
+
// Watch for changes to props and update internal refs
|
|
37
|
+
watch(() => props.schema, (newSchema) => {
|
|
38
|
+
formSchema.value = newSchema
|
|
39
|
+
}, { deep: true })
|
|
40
|
+
|
|
41
|
+
watch(() => props.data, (newData) => {
|
|
42
|
+
if (newData && newData !== formData.value) {
|
|
43
|
+
formData.value = newData
|
|
44
|
+
}
|
|
45
|
+
}, { deep: true })
|
|
46
|
+
|
|
36
47
|
if (props.data) {
|
|
37
48
|
formData.value = props.data
|
|
38
49
|
}
|
|
@@ -31,6 +31,10 @@ export interface FormKitPrimeListboxProps {
|
|
|
31
31
|
transferRightHeaderText?: string;
|
|
32
32
|
transferHeaderClass?: string;
|
|
33
33
|
transferAll?: boolean;
|
|
34
|
+
transferButtonSeverity?: string;
|
|
35
|
+
transferContainerClass?: string;
|
|
36
|
+
transferListContainerClass?: string;
|
|
37
|
+
transferButtonClass?: string;
|
|
34
38
|
}
|
|
35
39
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
36
40
|
context: {
|
|
@@ -35,6 +35,10 @@ export interface FormKitPrimeListboxProps {
|
|
|
35
35
|
transferRightHeaderText?: string
|
|
36
36
|
transferHeaderClass?: string
|
|
37
37
|
transferAll?: boolean
|
|
38
|
+
transferButtonSeverity?: string
|
|
39
|
+
transferContainerClass?: string
|
|
40
|
+
transferListContainerClass?: string
|
|
41
|
+
transferButtonClass?: string
|
|
38
42
|
}
|
|
39
43
|
|
|
40
44
|
const props = defineProps({
|
|
@@ -44,7 +48,24 @@ const props = defineProps({
|
|
|
44
48
|
},
|
|
45
49
|
})
|
|
46
50
|
|
|
47
|
-
const { validSlotNames, unstyled, isInvalid, handleInput, handleBlur, modelValue } = useFormKitInput(props.context)
|
|
51
|
+
const { validSlotNames, unstyled, isInvalid, handleInput, handleBlur, handleChange, modelValue } = useFormKitInput(props.context)
|
|
52
|
+
|
|
53
|
+
// Computed properties for transfer mode styling
|
|
54
|
+
const transferContainerClass = computed(() => {
|
|
55
|
+
return props.context.transferContainerClass || 'p-formkit-transfer'
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
const transferListContainerClass = computed(() => {
|
|
59
|
+
return props.context.transferListContainerClass || 'p-formkit-transfer-list-container'
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
const transferButtonClass = computed(() => {
|
|
63
|
+
return props.context.transferButtonClass || ''
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
const transferButtonSeverity = computed(() => {
|
|
67
|
+
return props.context.transferButtonSeverity || 'secondary'
|
|
68
|
+
})
|
|
48
69
|
|
|
49
70
|
// Transfer List functionality
|
|
50
71
|
const optionValueKey = computed(() => {
|
|
@@ -89,22 +110,30 @@ const sourceItems = computed(() => {
|
|
|
89
110
|
})
|
|
90
111
|
|
|
91
112
|
function transferSelected() {
|
|
92
|
-
|
|
113
|
+
if (sourceSelection.value.length === 0)
|
|
114
|
+
return
|
|
115
|
+
// Use splice-based approach for better performance
|
|
93
116
|
targetItems.value = [...targetItems.value, ...sourceSelection.value]
|
|
94
117
|
sourceSelection.value = []
|
|
95
118
|
}
|
|
96
119
|
|
|
97
120
|
function transferAll() {
|
|
121
|
+
if (sourceItems.value.length === 0)
|
|
122
|
+
return
|
|
98
123
|
targetItems.value = [...targetItems.value, ...sourceItems.value]
|
|
99
124
|
sourceSelection.value = []
|
|
100
125
|
}
|
|
101
126
|
|
|
102
127
|
function removeSelected() {
|
|
103
|
-
|
|
128
|
+
if (targetSelection.value.length === 0)
|
|
129
|
+
return
|
|
130
|
+
|
|
131
|
+
// Filter out selected items using splice-inspired logic
|
|
132
|
+
const valueKey = optionValueKey.value
|
|
104
133
|
targetItems.value = targetItems.value.filter((item: any) => {
|
|
105
|
-
const itemValue =
|
|
134
|
+
const itemValue = valueKey && typeof item === 'object' ? item[valueKey] : item
|
|
106
135
|
return !targetSelection.value.some((sel: any) => {
|
|
107
|
-
const selValue =
|
|
136
|
+
const selValue = valueKey && typeof sel === 'object' ? sel[valueKey] : sel
|
|
108
137
|
return selValue === itemValue
|
|
109
138
|
})
|
|
110
139
|
})
|
|
@@ -112,6 +141,8 @@ function removeSelected() {
|
|
|
112
141
|
}
|
|
113
142
|
|
|
114
143
|
function removeAll() {
|
|
144
|
+
if (targetItems.value.length === 0)
|
|
145
|
+
return
|
|
115
146
|
targetItems.value = []
|
|
116
147
|
targetSelection.value = []
|
|
117
148
|
}
|
|
@@ -119,6 +150,7 @@ function removeAll() {
|
|
|
119
150
|
watch(targetItems, (newVal) => {
|
|
120
151
|
modelValue.value = newVal
|
|
121
152
|
handleInput(newVal)
|
|
153
|
+
handleChange(newVal)
|
|
122
154
|
}, { deep: true })
|
|
123
155
|
|
|
124
156
|
// Watch for external changes to modelValue and update targetItems
|
|
@@ -168,7 +200,8 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
168
200
|
:pt="context.pt"
|
|
169
201
|
:pt-options="context.ptOptions"
|
|
170
202
|
:unstyled="unstyled"
|
|
171
|
-
@
|
|
203
|
+
@update:model-value="handleInput"
|
|
204
|
+
@change="handleChange"
|
|
172
205
|
@blur="handleBlur"
|
|
173
206
|
>
|
|
174
207
|
<template v-for="slotName in validSlotNames" :key="slotName" #[slotName]="slotProps">
|
|
@@ -180,11 +213,10 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
180
213
|
<!-- Transfer Mode -->
|
|
181
214
|
<div
|
|
182
215
|
v-if="context.displayMode === 'transfer'"
|
|
183
|
-
class="
|
|
184
|
-
style="display: flex; align-items: stretch; gap: 1rem; width: 100%;"
|
|
216
|
+
:class="transferContainerClass"
|
|
185
217
|
>
|
|
186
218
|
<!-- Source List -->
|
|
187
|
-
<div
|
|
219
|
+
<div :class="transferListContainerClass">
|
|
188
220
|
<span
|
|
189
221
|
v-if="context.transferLeftHeaderText"
|
|
190
222
|
:class="transferHeaderClass"
|
|
@@ -199,7 +231,7 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
199
231
|
:class="context?.attrs?.class"
|
|
200
232
|
:invalid="isInvalid"
|
|
201
233
|
:tabindex="context?.attrs.tabindex"
|
|
202
|
-
:aria-label="context?.attrs.ariaLabel"
|
|
234
|
+
:aria-label="context?.attrs.ariaLabel || 'Source list'"
|
|
203
235
|
:aria-labelledby="context?.attrs.ariaLabelledby"
|
|
204
236
|
:options="sourceItems"
|
|
205
237
|
:option-label="context.optionLabel"
|
|
@@ -229,19 +261,21 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
229
261
|
</div>
|
|
230
262
|
|
|
231
263
|
<!-- Transfer Buttons -->
|
|
232
|
-
<div
|
|
264
|
+
<div class="p-formkit-transfer-buttons">
|
|
233
265
|
<Button
|
|
234
266
|
icon="pi pi-angle-right"
|
|
235
|
-
severity="
|
|
267
|
+
:severity="transferButtonSeverity"
|
|
268
|
+
:class="transferButtonClass"
|
|
236
269
|
outlined
|
|
237
270
|
:disabled="sourceSelection.length === 0"
|
|
238
|
-
aria-label="Move selected to target"
|
|
271
|
+
:aria-label="context.transferAll ? 'Move selected to target' : 'Move to target'"
|
|
239
272
|
@click="transferSelected"
|
|
240
273
|
/>
|
|
241
274
|
<Button
|
|
242
275
|
v-if="context.transferAll"
|
|
243
276
|
icon="pi pi-angle-double-right"
|
|
244
|
-
severity="
|
|
277
|
+
:severity="transferButtonSeverity"
|
|
278
|
+
:class="transferButtonClass"
|
|
245
279
|
outlined
|
|
246
280
|
:disabled="sourceItems.length === 0"
|
|
247
281
|
aria-label="Move all to target"
|
|
@@ -249,16 +283,18 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
249
283
|
/>
|
|
250
284
|
<Button
|
|
251
285
|
icon="pi pi-angle-left"
|
|
252
|
-
severity="
|
|
286
|
+
:severity="transferButtonSeverity"
|
|
287
|
+
:class="transferButtonClass"
|
|
253
288
|
outlined
|
|
254
289
|
:disabled="targetSelection.length === 0"
|
|
255
|
-
aria-label="Move selected to source"
|
|
290
|
+
:aria-label="context.transferAll ? 'Move selected to source' : 'Move to source'"
|
|
256
291
|
@click="removeSelected"
|
|
257
292
|
/>
|
|
258
293
|
<Button
|
|
259
294
|
v-if="context.transferAll"
|
|
260
295
|
icon="pi pi-angle-double-left"
|
|
261
|
-
severity="
|
|
296
|
+
:severity="transferButtonSeverity"
|
|
297
|
+
:class="transferButtonClass"
|
|
262
298
|
outlined
|
|
263
299
|
:disabled="targetItems.length === 0"
|
|
264
300
|
aria-label="Move all to source"
|
|
@@ -267,7 +303,7 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
267
303
|
</div>
|
|
268
304
|
|
|
269
305
|
<!-- Target List -->
|
|
270
|
-
<div
|
|
306
|
+
<div :class="transferListContainerClass">
|
|
271
307
|
<span
|
|
272
308
|
v-if="context.transferRightHeaderText"
|
|
273
309
|
:class="transferHeaderClass"
|
|
@@ -282,7 +318,7 @@ watch(() => modelValue.value, (newVal) => {
|
|
|
282
318
|
:class="context?.attrs?.class"
|
|
283
319
|
:invalid="isInvalid"
|
|
284
320
|
:tabindex="context?.attrs.tabindex"
|
|
285
|
-
:aria-label="context?.attrs.ariaLabel"
|
|
321
|
+
:aria-label="context?.attrs.ariaLabel || 'Target list'"
|
|
286
322
|
:aria-labelledby="context?.attrs.ariaLabelledby"
|
|
287
323
|
:options="targetItems"
|
|
288
324
|
:option-label="context.optionLabel"
|
|
@@ -31,6 +31,10 @@ export interface FormKitPrimeListboxProps {
|
|
|
31
31
|
transferRightHeaderText?: string;
|
|
32
32
|
transferHeaderClass?: string;
|
|
33
33
|
transferAll?: boolean;
|
|
34
|
+
transferButtonSeverity?: string;
|
|
35
|
+
transferContainerClass?: string;
|
|
36
|
+
transferListContainerClass?: string;
|
|
37
|
+
transferButtonClass?: string;
|
|
34
38
|
}
|
|
35
39
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
36
40
|
context: {
|
|
@@ -24,7 +24,7 @@ function addButtonGroup(buttonGroupClass = "", buttonGroupItemClass = "", button
|
|
|
24
24
|
class: buttonGroupItemClass
|
|
25
25
|
}, render2);
|
|
26
26
|
};
|
|
27
|
-
return addElement("div", [addActionButtonComponent("$moveNodeUp($node.parent, $index)", "pi pi-arrow-up", "secondary", "$renderMoveButtons", "$index === 0"), addActionButtonComponent("$removeNode($node.parent, $index)", "pi pi-trash", "danger", "$displayDeleteButton", "$
|
|
27
|
+
return addElement("div", [addActionButtonComponent("$moveNodeUp($node.parent, $index)", "pi pi-arrow-up", "secondary", "$renderMoveButtons", "$index === 0"), addActionButtonComponent("$removeNode($node.parent, $index)", "pi pi-trash", "danger", "$displayDeleteButton", "$node.parent.value.length === $minItems"), addActionButtonComponent("$cloneNode($node.parent, $index)", "pi pi-clone", "", "$displayCloneButton", "$node.parent.value.length > $maxItems -1"), addActionButtonComponent("$addNode($node.parent, $index)", "pi pi-plus", "", "$displayAddButton", "$node.parent.value.length > $maxItems -1"), addActionButtonComponent("$moveNodeDown($node.parent, $index)", "pi pi-arrow-down", "secondary", "$renderMoveButtons", "$index === $node.parent.value.length -1")], {
|
|
28
28
|
class: buttonGroupClass
|
|
29
29
|
}, render);
|
|
30
30
|
}
|
|
@@ -33,30 +33,26 @@ function addInsertButton(label = "Add Item", icon = "i-lucide-plus", styleClass
|
|
|
33
33
|
onClick: "$insertNode($node)",
|
|
34
34
|
label,
|
|
35
35
|
icon,
|
|
36
|
-
size: buttonSize
|
|
36
|
+
size: buttonSize,
|
|
37
|
+
disabled: "$node.value.length > $maxItems -1"
|
|
37
38
|
})], {
|
|
38
39
|
class: styleClass
|
|
39
40
|
}, render);
|
|
40
41
|
}
|
|
41
|
-
const primeRepeaterDefinition = exports.primeRepeaterDefinition = (0, _vue.createInput)(
|
|
42
|
+
const primeRepeaterDefinition = exports.primeRepeaterDefinition = (0, _vue.createInput)(addElement("div", [addList("$listName", [addInsertButton("$insertButtonLabel", "pi pi-plus", "$insertButtonClass", "$insertButtonSize", "$node.children.length == 0 || $alwaysDisplayInsertButton"), addListGroup([addElement("div", [{
|
|
42
43
|
children: "$slots.default"
|
|
43
|
-
}], {
|
|
44
|
-
class: "$groupClass"
|
|
45
|
-
}), addButtonGroup("$buttonGroupClass", "$buttonGroupItemClass", "$buttonSize", "$renderButtons")], {
|
|
44
|
+
}, addButtonGroup("$buttonGroupClass", "$buttonGroupItemClass", "$buttonSize", "$renderButtons")], {
|
|
46
45
|
class: "$internalListItemClass"
|
|
47
|
-
})])], true, "true")], {
|
|
46
|
+
})], true, {})], true, "true")], {
|
|
48
47
|
class: "$internalListClass"
|
|
49
|
-
})
|
|
50
|
-
props: ["insertButtonLabel", "insertButtonClass", "insertButtonSize", "alwaysDisplayInsertButton", "newItem", "listClass", "listItemClass", "
|
|
48
|
+
}, true), {
|
|
49
|
+
props: ["insertButtonLabel", "insertButtonClass", "insertButtonSize", "alwaysDisplayInsertButton", "newItem", "listClass", "listItemClass", "hideButtonGroup", "hideMoveButtons", "buttonGroupClass", "buttonGroupItemClass", "buttonSize", "displayCloneButton", "displayAddButton", "displayDeleteButton", "minItems", "maxItems"],
|
|
51
50
|
features: [addRepeaterHandler]
|
|
52
51
|
});
|
|
53
52
|
function addRepeaterHandler(node) {
|
|
54
53
|
const swapElements = (array, index1, index2) => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
newArray[index1] = newArray[index2];
|
|
58
|
-
newArray[index2] = temp;
|
|
59
|
-
return newArray;
|
|
54
|
+
array.splice(index2, 0, array.splice(index1, 1)[0]);
|
|
55
|
+
return array;
|
|
60
56
|
};
|
|
61
57
|
node.on("created", () => {
|
|
62
58
|
if (node.context) {
|
|
@@ -66,8 +62,8 @@ function addRepeaterHandler(node) {
|
|
|
66
62
|
node.context.insertButtonSize = node.context.insertButtonSize ? node.context.insertButtonSize : "";
|
|
67
63
|
node.context.buttonSize = node.context.buttonSize ? node.context.buttonSize : "";
|
|
68
64
|
node.context.renderMoveButtons = !node.context.hideMoveButtons;
|
|
69
|
-
node.context.internalListClass = node.context.listClass ? `items ${node.context.listClass}` : "items";
|
|
70
|
-
node.context.internalListItemClass = node.context.listItemClass ? `item ${node.context.listItemClass}` : "item";
|
|
65
|
+
node.context.internalListClass = node.context.listClass ? `formkit-items ${node.context.listClass}` : "formkit-items";
|
|
66
|
+
node.context.internalListItemClass = node.context.listItemClass ? `formkit-item ${node.context.listItemClass}` : "formkit-item";
|
|
71
67
|
node.context.insertNode = parentNode => () => {
|
|
72
68
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
73
69
|
const newArray = [{
|
|
@@ -83,31 +79,27 @@ function addRepeaterHandler(node) {
|
|
|
83
79
|
};
|
|
84
80
|
node.context.addNode = (parentNode, index) => () => {
|
|
85
81
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
parentNode.input([...newArray], false);
|
|
82
|
+
const array = parentNode.value;
|
|
83
|
+
array.splice(index + 1, 0, newItem);
|
|
84
|
+
parentNode.input(array, false);
|
|
90
85
|
}
|
|
91
86
|
};
|
|
92
87
|
node.context.cloneNode = (parentNode, index) => () => {
|
|
93
88
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
94
89
|
const item = parentNode.value[index];
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
parentNode.input([...newArray], false);
|
|
90
|
+
const array = parentNode.value;
|
|
91
|
+
array.splice(index + 1, 0, item);
|
|
92
|
+
parentNode.input(array, false);
|
|
99
93
|
}
|
|
100
94
|
};
|
|
101
95
|
node.context.moveNodeUp = (parentNode, index) => () => {
|
|
102
96
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
103
|
-
|
|
104
|
-
if (index > 0) parentNode.input(swapElements(array, index - 1, index), false);
|
|
97
|
+
if (index > 0) parentNode.input(swapElements(parentNode.value, index - 1, index), false);
|
|
105
98
|
}
|
|
106
99
|
};
|
|
107
100
|
node.context.moveNodeDown = (parentNode, index) => () => {
|
|
108
101
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
109
|
-
|
|
110
|
-
if (index < array.length - 1) parentNode.input(swapElements(array, index, index + 1), false);
|
|
102
|
+
if (index < parentNode.value.length - 1) parentNode.input(swapElements(parentNode.value, index, index + 1), false);
|
|
111
103
|
}
|
|
112
104
|
};
|
|
113
105
|
}
|
|
@@ -7,45 +7,35 @@ function addButtonGroup(buttonGroupClass = "", buttonGroupItemClass = "", button
|
|
|
7
7
|
};
|
|
8
8
|
return addElement("div", [
|
|
9
9
|
addActionButtonComponent("$moveNodeUp($node.parent, $index)", "pi pi-arrow-up", "secondary", "$renderMoveButtons", "$index === 0"),
|
|
10
|
-
addActionButtonComponent("$removeNode($node.parent, $index)", "pi pi-trash", "danger", "$displayDeleteButton", "$
|
|
11
|
-
addActionButtonComponent("$cloneNode($node.parent, $index)", "pi pi-clone", "", "$displayCloneButton", "$
|
|
12
|
-
addActionButtonComponent("$addNode($node.parent, $index)", "pi pi-plus", "", "$displayAddButton", "$
|
|
10
|
+
addActionButtonComponent("$removeNode($node.parent, $index)", "pi pi-trash", "danger", "$displayDeleteButton", "$node.parent.value.length === $minItems"),
|
|
11
|
+
addActionButtonComponent("$cloneNode($node.parent, $index)", "pi pi-clone", "", "$displayCloneButton", "$node.parent.value.length > $maxItems -1"),
|
|
12
|
+
addActionButtonComponent("$addNode($node.parent, $index)", "pi pi-plus", "", "$displayAddButton", "$node.parent.value.length > $maxItems -1"),
|
|
13
13
|
addActionButtonComponent("$moveNodeDown($node.parent, $index)", "pi pi-arrow-down", "secondary", "$renderMoveButtons", "$index === $node.parent.value.length -1")
|
|
14
14
|
], { class: buttonGroupClass }, render);
|
|
15
15
|
}
|
|
16
16
|
function addInsertButton(label = "Add Item", icon = "i-lucide-plus", styleClass = "", buttonSize, render = "true") {
|
|
17
17
|
return addElement("div", [
|
|
18
|
-
addComponent("Button", { onClick: "$insertNode($node)", label, icon, size: buttonSize })
|
|
18
|
+
addComponent("Button", { onClick: "$insertNode($node)", label, icon, size: buttonSize, disabled: "$node.value.length > $maxItems -1" })
|
|
19
19
|
], { class: styleClass }, render);
|
|
20
20
|
}
|
|
21
21
|
export const primeRepeaterDefinition = createInput(
|
|
22
|
-
[
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
addButtonGroup("$buttonGroupClass", "$buttonGroupItemClass", "$buttonSize", "$renderButtons")
|
|
31
|
-
], { class: "$internalListItemClass" })
|
|
32
|
-
]
|
|
33
|
-
)
|
|
34
|
-
], true, "true")
|
|
35
|
-
], { class: "$internalListClass" })
|
|
36
|
-
],
|
|
22
|
+
addElement("div", [
|
|
23
|
+
addList("$listName", [
|
|
24
|
+
addInsertButton("$insertButtonLabel", "pi pi-plus", "$insertButtonClass", "$insertButtonSize", "$node.children.length == 0 || $alwaysDisplayInsertButton"),
|
|
25
|
+
addListGroup([
|
|
26
|
+
addElement("div", [{ children: "$slots.default" }, addButtonGroup("$buttonGroupClass", "$buttonGroupItemClass", "$buttonSize", "$renderButtons")], { class: "$internalListItemClass" })
|
|
27
|
+
], true, {})
|
|
28
|
+
], true, "true")
|
|
29
|
+
], { class: "$internalListClass" }, true),
|
|
37
30
|
{
|
|
38
|
-
props: ["insertButtonLabel", "insertButtonClass", "insertButtonSize", "alwaysDisplayInsertButton", "newItem", "listClass", "listItemClass", "
|
|
31
|
+
props: ["insertButtonLabel", "insertButtonClass", "insertButtonSize", "alwaysDisplayInsertButton", "newItem", "listClass", "listItemClass", "hideButtonGroup", "hideMoveButtons", "buttonGroupClass", "buttonGroupItemClass", "buttonSize", "displayCloneButton", "displayAddButton", "displayDeleteButton", "minItems", "maxItems"],
|
|
39
32
|
features: [addRepeaterHandler]
|
|
40
33
|
}
|
|
41
34
|
);
|
|
42
35
|
function addRepeaterHandler(node) {
|
|
43
36
|
const swapElements = (array, index1, index2) => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
newArray[index1] = newArray[index2];
|
|
47
|
-
newArray[index2] = temp;
|
|
48
|
-
return newArray;
|
|
37
|
+
array.splice(index2, 0, array.splice(index1, 1)[0]);
|
|
38
|
+
return array;
|
|
49
39
|
};
|
|
50
40
|
node.on("created", () => {
|
|
51
41
|
if (node.context) {
|
|
@@ -55,8 +45,8 @@ function addRepeaterHandler(node) {
|
|
|
55
45
|
node.context.insertButtonSize = node.context.insertButtonSize ? node.context.insertButtonSize : "";
|
|
56
46
|
node.context.buttonSize = node.context.buttonSize ? node.context.buttonSize : "";
|
|
57
47
|
node.context.renderMoveButtons = !node.context.hideMoveButtons;
|
|
58
|
-
node.context.internalListClass = node.context.listClass ? `items ${node.context.listClass}` : "items";
|
|
59
|
-
node.context.internalListItemClass = node.context.listItemClass ? `item ${node.context.listItemClass}` : "item";
|
|
48
|
+
node.context.internalListClass = node.context.listClass ? `formkit-items ${node.context.listClass}` : "formkit-items";
|
|
49
|
+
node.context.internalListItemClass = node.context.listItemClass ? `formkit-item ${node.context.listItemClass}` : "formkit-item";
|
|
60
50
|
node.context.insertNode = (parentNode) => () => {
|
|
61
51
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
62
52
|
const newArray = [{ ...newItem }, ...parentNode.value];
|
|
@@ -70,29 +60,29 @@ function addRepeaterHandler(node) {
|
|
|
70
60
|
};
|
|
71
61
|
node.context.addNode = (parentNode, index) => () => {
|
|
72
62
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
73
|
-
const
|
|
74
|
-
|
|
63
|
+
const array = parentNode.value;
|
|
64
|
+
array.splice(index + 1, 0, newItem);
|
|
65
|
+
parentNode.input(array, false);
|
|
75
66
|
}
|
|
76
67
|
};
|
|
77
68
|
node.context.cloneNode = (parentNode, index) => () => {
|
|
78
69
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
79
70
|
const item = parentNode.value[index];
|
|
80
|
-
const
|
|
81
|
-
|
|
71
|
+
const array = parentNode.value;
|
|
72
|
+
array.splice(index + 1, 0, item);
|
|
73
|
+
parentNode.input(array, false);
|
|
82
74
|
}
|
|
83
75
|
};
|
|
84
76
|
node.context.moveNodeUp = (parentNode, index) => () => {
|
|
85
77
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
86
|
-
const array = [...parentNode.value];
|
|
87
78
|
if (index > 0)
|
|
88
|
-
parentNode.input(swapElements(
|
|
79
|
+
parentNode.input(swapElements(parentNode.value, index - 1, index), false);
|
|
89
80
|
}
|
|
90
81
|
};
|
|
91
82
|
node.context.moveNodeDown = (parentNode, index) => () => {
|
|
92
83
|
if (parentNode && Array.isArray(parentNode._value)) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
parentNode.input(swapElements(array, index, index + 1), false);
|
|
84
|
+
if (index < parentNode.value.length - 1)
|
|
85
|
+
parentNode.input(swapElements(parentNode.value, index, index + 1), false);
|
|
96
86
|
}
|
|
97
87
|
};
|
|
98
88
|
}
|
|
@@ -287,6 +287,30 @@ $grid-breakpoints: (
|
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
+
// Listbox Transfer
|
|
291
|
+
.p-formkit-transfer {
|
|
292
|
+
display: flex;
|
|
293
|
+
align-items: stretch;
|
|
294
|
+
gap: 1rem;
|
|
295
|
+
width: 100%;
|
|
296
|
+
min-width: 600px;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.p-formkit-transfer-list-container {
|
|
300
|
+
display: flex;
|
|
301
|
+
flex-direction: column;
|
|
302
|
+
flex: 1;
|
|
303
|
+
gap: 0.5rem;
|
|
304
|
+
min-width: 0;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.p-formkit-transfer-buttons {
|
|
308
|
+
display: flex;
|
|
309
|
+
flex-direction: column;
|
|
310
|
+
align-items: center;
|
|
311
|
+
justify-content: center;
|
|
312
|
+
gap: 0.5rem;
|
|
313
|
+
}
|
|
290
314
|
|
|
291
315
|
|
|
292
316
|
// Debug
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--formkit-error-color: #ef9a9a}.formkit-form .formkit-messages{margin:.125rem 0;padding-top:.5rem;padding-left:.5rem}.formkit-form .formkit-message{list-style:none;padding:0;margin:0;color:var(--formkit-error-color);font-size:.8rem}.formkit-form .formkit-outer{padding-bottom:.8rem}.formkit-form .formkit-outer .formkit-messages{margin:.125rem 0;padding-top:.25rem;padding-left:0}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-formkit-icon{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor.p-colorpicker-preview{width:2rem}.formkit-form .formkit-outer .formkit-help{margin:.25rem 0 0 0;font-size:.8rem;color:var(--text-color-secondary)}.formkit-form .formkit-label{display:block;margin:0;padding-bottom:.5rem;font-weight:bold;font-size:.8rem}.formkit-form .p-formkit>*{margin-right:.5rem}.formkit-form .p-formkit>*:last-child,.formkit-form .p-formkit>*:only-child{margin-right:0}.formkit-form .p-formkit-options{display:flex;flex-wrap:wrap;gap:.5rem}.formkit-form .p-formkit-options .p-formkit-option{display:flex;align-items:center}.formkit-form .p-formkit-options .p-formkit-option label{margin-left:.5rem}.formkit-form .formkit-fieldset{margin:0;padding:0;border-radius:0;border:0}.formkit-form .formkit-fieldset:focus-within{border:0}.formkit-form .formkit-fieldset>.formkit-help{margin-top:0;margin-bottom:0}.formkit-form .formkit-legend{display:block;margin:0;padding:0}.formkit-form .formkit-actions{padding-top:.5rem;display:flex}.formkit-form .formkit-actions button{margin-right:.5rem}.formkit-form .p-action-buttons{margin-top:.25rem}.formkit-form .p-action-buttons .p-button{margin-right:.5rem}.formkit-form .p-action-buttons span .p-space{margin-right:3rem}.formkit-form .p-chip-item{align-items:center;background:var(--p-surface-500);color:var(--p-surface-0);border-radius:1rem;padding:.2rem .5rem}.p-formkit-data-view .formkit-outer{padding-bottom:.5rem}.p-formkit-data-view.form-horizontal{padding-bottom:.8rem}.p-formkit-data-view .formkit-help{padding-top:.25rem;margin:0}.p-formkit-data-view ul,.p-formkit-data-view ol{padding-inline-start:1rem;margin-block-start:0;margin-block-end:0}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper{display:flex;flex-wrap:wrap}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .formkit-inner{width:auto !important}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label{width:auto;order:2;padding:.125rem 0}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:after{content:""}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label+.formkit-inner{margin-left:0 !important;order:1;flex-basis:2rem;flex-grow:0;flex-shrink:0;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label+.formkit-inner:has(label){flex-grow:1;flex-basis:100%}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3),.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{width:auto}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3){order:1}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)+div.p-checkbox{order:2;width:auto}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{order:3}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .formkit-inner:first-child{margin-left:0 !important}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .formkit-inner:first-child .p-formkit{display:flex}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .p-checkbox:not(:only-child){width:2rem;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-help{width:auto !important}.p-formkit-data-debug pre,.p-formkit-data-debug span{font-size:.75rem;line-height:1rem}@media(min-width: 1024px){.formkit-form{display:flex;flex-wrap:wrap;margin-left:-0.5rem;margin-right:-0.5rem}.formkit-form>*{flex-shrink:0;width:100%;max-width:100%;padding-left:.5rem;padding-right:.5rem}.col-1{width:8.3333333333%}.col-2{width:16.6666666667%}.col-3{width:25%}.col-4{width:33.3333333333%}.col-5{width:41.6666666667%}.col-6{width:50%}.col-7{width:58.3333333333%}.col-8{width:66.6666666667%}.col-9{width:75%}.col-10{width:83.3333333333%}.col-11{width:91.6666666667%}.col-12{width:100%}}@media(min-width: 768px){.formkit-form.form-horizontal .formkit-wrapper{display:flex}.formkit-form.form-horizontal .formkit-wrapper label{display:inline-block;padding:0 .25rem 0 0;font-size:inherit}.formkit-form.form-horizontal .formkit-wrapper label:after{content:":"}}@media(min-width: 768px)and (min-width: 768px){.formkit-form.form-horizontal.form-horizontal-checkbox-indent .formkit-outer[data-type=primeCheckbox]{padding-left:33.3333333333%}}@media(min-width: 768px){.p-formkit-data-view .formkit-form.form-horizontal label{white-space:nowrap}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer{width:100%}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer label{width:33.3333333333%;padding-top:.25rem;line-height:normal}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer .formkit-inner{width:66.6666666667%}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=primeCheckbox] .formkit-inner{margin-left:auto}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=primeCheckbox] .formkit-inner .p-formkit{display:flex}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=primeCheckbox] .formkit-inner label{width:auto;padding:0}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-help,.p-formkit-data-edit .formkit-form.form-horizontal .formkit-messages{width:66.6666666667%;margin-left:auto}}
|
|
1
|
+
:root{--formkit-error-color: #ef9a9a}.formkit-form .formkit-messages{margin:.125rem 0;padding-top:.5rem;padding-left:.5rem}.formkit-form .formkit-message{list-style:none;padding:0;margin:0;color:var(--formkit-error-color);font-size:.8rem}.formkit-form .formkit-outer{padding-bottom:.8rem}.formkit-form .formkit-outer .formkit-messages{margin:.125rem 0;padding-top:.25rem;padding-left:0}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-formkit-icon{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor.p-colorpicker-preview{width:2rem}.formkit-form .formkit-outer .formkit-help{margin:.25rem 0 0 0;font-size:.8rem;color:var(--text-color-secondary)}.formkit-form .formkit-label{display:block;margin:0;padding-bottom:.5rem;font-weight:bold;font-size:.8rem}.formkit-form .p-formkit>*{margin-right:.5rem}.formkit-form .p-formkit>*:last-child,.formkit-form .p-formkit>*:only-child{margin-right:0}.formkit-form .p-formkit-options{display:flex;flex-wrap:wrap;gap:.5rem}.formkit-form .p-formkit-options .p-formkit-option{display:flex;align-items:center}.formkit-form .p-formkit-options .p-formkit-option label{margin-left:.5rem}.formkit-form .formkit-fieldset{margin:0;padding:0;border-radius:0;border:0}.formkit-form .formkit-fieldset:focus-within{border:0}.formkit-form .formkit-fieldset>.formkit-help{margin-top:0;margin-bottom:0}.formkit-form .formkit-legend{display:block;margin:0;padding:0}.formkit-form .formkit-actions{padding-top:.5rem;display:flex}.formkit-form .formkit-actions button{margin-right:.5rem}.formkit-form .p-action-buttons{margin-top:.25rem}.formkit-form .p-action-buttons .p-button{margin-right:.5rem}.formkit-form .p-action-buttons span .p-space{margin-right:3rem}.formkit-form .p-chip-item{align-items:center;background:var(--p-surface-500);color:var(--p-surface-0);border-radius:1rem;padding:.2rem .5rem}.p-formkit-data-view .formkit-outer{padding-bottom:.5rem}.p-formkit-data-view.form-horizontal{padding-bottom:.8rem}.p-formkit-data-view .formkit-help{padding-top:.25rem;margin:0}.p-formkit-data-view ul,.p-formkit-data-view ol{padding-inline-start:1rem;margin-block-start:0;margin-block-end:0}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper{display:flex;flex-wrap:wrap}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .formkit-inner{width:auto !important}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label{width:auto;order:2;padding:.125rem 0}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:after{content:""}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label+.formkit-inner{margin-left:0 !important;order:1;flex-basis:2rem;flex-grow:0;flex-shrink:0;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label+.formkit-inner:has(label){flex-grow:1;flex-basis:100%}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3),.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{width:auto}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3){order:1}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)+div.p-checkbox{order:2;width:auto}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{order:3}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .formkit-inner:first-child{margin-left:0 !important}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .formkit-inner:first-child .p-formkit{display:flex}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-wrapper .p-checkbox:not(:only-child){width:2rem;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=primeCheckbox] .formkit-help{width:auto !important}.p-formkit-transfer{display:flex;align-items:stretch;gap:1rem;width:100%;min-width:600px}.p-formkit-transfer-list-container{display:flex;flex-direction:column;flex:1;gap:.5rem;min-width:0}.p-formkit-transfer-buttons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.p-formkit-data-debug pre,.p-formkit-data-debug span{font-size:.75rem;line-height:1rem}@media(min-width: 1024px){.formkit-form{display:flex;flex-wrap:wrap;margin-left:-0.5rem;margin-right:-0.5rem}.formkit-form>*{flex-shrink:0;width:100%;max-width:100%;padding-left:.5rem;padding-right:.5rem}.col-1{width:8.3333333333%}.col-2{width:16.6666666667%}.col-3{width:25%}.col-4{width:33.3333333333%}.col-5{width:41.6666666667%}.col-6{width:50%}.col-7{width:58.3333333333%}.col-8{width:66.6666666667%}.col-9{width:75%}.col-10{width:83.3333333333%}.col-11{width:91.6666666667%}.col-12{width:100%}}@media(min-width: 768px){.formkit-form.form-horizontal .formkit-wrapper{display:flex}.formkit-form.form-horizontal .formkit-wrapper label{display:inline-block;padding:0 .25rem 0 0;font-size:inherit}.formkit-form.form-horizontal .formkit-wrapper label:after{content:":"}}@media(min-width: 768px)and (min-width: 768px){.formkit-form.form-horizontal.form-horizontal-checkbox-indent .formkit-outer[data-type=primeCheckbox]{padding-left:33.3333333333%}}@media(min-width: 768px){.p-formkit-data-view .formkit-form.form-horizontal label{white-space:nowrap}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer{width:100%}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer label{width:33.3333333333%;padding-top:.25rem;line-height:normal}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer .formkit-inner{width:66.6666666667%}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=primeCheckbox] .formkit-inner{margin-left:auto}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=primeCheckbox] .formkit-inner .p-formkit{display:flex}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=primeCheckbox] .formkit-inner label{width:auto;padding:0}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-help,.p-formkit-data-edit .formkit-form.form-horizontal .formkit-messages{width:66.6666666667%;margin-left:auto}}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sfxcode/formkit-primevue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.2.0",
|
|
5
5
|
"packageManager": "pnpm@11.0.9+sha512.34ce82e6780233cf9cad8685029a8f81d2e06196c5a9bad98879f7424940c6817c4e4524fb7d38b8553ceed48b9758b8ebaf1abd3600c232c4c8cf7366086f38",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Tom",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"dev": "vite serve dev",
|
|
80
80
|
"dev:build": "vite build dev",
|
|
81
81
|
"dev:preview": "vite preview dev",
|
|
82
|
-
"release": "npm run lint && npm run build && changelogen --
|
|
82
|
+
"release": "npm run lint && npm run build && changelogen --minor --release && npm publish --access public && git push --follow-tags",
|
|
83
83
|
"lint": "eslint .",
|
|
84
84
|
"lint:fix": "eslint . --fix",
|
|
85
85
|
"prepublishOnly": "pnpm build",
|
|
@@ -95,28 +95,29 @@
|
|
|
95
95
|
},
|
|
96
96
|
"dependencies": {
|
|
97
97
|
"@formkit/addons": "^2.0.0",
|
|
98
|
+
"@formkit/auto-animate": "^0.9.0",
|
|
98
99
|
"@formkit/core": "^2.0.0",
|
|
99
100
|
"@formkit/i18n": "^2.0.0",
|
|
100
101
|
"@formkit/inputs": "^2.0.0",
|
|
101
102
|
"@formkit/vue": "^2.0.0",
|
|
102
|
-
"@intlify/core": "^11.4.
|
|
103
|
+
"@intlify/core": "^11.4.4",
|
|
103
104
|
"primeicons": "^7.0.0",
|
|
104
105
|
"primevue": "^4.5.5",
|
|
105
|
-
"vue-i18n": "^11.4.
|
|
106
|
+
"vue-i18n": "^11.4.4"
|
|
106
107
|
},
|
|
107
108
|
"devDependencies": {
|
|
108
|
-
"@antfu/eslint-config": "^
|
|
109
|
+
"@antfu/eslint-config": "^9.0.0",
|
|
109
110
|
"@formkit/drag-and-drop": "^0.5.3",
|
|
110
111
|
"@primeuix/themes": "^2.0.3",
|
|
111
|
-
"@types/node": "^25.
|
|
112
|
-
"@unocss/preset-icons": "66.
|
|
113
|
-
"@unocss/preset-uno": "66.
|
|
114
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
115
|
-
"@vitest/coverage-v8": "^4.1.
|
|
116
|
-
"@vitest/ui": "^4.1.
|
|
117
|
-
"@vue/compiler-sfc": "^3.5.
|
|
118
|
-
"@vue/server-renderer": "^3.5.
|
|
119
|
-
"@vue/test-utils": "^2.4.
|
|
112
|
+
"@types/node": "^25.9.1",
|
|
113
|
+
"@unocss/preset-icons": "66.7.0",
|
|
114
|
+
"@unocss/preset-uno": "66.7.0",
|
|
115
|
+
"@vitejs/plugin-vue": "^6.0.7",
|
|
116
|
+
"@vitest/coverage-v8": "^4.1.8",
|
|
117
|
+
"@vitest/ui": "^4.1.8",
|
|
118
|
+
"@vue/compiler-sfc": "^3.5.35",
|
|
119
|
+
"@vue/server-renderer": "^3.5.35",
|
|
120
|
+
"@vue/test-utils": "^2.4.11",
|
|
120
121
|
"@vue/tsconfig": "^0.9.1",
|
|
121
122
|
"@vueuse/core": "^14.3.0",
|
|
122
123
|
"@vueuse/head": "^2.0.0",
|
|
@@ -125,27 +126,26 @@
|
|
|
125
126
|
"consola": "^3.4.2",
|
|
126
127
|
"cookie": "^1.1.1",
|
|
127
128
|
"esbuild": "^0.28.0",
|
|
128
|
-
"eslint": "^10.
|
|
129
|
-
"happy-dom": "^20.
|
|
129
|
+
"eslint": "^10.4.1",
|
|
130
|
+
"happy-dom": "^20.10.1",
|
|
130
131
|
"json-editor-vue": "^0.18.1",
|
|
131
132
|
"mkdist": "^2.4.1",
|
|
132
|
-
"sass": "^1.
|
|
133
|
+
"sass": "^1.100.0",
|
|
133
134
|
"tslib": "^2.8.1",
|
|
134
135
|
"typescript": "^6.0.3",
|
|
135
136
|
"unbuild": "^3.6.1",
|
|
136
|
-
"unocss": "66.
|
|
137
|
+
"unocss": "66.7.0",
|
|
137
138
|
"unplugin-auto-import": "^21.0.0",
|
|
138
|
-
"unplugin-vue-components": "^32.
|
|
139
|
-
"vite": "^8.0.
|
|
139
|
+
"unplugin-vue-components": "^32.1.0",
|
|
140
|
+
"vite": "^8.0.16",
|
|
140
141
|
"vite-plugin-dts": "^4.5.4",
|
|
141
|
-
"vite-plugin-eslint": "^1.8.1",
|
|
142
142
|
"vite-plugin-pages": "^0.33.3",
|
|
143
143
|
"vite-ssg": "^28.3.0",
|
|
144
144
|
"vitepress": "2.0.0-alpha.16",
|
|
145
|
-
"vitest": "^4.1.
|
|
146
|
-
"vue": "^3.5.
|
|
145
|
+
"vitest": "^4.1.8",
|
|
146
|
+
"vue": "^3.5.35",
|
|
147
147
|
"vue-demi": "^0.14.10",
|
|
148
|
-
"vue-router": "^5.0
|
|
149
|
-
"vue-tsc": "^3.
|
|
148
|
+
"vue-router": "^5.1.0",
|
|
149
|
+
"vue-tsc": "^3.3.3"
|
|
150
150
|
}
|
|
151
151
|
}
|