@rokkit/forms 1.0.0-next.125 → 1.0.0-next.128
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/README.md +251 -0
- package/dist/src/display/index.d.ts +5 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/input/index.d.ts +3 -0
- package/dist/src/lib/builder.svelte.d.ts +114 -4
- package/dist/src/lib/lookup.svelte.d.ts +87 -0
- package/dist/src/lib/renderers.d.ts +23 -0
- package/package.json +6 -4
- package/src/FieldLayout.svelte +4 -11
- package/src/FormRenderer.svelte +202 -61
- package/src/InfoField.svelte +26 -0
- package/src/Input.svelte +17 -61
- package/src/InputField.svelte +15 -11
- package/src/ValidationReport.svelte +52 -0
- package/src/display/DisplayCardGrid.svelte +68 -0
- package/src/display/DisplayList.svelte +31 -0
- package/src/display/DisplaySection.svelte +20 -0
- package/src/display/DisplayTable.svelte +68 -0
- package/src/display/DisplayValue.svelte +44 -0
- package/src/display/index.js +5 -0
- package/src/index.js +14 -0
- package/src/input/ArrayEditor.svelte +108 -0
- package/src/input/InputCheckbox.svelte +4 -5
- package/src/input/InputColor.svelte +6 -1
- package/src/input/InputDate.svelte +6 -1
- package/src/input/InputDateTime.svelte +6 -1
- package/src/input/InputEmail.svelte +6 -1
- package/src/input/InputFile.svelte +6 -2
- package/src/input/InputMonth.svelte +6 -1
- package/src/input/InputNumber.svelte +6 -1
- package/src/input/InputPassword.svelte +6 -1
- package/src/input/InputRadio.svelte +3 -3
- package/src/input/InputRange.svelte +6 -1
- package/src/input/InputSelect.svelte +31 -53
- package/src/input/InputSwitch.svelte +4 -15
- package/src/input/InputTel.svelte +6 -1
- package/src/input/InputText.svelte +6 -1
- package/src/input/InputTextArea.svelte +6 -1
- package/src/input/InputTime.svelte +6 -1
- package/src/input/InputToggle.svelte +28 -0
- package/src/input/InputUrl.svelte +6 -1
- package/src/input/InputWeek.svelte +6 -1
- package/src/input/index.js +3 -1
- package/src/lib/Input.svelte +3 -3
- package/src/lib/builder.svelte.js +425 -30
- package/src/lib/fields.js +2 -2
- package/src/lib/layout.js +2 -2
- package/src/lib/lookup.svelte.js +334 -0
- package/src/lib/renderers.js +83 -0
- package/src/lib/schema.js +1 -1
- package/src/types.js +0 -9
- package/dist/src/forms-old/input/types.d.ts +0 -7
- package/dist/src/forms-old/lib/form.d.ts +0 -95
- package/dist/src/forms-old/lib/index.d.ts +0 -1
- package/dist/src/lib/deprecated/nested.d.ts +0 -48
- package/dist/src/lib/deprecated/nested.spec.d.ts +0 -1
- package/dist/src/lib/deprecated/validator.d.ts +0 -30
- package/dist/src/lib/deprecated/validator.spec.d.ts +0 -1
- package/src/DataEditor.svelte +0 -30
- package/src/ListEditor.svelte +0 -44
- package/src/NestedEditor.svelte +0 -85
- package/src/forms-old/CheckBox.svelte +0 -56
- package/src/forms-old/DataEditor.svelte +0 -30
- package/src/forms-old/FieldLayout.svelte +0 -48
- package/src/forms-old/Form.svelte +0 -17
- package/src/forms-old/Icon.svelte +0 -76
- package/src/forms-old/Item.svelte +0 -25
- package/src/forms-old/ListEditor.svelte +0 -44
- package/src/forms-old/Tabs.svelte +0 -57
- package/src/forms-old/Wrapper.svelte +0 -12
- package/src/forms-old/input/Input.svelte +0 -17
- package/src/forms-old/input/InputField.svelte +0 -70
- package/src/forms-old/input/InputSelect.svelte +0 -23
- package/src/forms-old/input/InputSwitch.svelte +0 -19
- package/src/forms-old/input/types.js +0 -29
- package/src/forms-old/lib/form.js +0 -72
- package/src/forms-old/lib/index.js +0 -12
- package/src/forms-old/mocks/CustomField.svelte +0 -7
- package/src/forms-old/mocks/CustomWrapper.svelte +0 -8
- package/src/forms-old/mocks/Register.svelte +0 -25
- package/src/inp/Input.svelte +0 -17
- package/src/inp/InputField.svelte +0 -69
- package/src/inp/InputSelect.svelte +0 -23
- package/src/inp/InputSwitch.svelte +0 -19
- package/src/lib/deprecated/Form.svelte +0 -17
- package/src/lib/deprecated/FormRenderer.svelte +0 -121
- package/src/lib/deprecated/nested.js +0 -192
- package/src/lib/deprecated/nested.spec.js +0 -512
- package/src/lib/deprecated/validator.js +0 -137
- package/src/lib/deprecated/validator.spec.js +0 -348
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
wrap,
|
|
38
38
|
...rest
|
|
39
39
|
} = $props()
|
|
40
|
+
|
|
41
|
+
function handleChange(event) {
|
|
42
|
+
value = event.target.value
|
|
43
|
+
onchange?.(value)
|
|
44
|
+
}
|
|
40
45
|
</script>
|
|
41
46
|
|
|
42
47
|
<textarea
|
|
@@ -52,7 +57,7 @@
|
|
|
52
57
|
{maxlength}
|
|
53
58
|
{minlength}
|
|
54
59
|
{wrap}
|
|
55
|
-
{
|
|
60
|
+
onchange={handleChange}
|
|
56
61
|
{onfocus}
|
|
57
62
|
{onblur}
|
|
58
63
|
{...rest}
|
|
@@ -33,6 +33,11 @@
|
|
|
33
33
|
autocomplete,
|
|
34
34
|
...rest
|
|
35
35
|
} = $props()
|
|
36
|
+
|
|
37
|
+
function handleChange(event) {
|
|
38
|
+
value = event.target.value
|
|
39
|
+
onchange?.(value)
|
|
40
|
+
}
|
|
36
41
|
</script>
|
|
37
42
|
|
|
38
43
|
<input
|
|
@@ -47,7 +52,7 @@
|
|
|
47
52
|
{name}
|
|
48
53
|
{id}
|
|
49
54
|
{autocomplete}
|
|
50
|
-
{
|
|
55
|
+
onchange={handleChange}
|
|
51
56
|
{onfocus}
|
|
52
57
|
{onblur}
|
|
53
58
|
{...rest}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { Toggle } from '@rokkit/ui'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {Object} InputToggleProps
|
|
6
|
+
* @property {any} value - Selected value (bindable)
|
|
7
|
+
* @property {Array<Object|string>} [options] - Options array (strings or objects)
|
|
8
|
+
* @property {Object} [fields] - Field mapping for option data
|
|
9
|
+
* @property {boolean} [disabled] - Whether the toggle is disabled
|
|
10
|
+
* @property {string} [size] - Size variant ('sm' | 'md' | 'lg')
|
|
11
|
+
* @property {boolean} [showLabels] - Show text labels
|
|
12
|
+
* @property {Function} [onchange] - Change callback
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/** @type {InputToggleProps & { [key: string]: any }} */
|
|
16
|
+
let {
|
|
17
|
+
value = $bindable(),
|
|
18
|
+
options = [],
|
|
19
|
+
fields,
|
|
20
|
+
disabled = false,
|
|
21
|
+
size,
|
|
22
|
+
showLabels,
|
|
23
|
+
onchange,
|
|
24
|
+
..._rest
|
|
25
|
+
} = $props()
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<Toggle {options} {fields} bind:value {onchange} {disabled} {size} {showLabels} />
|
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
size,
|
|
38
38
|
...rest
|
|
39
39
|
} = $props()
|
|
40
|
+
|
|
41
|
+
function handleChange(event) {
|
|
42
|
+
value = event.target.value
|
|
43
|
+
onchange?.(value)
|
|
44
|
+
}
|
|
40
45
|
</script>
|
|
41
46
|
|
|
42
47
|
<input
|
|
@@ -53,7 +58,7 @@
|
|
|
53
58
|
{minlength}
|
|
54
59
|
{pattern}
|
|
55
60
|
{size}
|
|
56
|
-
{
|
|
61
|
+
onchange={handleChange}
|
|
57
62
|
{onfocus}
|
|
58
63
|
{onblur}
|
|
59
64
|
{...rest}
|
|
@@ -33,6 +33,11 @@
|
|
|
33
33
|
autocomplete,
|
|
34
34
|
...rest
|
|
35
35
|
} = $props()
|
|
36
|
+
|
|
37
|
+
function handleChange(event) {
|
|
38
|
+
value = event.target.value
|
|
39
|
+
onchange?.(value)
|
|
40
|
+
}
|
|
36
41
|
</script>
|
|
37
42
|
|
|
38
43
|
<input
|
|
@@ -47,7 +52,7 @@
|
|
|
47
52
|
{name}
|
|
48
53
|
{id}
|
|
49
54
|
{autocomplete}
|
|
50
|
-
{
|
|
55
|
+
onchange={handleChange}
|
|
51
56
|
{onfocus}
|
|
52
57
|
{onblur}
|
|
53
58
|
{...rest}
|
package/src/input/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Native Input Components
|
|
2
|
+
export { default as ArrayEditor } from './ArrayEditor.svelte'
|
|
2
3
|
export { default as InputCheckbox } from './InputCheckbox.svelte'
|
|
3
4
|
export { default as InputColor } from './InputColor.svelte'
|
|
4
5
|
export { default as InputDate } from './InputDate.svelte'
|
|
@@ -13,11 +14,12 @@ export { default as InputRadio } from './InputRadio.svelte'
|
|
|
13
14
|
|
|
14
15
|
export { default as InputRange } from './InputRange.svelte'
|
|
15
16
|
export { default as InputSelect } from './InputSelect.svelte'
|
|
16
|
-
|
|
17
|
+
export { default as InputSwitch } from './InputSwitch.svelte'
|
|
17
18
|
export { default as InputTel } from './InputTel.svelte'
|
|
18
19
|
export { default as InputText } from './InputText.svelte'
|
|
19
20
|
export { default as InputTextArea } from './InputTextArea.svelte'
|
|
20
21
|
export { default as InputTime } from './InputTime.svelte'
|
|
22
|
+
export { default as InputToggle } from './InputToggle.svelte'
|
|
21
23
|
|
|
22
24
|
export { default as InputUrl } from './InputUrl.svelte'
|
|
23
25
|
export { default as InputWeek } from './InputWeek.svelte'
|
package/src/lib/Input.svelte
CHANGED
|
@@ -70,11 +70,11 @@
|
|
|
70
70
|
|
|
71
71
|
// Generate unique ID for accessibility
|
|
72
72
|
let fieldId = `field-${Math.random().toString(36).substr(2, 9)}`
|
|
73
|
-
let descriptionId = description ? `${fieldId}-description` : undefined
|
|
74
|
-
let messageId = message ? `${fieldId}-message` : undefined
|
|
73
|
+
let descriptionId = $derived(description ? `${fieldId}-description` : undefined)
|
|
74
|
+
let messageId = $derived(message ? `${fieldId}-message` : undefined)
|
|
75
75
|
|
|
76
76
|
// Build aria-describedby
|
|
77
|
-
let ariaDescribedBy = [descriptionId, messageId].filter(Boolean).join(' ') || undefined
|
|
77
|
+
let ariaDescribedBy = $derived([descriptionId, messageId].filter(Boolean).join(' ') || undefined)
|
|
78
78
|
</script>
|
|
79
79
|
|
|
80
80
|
<div
|