@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.
Files changed (90) hide show
  1. package/README.md +251 -0
  2. package/dist/src/display/index.d.ts +5 -0
  3. package/dist/src/index.d.ts +9 -0
  4. package/dist/src/input/index.d.ts +3 -0
  5. package/dist/src/lib/builder.svelte.d.ts +114 -4
  6. package/dist/src/lib/lookup.svelte.d.ts +87 -0
  7. package/dist/src/lib/renderers.d.ts +23 -0
  8. package/package.json +6 -4
  9. package/src/FieldLayout.svelte +4 -11
  10. package/src/FormRenderer.svelte +202 -61
  11. package/src/InfoField.svelte +26 -0
  12. package/src/Input.svelte +17 -61
  13. package/src/InputField.svelte +15 -11
  14. package/src/ValidationReport.svelte +52 -0
  15. package/src/display/DisplayCardGrid.svelte +68 -0
  16. package/src/display/DisplayList.svelte +31 -0
  17. package/src/display/DisplaySection.svelte +20 -0
  18. package/src/display/DisplayTable.svelte +68 -0
  19. package/src/display/DisplayValue.svelte +44 -0
  20. package/src/display/index.js +5 -0
  21. package/src/index.js +14 -0
  22. package/src/input/ArrayEditor.svelte +108 -0
  23. package/src/input/InputCheckbox.svelte +4 -5
  24. package/src/input/InputColor.svelte +6 -1
  25. package/src/input/InputDate.svelte +6 -1
  26. package/src/input/InputDateTime.svelte +6 -1
  27. package/src/input/InputEmail.svelte +6 -1
  28. package/src/input/InputFile.svelte +6 -2
  29. package/src/input/InputMonth.svelte +6 -1
  30. package/src/input/InputNumber.svelte +6 -1
  31. package/src/input/InputPassword.svelte +6 -1
  32. package/src/input/InputRadio.svelte +3 -3
  33. package/src/input/InputRange.svelte +6 -1
  34. package/src/input/InputSelect.svelte +31 -53
  35. package/src/input/InputSwitch.svelte +4 -15
  36. package/src/input/InputTel.svelte +6 -1
  37. package/src/input/InputText.svelte +6 -1
  38. package/src/input/InputTextArea.svelte +6 -1
  39. package/src/input/InputTime.svelte +6 -1
  40. package/src/input/InputToggle.svelte +28 -0
  41. package/src/input/InputUrl.svelte +6 -1
  42. package/src/input/InputWeek.svelte +6 -1
  43. package/src/input/index.js +3 -1
  44. package/src/lib/Input.svelte +3 -3
  45. package/src/lib/builder.svelte.js +425 -30
  46. package/src/lib/fields.js +2 -2
  47. package/src/lib/layout.js +2 -2
  48. package/src/lib/lookup.svelte.js +334 -0
  49. package/src/lib/renderers.js +83 -0
  50. package/src/lib/schema.js +1 -1
  51. package/src/types.js +0 -9
  52. package/dist/src/forms-old/input/types.d.ts +0 -7
  53. package/dist/src/forms-old/lib/form.d.ts +0 -95
  54. package/dist/src/forms-old/lib/index.d.ts +0 -1
  55. package/dist/src/lib/deprecated/nested.d.ts +0 -48
  56. package/dist/src/lib/deprecated/nested.spec.d.ts +0 -1
  57. package/dist/src/lib/deprecated/validator.d.ts +0 -30
  58. package/dist/src/lib/deprecated/validator.spec.d.ts +0 -1
  59. package/src/DataEditor.svelte +0 -30
  60. package/src/ListEditor.svelte +0 -44
  61. package/src/NestedEditor.svelte +0 -85
  62. package/src/forms-old/CheckBox.svelte +0 -56
  63. package/src/forms-old/DataEditor.svelte +0 -30
  64. package/src/forms-old/FieldLayout.svelte +0 -48
  65. package/src/forms-old/Form.svelte +0 -17
  66. package/src/forms-old/Icon.svelte +0 -76
  67. package/src/forms-old/Item.svelte +0 -25
  68. package/src/forms-old/ListEditor.svelte +0 -44
  69. package/src/forms-old/Tabs.svelte +0 -57
  70. package/src/forms-old/Wrapper.svelte +0 -12
  71. package/src/forms-old/input/Input.svelte +0 -17
  72. package/src/forms-old/input/InputField.svelte +0 -70
  73. package/src/forms-old/input/InputSelect.svelte +0 -23
  74. package/src/forms-old/input/InputSwitch.svelte +0 -19
  75. package/src/forms-old/input/types.js +0 -29
  76. package/src/forms-old/lib/form.js +0 -72
  77. package/src/forms-old/lib/index.js +0 -12
  78. package/src/forms-old/mocks/CustomField.svelte +0 -7
  79. package/src/forms-old/mocks/CustomWrapper.svelte +0 -8
  80. package/src/forms-old/mocks/Register.svelte +0 -25
  81. package/src/inp/Input.svelte +0 -17
  82. package/src/inp/InputField.svelte +0 -69
  83. package/src/inp/InputSelect.svelte +0 -23
  84. package/src/inp/InputSwitch.svelte +0 -19
  85. package/src/lib/deprecated/Form.svelte +0 -17
  86. package/src/lib/deprecated/FormRenderer.svelte +0 -121
  87. package/src/lib/deprecated/nested.js +0 -192
  88. package/src/lib/deprecated/nested.spec.js +0 -512
  89. package/src/lib/deprecated/validator.js +0 -137
  90. 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
- {onchange}
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
- {onchange}
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
- {onchange}
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
- {onchange}
55
+ onchange={handleChange}
51
56
  {onfocus}
52
57
  {onblur}
53
58
  {...rest}
@@ -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
- // export { default as InputSwitch } from './InputSwitch.svelte'
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'
@@ -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