@ea-lab/reactive-json-docs 0.6.0 → 0.8.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 (84) hide show
  1. package/package.json +2 -2
  2. package/public/rjbuild/docs/advanced-concepts/data-processors.md +2 -2
  3. package/public/rjbuild/docs/advanced-concepts/plugins/component-development-guide-llm.md +14 -14
  4. package/public/rjbuild/docs/core/action/HashChangeListener.md +1 -1
  5. package/public/rjbuild/docs/core/action/HashChangeListener.yaml +24 -6
  6. package/public/rjbuild/docs/core/action/Hide.md +2 -2
  7. package/public/rjbuild/docs/core/action/Hide.yaml +4 -3
  8. package/public/rjbuild/docs/core/action/MessageListener.md +4 -4
  9. package/public/rjbuild/docs/core/action/MessageListener.yaml +18 -6
  10. package/public/rjbuild/docs/core/action/Popover.md +5 -5
  11. package/public/rjbuild/docs/core/action/Popover.yaml +28 -5
  12. package/public/rjbuild/docs/core/action/ReactOnEvent.md +4 -4
  13. package/public/rjbuild/docs/core/action/ReactOnEvent.yaml +4 -4
  14. package/public/rjbuild/docs/core/action/Redirect.md +2 -2
  15. package/public/rjbuild/docs/core/action/Redirect.yaml +8 -2
  16. package/public/rjbuild/docs/core/action/Tooltip.md +3 -3
  17. package/public/rjbuild/docs/core/action/Tooltip.yaml +16 -3
  18. package/public/rjbuild/docs/core/action/VisuallyHide.md +2 -2
  19. package/public/rjbuild/docs/core/action/VisuallyHide.yaml +2 -2
  20. package/public/rjbuild/docs/core/dataMapping/simpleMapping.md +5 -5
  21. package/public/rjbuild/docs/core/dataMapping/simpleMapping.yaml +76 -56
  22. package/public/rjbuild/docs/core/element/debug/VariablesDebug.md +59 -0
  23. package/public/rjbuild/docs/core/element/debug/VariablesDebug.yaml +71 -0
  24. package/public/rjbuild/docs/core/element/form/CheckBoxField.md +8 -8
  25. package/public/rjbuild/docs/core/element/form/CheckBoxField.yaml +40 -8
  26. package/public/rjbuild/docs/core/element/form/DateField.md +5 -5
  27. package/public/rjbuild/docs/core/element/form/DateField.yaml +27 -5
  28. package/public/rjbuild/docs/core/element/form/NumberField.md +7 -7
  29. package/public/rjbuild/docs/core/element/form/NumberField.yaml +32 -7
  30. package/public/rjbuild/docs/core/element/form/SelectField.md +9 -9
  31. package/public/rjbuild/docs/core/element/form/SelectField.yaml +46 -9
  32. package/public/rjbuild/docs/core/element/form/TextAreaField.md +8 -8
  33. package/public/rjbuild/docs/core/element/form/TextAreaField.yaml +36 -8
  34. package/public/rjbuild/docs/core/element/form/TextField.md +8 -8
  35. package/public/rjbuild/docs/core/element/form/TextField.yaml +38 -8
  36. package/public/rjbuild/docs/core/element/form/formElementsCommon.md +2 -4
  37. package/public/rjbuild/docs/core/element/form/index.md +0 -2
  38. package/public/rjbuild/docs/core/element/html/AccordionItem.yaml +19 -7
  39. package/public/rjbuild/docs/core/element/html/FolderSortableTree.yaml +40 -12
  40. package/public/rjbuild/docs/core/element/html/FormatNumeral.yaml +21 -7
  41. package/public/rjbuild/docs/core/element/html/Html.yaml +26 -9
  42. package/public/rjbuild/docs/core/element/html/LabelFromValue.yaml +25 -8
  43. package/public/rjbuild/docs/core/element/html/Modal.yaml +35 -12
  44. package/public/rjbuild/docs/core/element/html/PreformattedMarkup.yaml +23 -7
  45. package/public/rjbuild/docs/core/element/html/SortableTreeItemCollapseButton.yaml +7 -6
  46. package/public/rjbuild/docs/core/element/html/SyntaxHighlighter.yaml +56 -20
  47. package/public/rjbuild/docs/core/element/html/Tabs.yaml +24 -15
  48. package/public/rjbuild/docs/core/element/special/BootstrapElement.md +4 -6
  49. package/public/rjbuild/docs/core/element/special/BootstrapElement.yaml +15 -4
  50. package/public/rjbuild/docs/core/element/special/Count.md +8 -10
  51. package/public/rjbuild/docs/core/element/special/Count.yaml +22 -9
  52. package/public/rjbuild/docs/core/element/special/DataFilter.md +40 -41
  53. package/public/rjbuild/docs/core/element/special/DataFilter.yaml +79 -43
  54. package/public/rjbuild/docs/core/element/special/DelayedActions.md +13 -15
  55. package/public/rjbuild/docs/core/element/special/DelayedActions.yaml +32 -13
  56. package/public/rjbuild/docs/core/element/special/PageControls.md +8 -10
  57. package/public/rjbuild/docs/core/element/special/PageControls.yaml +9 -8
  58. package/public/rjbuild/docs/core/element/special/Phantom.md +9 -11
  59. package/public/rjbuild/docs/core/element/special/Phantom.yaml +22 -9
  60. package/public/rjbuild/docs/core/element/special/ReactiveJsonSubroot.md +7 -9
  61. package/public/rjbuild/docs/core/element/special/ReactiveJsonSubroot.yaml +13 -15
  62. package/public/rjbuild/docs/core/element/special/Switch.md +31 -33
  63. package/public/rjbuild/docs/core/element/special/Switch.yaml +59 -22
  64. package/public/rjbuild/docs/core/reaction/addData.md +0 -2
  65. package/public/rjbuild/docs/core/reaction/addData.yaml +17 -2
  66. package/public/rjbuild/docs/core/reaction/fetchData.md +1 -2
  67. package/public/rjbuild/docs/core/reaction/fetchData.yaml +40 -11
  68. package/public/rjbuild/docs/core/reaction/moveData.md +0 -4
  69. package/public/rjbuild/docs/core/reaction/moveData.yaml +28 -6
  70. package/public/rjbuild/docs/core/reaction/postMessage.md +0 -4
  71. package/public/rjbuild/docs/core/reaction/postMessage.yaml +29 -6
  72. package/public/rjbuild/docs/core/reaction/redirectNow.md +0 -4
  73. package/public/rjbuild/docs/core/reaction/redirectNow.yaml +10 -3
  74. package/public/rjbuild/docs/core/reaction/removeData.md +2 -6
  75. package/public/rjbuild/docs/core/reaction/removeData.yaml +40 -2
  76. package/public/rjbuild/docs/core/reaction/setClipboardData.md +0 -4
  77. package/public/rjbuild/docs/core/reaction/setClipboardData.yaml +10 -3
  78. package/public/rjbuild/docs/core/reaction/setData.md +0 -4
  79. package/public/rjbuild/docs/core/reaction/setData.yaml +25 -7
  80. package/public/rjbuild/docs/core/reaction/submitData.md +2 -3
  81. package/public/rjbuild/docs/core/reaction/submitData.yaml +43 -7
  82. package/public/rjbuild/docs/core/reaction/triggerEvent.md +0 -4
  83. package/public/rjbuild/docs/core/reaction/triggerEvent.yaml +25 -11
  84. package/public/rjbuild/docs/install.md +24 -24
@@ -0,0 +1,59 @@
1
+ # VariablesDebug
2
+
3
+ The `VariablesDebug` component renders a floating debug panel that lets you inspect the current template data at runtime. It is intended for development and debugging purposes to quickly see the values available in the active template context.
4
+
5
+ ## Properties
6
+ None
7
+
8
+ ## Behavior
9
+ - Renders a floating panel that can be expanded/collapsed.
10
+ - Displays the current template path.
11
+ - Switches between two modes: a flattened key/value list or a formatted JSON view.
12
+ - Copies the current view to the clipboard (list or JSON).
13
+ - Uses a portal (`#rj-debug-root`) injected into `document.body`.
14
+ - Returns `null` when `document` is not available (e.g., SSR).
15
+ - Multiple `VariablesDebug` components can be used in the same page.
16
+
17
+ ## Example
18
+ This example shows how to use the `VariablesDebug` component to display the current template data.
19
+
20
+ Click the button to open the debug panel.
21
+
22
+ As the `VariablesDebug` declaration is located at the RjBuild root, it will show the global data assigned to the root.
23
+
24
+ ```yaml
25
+ renderView:
26
+ - type: VariablesDebug
27
+ actions:
28
+ - what: hide
29
+ when: ~.openDebug
30
+ isEmpty:
31
+
32
+ - type: button
33
+ content: Open/close the debug panel
34
+ actions:
35
+ - what: setData
36
+ on: click
37
+ path: ~.openDebug
38
+ value: true
39
+ when: ~.openDebug
40
+ isNot: true
41
+ stopPropagation: true
42
+ - what: setData
43
+ on: click
44
+ path: ~.openDebug
45
+ value: false
46
+ when: ~.openDebug
47
+ isNot: false
48
+ stopPropagation: true
49
+
50
+ data:
51
+ user:
52
+ name: "Alice"
53
+ email: "alice@example.com"
54
+ ```
55
+
56
+ ## Notes
57
+ - Best used only in development environments. You should not ship it in production UIs.
58
+ - Clipboard access depends on browser permissions/policies.
59
+ - Do not include too many `VariablesDebug` components in the same page; otherwise, the vertical space available will be too small to be useful.
@@ -0,0 +1,71 @@
1
+ renderView:
2
+ - type: Markdown
3
+ content: |
4
+ # VariablesDebug
5
+
6
+ The `VariablesDebug` component renders a floating debug panel that lets you inspect the
7
+ current template data at runtime. It is intended for development and debugging purposes
8
+ to quickly see the values available in the active template context.
9
+
10
+ ## Properties
11
+
12
+ None.
13
+
14
+ ## Behavior
15
+ - Renders a floating panel that can be expanded/collapsed.
16
+ - Displays the current template path.
17
+ - Switches between two modes: a flattened key/value list or a formatted JSON view.
18
+ - Copies the current view to the clipboard (list or JSON).
19
+ - Uses a portal (`#rj-debug-root`) injected into `document.body`.
20
+ - Returns `null` when `document` is not available (e.g., SSR).
21
+ - Multiple `VariablesDebug` components can be used in the same page.
22
+
23
+ - type: RjBuildDescriber
24
+ title: "Example"
25
+ description:
26
+ type: Markdown
27
+ content: |
28
+ This example shows how to use the `VariablesDebug` component to display the current template data.
29
+
30
+ Click the button to open the debug panel.
31
+
32
+ As the `VariablesDebug` declaration is located at the RjBuild root, it will show the global data assigned to the root.
33
+
34
+ toDescribe:
35
+ renderView:
36
+ - type: VariablesDebug
37
+ actions:
38
+ - what: hide
39
+ when: ~.openDebug
40
+ isEmpty:
41
+
42
+ - type: button
43
+ content: Open/close the debug panel
44
+ actions:
45
+ - what: setData
46
+ on: click
47
+ path: ~.openDebug
48
+ value: true
49
+ when: ~.openDebug
50
+ isNot: true
51
+ stopPropagation: true
52
+ - what: setData
53
+ on: click
54
+ path: ~.openDebug
55
+ value: false
56
+ when: ~.openDebug
57
+ isNot: false
58
+ stopPropagation: true
59
+
60
+ data:
61
+ user:
62
+ name: "Alice"
63
+ email: "alice@example.com"
64
+
65
+ - type: Markdown
66
+ content: |
67
+ ## Notes
68
+ - Best used only in development environments. You should not ship it in production UIs.
69
+ - Clipboard access depends on browser permissions/policies.
70
+ - Do not include too many `VariablesDebug` components in the same page; otherwise,
71
+ the vertical space available will be too small to be useful.
@@ -4,14 +4,14 @@ The `CheckBoxField` component renders checkbox or radio button groups using Reac
4
4
 
5
5
  ## Properties
6
6
 
7
- - `dataLocation` (string, optional): Path to bind the field value in the data context
8
- - `defaultFieldValue` (any, optional): Default value when no data is present
9
- - `options` (array, optional): Static array of option objects with `label` and `value` properties
10
- - `dynamicOptions` (string, optional): Template path to dynamic options array
11
- - `controlType` (string, optional): Type of control - "checkbox" (default) or "radio"
12
- - `multiple` (boolean, optional): Force array storage for checkboxes (default: auto-detected)
13
- - `attributes` (object, optional): Attributes applied to the Form.Group container
14
- - `actions` (array, optional): Actions to execute based on field state
7
+ - `dataLocation` (string, optional): Path to bind the field value in the data context.
8
+ - `defaultFieldValue` (any, optional): Default value when no data is present.
9
+ - `options` (array, optional): Static array of option objects with `label` and `value` properties.
10
+ - `dynamicOptions` (string, optional): Template path to dynamic options array.
11
+ - `controlType` (string, optional): Type of control - "checkbox" (default) or "radio".
12
+ - `multiple` (boolean, optional): Force array storage for checkboxes (default: auto-detected).
13
+ - `attributes` (object, optional): Attributes applied to the Form.Group container.
14
+ - `actions` (array, optional): Actions to execute based on field state.
15
15
 
16
16
  ## Option Format
17
17
 
@@ -7,15 +7,47 @@ renderView:
7
7
 
8
8
  ## Properties
9
9
 
10
- - `dataLocation` (string, optional): Path to bind the field value in the data context
11
- - `defaultFieldValue` (any, optional): Default value when no data is present
12
- - `options` (array, optional): Static array of option objects with `label` and `value` properties
13
- - `dynamicOptions` (string, optional): Template path to dynamic options array
14
- - `controlType` (string, optional): Type of control - "checkbox" (default) or "radio"
15
- - `multiple` (boolean, optional): Force array storage for checkboxes (default: auto-detected)
16
- - `attributes` (object, optional): Attributes applied to the Form.Group container
17
- - `actions` (array, optional): Actions to execute based on field state
10
+ - type: DefinitionList
11
+ content:
12
+ - term:
13
+ code: dataLocation
14
+ after: "(string, optional)"
15
+ details: "Path to bind the field value in the data context."
16
+ - term:
17
+ code: defaultFieldValue
18
+ after: "(any, optional)"
19
+ details: "Default value when no data is present."
20
+ - term:
21
+ code: options
22
+ after: "(array, optional)"
23
+ details:
24
+ type: Markdown
25
+ content: "Static array of option objects with `label` and `value` properties."
26
+ - term:
27
+ code: dynamicOptions
28
+ after: "(string, optional)"
29
+ details:
30
+ type: Markdown
31
+ content: "Template path to dynamic options array."
32
+ - term:
33
+ code: controlType
34
+ after: "(string, optional)"
35
+ details: "Type of control - `checkbox` (default) or `radio`."
36
+ - term:
37
+ code: multiple
38
+ after: "(boolean, optional)"
39
+ details: "Force array storage for checkboxes (default: auto-detected)."
40
+ - term:
41
+ code: attributes
42
+ after: "(object, optional)"
43
+ details: "Attributes applied to the Form.Group container."
44
+ - term:
45
+ code: actions
46
+ after: "(array, optional)"
47
+ details: "Actions to execute based on field state."
18
48
 
49
+ - type: Markdown
50
+ content: |
19
51
  ## Option Format
20
52
 
21
53
  Each option object must have:
@@ -7,11 +7,11 @@ The `DateField` component renders a date and time input field using React Bootst
7
7
 
8
8
  ## Properties
9
9
 
10
- - `dataLocation` (string, optional): Path to bind the field value in the data context
11
- - `defaultFieldValue` (string, optional): Default value when no data is present
12
- - `label` (string, optional): Field label text
13
- - `attributes` (object, optional): Attributes applied to the Form.Group container
14
- - `actions` (array, optional): Actions to execute based on field state. Supports both actions (hide, tooltip, etc.) and conditional reactions (setData, fetchData, etc.) with full conditional logic support
10
+ - `dataLocation` (string, optional): Path to bind the field value in the data context.
11
+ - `defaultFieldValue` (string, optional): Default value when no data is present.
12
+ - `label` (string, optional): Field label text.
13
+ - `attributes` (object, optional): Attributes applied to the Form.Group container.
14
+ - `actions` (array, optional): Actions to execute based on field state. Supports both actions (hide, tooltip, etc.) and conditional reactions (setData, fetchData, etc.) with full conditional logic support.
15
15
 
16
16
  ## Data Management
17
17
 
@@ -10,12 +10,34 @@ renderView:
10
10
 
11
11
  ## Properties
12
12
 
13
- - `dataLocation` (string, optional): Path to bind the field value in the data context
14
- - `defaultFieldValue` (string, optional): Default value when no data is present
15
- - `label` (string, optional): Field label text
16
- - `attributes` (object, optional): Attributes applied to the Form.Group container
17
- - `actions` (array, optional): Actions to execute based on field state. Supports both actions (hide, tooltip, etc.) and conditional reactions (setData, fetchData, etc.) with full conditional logic support
13
+ - type: DefinitionList
14
+ content:
15
+ - term:
16
+ code: dataLocation
17
+ after: "(string, optional)"
18
+ details: Path to bind the field value in the data context.
19
+ - term:
20
+ code: defaultFieldValue
21
+ after: "(string, optional)"
22
+ details: Default value when no data is present.
23
+ - term:
24
+ code: label
25
+ after: "(string, optional)"
26
+ details: Field label text.
27
+ - term:
28
+ code: attributes
29
+ after: "(object, optional)"
30
+ details: Attributes applied to the Form.Group container.
31
+ - term:
32
+ code: actions
33
+ after: "(array, optional)"
34
+ details:
35
+ type: Markdown
36
+ content: |
37
+ Actions to execute based on field state. Supports both actions (hide, tooltip, etc.) and conditional reactions (setData, fetchData, etc.) with full conditional logic support.
18
38
 
39
+ - type: Markdown
40
+ content: |
19
41
  ## Data Management
20
42
 
21
43
  The component automatically synchronizes its value with the global data context as an ISO 8601 datetime string format (YYYY-MM-DDTHH:mm). When using `dataLocation`, the value is stored at the specified path. Without `dataLocation`, the value is stored in the template context using the component's `datafield`.
@@ -4,13 +4,13 @@ The `NumberField` component renders a numeric input field using React Bootstrap.
4
4
 
5
5
  ## Properties
6
6
 
7
- - `dataLocation` (string, optional): Path to bind the field value in the data context
8
- - `defaultFieldValue` (number, optional): Default value when no data is present
9
- - `label` (string, optional): Field label text (supports template evaluation)
10
- - `placeholder` (string, optional): Placeholder text (supports template evaluation)
11
- - `attributes` (object, optional): Attributes applied to the Form.Group container
12
- - `inputAttributes` (object, optional): Attributes applied directly to the input element
13
- - `actions` (array, optional): Actions to execute based on field state
7
+ - `dataLocation` (string, optional): Path to bind the field value in the data context.
8
+ - `defaultFieldValue` (number, optional): Default value when no data is present.
9
+ - `label` (string, optional): Field label text (supports template evaluation).
10
+ - `placeholder` (string, optional): Placeholder text (supports template evaluation).
11
+ - `attributes` (object, optional): Attributes applied to the Form.Group container.
12
+ - `inputAttributes` (object, optional): Attributes applied directly to the input element.
13
+ - `actions` (array, optional): Actions to execute based on field state.
14
14
 
15
15
  ## Data Management
16
16
 
@@ -7,14 +7,39 @@ renderView:
7
7
 
8
8
  ## Properties
9
9
 
10
- - `dataLocation` (string, optional): Path to bind the field value in the data context
11
- - `defaultFieldValue` (number, optional): Default value when no data is present
12
- - `label` (string, optional): Field label text (supports template evaluation)
13
- - `placeholder` (string, optional): Placeholder text (supports template evaluation)
14
- - `attributes` (object, optional): Attributes applied to the Form.Group container
15
- - `inputAttributes` (object, optional): Attributes applied directly to the input element
16
- - `actions` (array, optional): Actions to execute based on field state
10
+ - type: DefinitionList
11
+ content:
12
+ - term:
13
+ code: dataLocation
14
+ after: "(string, optional)"
15
+ details: "Path to bind the field value in the data context."
16
+ - term:
17
+ code: defaultFieldValue
18
+ after: "(number, optional)"
19
+ details: "Default value when no data is present."
20
+ - term:
21
+ code: label
22
+ after: "(string, optional)"
23
+ details: "Field label text (supports template evaluation)."
24
+ - term:
25
+ code: placeholder
26
+ after: "(string, optional)"
27
+ details: "Placeholder text (supports template evaluation)."
28
+ - term:
29
+ code: attributes
30
+ after: "(object, optional)"
31
+ details: "Attributes applied to the Form.Group container."
32
+ - term:
33
+ code: inputAttributes
34
+ after: "(object, optional)"
35
+ details: "Attributes applied directly to the input element."
36
+ - term:
37
+ code: actions
38
+ after: "(array, optional)"
39
+ details: "Actions to execute based on field state."
17
40
 
41
+ - type: Markdown
42
+ content: |
18
43
  ## Data Management
19
44
 
20
45
  The component stores the input value as a string in the data context. The browser's number input provides built-in validation, but the value should be converted to a number when needed for calculations.
@@ -4,15 +4,15 @@ The `SelectField` component renders a dropdown selection field using React Boots
4
4
 
5
5
  ## Properties
6
6
 
7
- - `dataLocation` (string, optional): Path to bind the field value in the data context
8
- - `defaultFieldValue` (any, optional): Default value when no data is present
9
- - `label` (string, optional): Field label text (supports template evaluation)
10
- - `options` (array, optional): Static array of option objects with `label` and `value` properties
11
- - `dynamicOptions` (string, optional): Template path to dynamic options array
12
- - `allowEmptyStringAsValue` (boolean, optional): Preserve empty strings as `""` instead of converting to `undefined` (default: false)
13
- - `attributes` (object, optional): Attributes applied to the Form.Group container
14
- - `inputAttributes` (object, optional): Attributes applied directly to the select element
15
- - `actions` (array, optional): Actions to execute based on field state
7
+ - `dataLocation` (string, optional): Path to bind the field value in the data context.
8
+ - `defaultFieldValue` (any, optional): Default value when no data is present.
9
+ - `label` (string, optional): Field label text (supports template evaluation).
10
+ - `options` (array, optional): Static array of option objects with `label` and `value` properties.
11
+ - `dynamicOptions` (string, optional): Template path to dynamic options array.
12
+ - `allowEmptyStringAsValue` (boolean, optional): Preserve empty strings as `""` instead of converting to `undefined` (default: false).
13
+ - `attributes` (object, optional): Attributes applied to the Form.Group container.
14
+ - `inputAttributes` (object, optional): Attributes applied directly to the select element.
15
+ - `actions` (array, optional): Actions to execute based on field state.
16
16
 
17
17
  ## Option Format
18
18
 
@@ -7,16 +7,53 @@ renderView:
7
7
 
8
8
  ## Properties
9
9
 
10
- - `dataLocation` (string, optional): Path to bind the field value in the data context
11
- - `defaultFieldValue` (any, optional): Default value when no data is present
12
- - `label` (string, optional): Field label text (supports template evaluation)
13
- - `options` (array, optional): Static array of option objects with `label` and `value` properties
14
- - `dynamicOptions` (string, optional): Template path to dynamic options array
15
- - `allowEmptyStringAsValue` (boolean, optional): Preserve empty strings as `""` instead of converting to `undefined` (default: false)
16
- - `attributes` (object, optional): Attributes applied to the Form.Group container
17
- - `inputAttributes` (object, optional): Attributes applied directly to the select element
18
- - `actions` (array, optional): Actions to execute based on field state
10
+ - type: DefinitionList
11
+ content:
12
+ - term:
13
+ code: dataLocation
14
+ after: "(string, optional)"
15
+ details: "Path to bind the field value in the data context."
16
+ - term:
17
+ code: defaultFieldValue
18
+ after: "(any, optional)"
19
+ details: "Default value when no data is present."
20
+ - term:
21
+ code: label
22
+ after: "(string, optional)"
23
+ details: "Field label text (supports template evaluation)."
24
+ - term:
25
+ code: options
26
+ after: "(array, optional)"
27
+ details:
28
+ type: Markdown
29
+ content: "Static array of option objects with `label` and `value` properties."
30
+ - term:
31
+ code: dynamicOptions
32
+ after: "(string, optional)"
33
+ details:
34
+ type: Markdown
35
+ content: "Template path to dynamic options array."
36
+ - term:
37
+ code: allowEmptyStringAsValue
38
+ after: "(boolean, optional)"
39
+ details:
40
+ type: Markdown
41
+ content: "Preserve empty strings as `\"\"` instead of converting to `undefined` (default: false)."
42
+ - term:
43
+ code: attributes
44
+ after: "(object, optional)"
45
+ details: "Attributes applied to the Form.Group container."
46
+ - term:
47
+ code: inputAttributes
48
+ after: "(object, optional)"
49
+ details: "Attributes applied directly to the select element."
50
+ - term:
51
+ code: actions
52
+ after: "(array, optional)"
53
+ details: "Actions to execute based on field state."
19
54
 
55
+ - type: Markdown
56
+ content: |
20
57
  ## Option Format
21
58
 
22
59
  Each option object must have:
@@ -4,14 +4,14 @@ The `TextAreaField` component renders a multi-line text input field using React
4
4
 
5
5
  ## Properties
6
6
 
7
- - `dataLocation` (string, optional): Path to bind the field value in the data context
8
- - `defaultFieldValue` (string, optional): Default value when no data is present
9
- - `label` (string, optional): Field label text (supports template evaluation)
10
- - `placeholder` (string, optional): Placeholder text (supports template evaluation)
11
- - `rows` (number, optional): Number of visible text lines (default: 3)
12
- - `attributes` (object, optional): Attributes applied to the Form.Group container
13
- - `inputAttributes` (object, optional): Attributes applied directly to the textarea element
14
- - `actions` (array, optional): Actions to execute based on field state
7
+ - `dataLocation` (string, optional): Path to bind the field value in the data context.
8
+ - `defaultFieldValue` (string, optional): Default value when no data is present.
9
+ - `label` (string, optional): Field label text (supports template evaluation).
10
+ - `placeholder` (string, optional): Placeholder text (supports template evaluation).
11
+ - `rows` (number, optional): Number of visible text lines (default: 3).
12
+ - `attributes` (object, optional): Attributes applied to the Form.Group container.
13
+ - `inputAttributes` (object, optional): Attributes applied directly to the textarea element.
14
+ - `actions` (array, optional): Actions to execute based on field state.
15
15
 
16
16
  ## Data Management
17
17
 
@@ -7,15 +7,43 @@ renderView:
7
7
 
8
8
  ## Properties
9
9
 
10
- - `dataLocation` (string, optional): Path to bind the field value in the data context
11
- - `defaultFieldValue` (string, optional): Default value when no data is present
12
- - `label` (string, optional): Field label text (supports template evaluation)
13
- - `placeholder` (string, optional): Placeholder text (supports template evaluation)
14
- - `rows` (number, optional): Number of visible text lines (default: 3)
15
- - `attributes` (object, optional): Attributes applied to the Form.Group container
16
- - `inputAttributes` (object, optional): Attributes applied directly to the textarea element
17
- - `actions` (array, optional): Actions to execute based on field state
10
+ - type: DefinitionList
11
+ content:
12
+ - term:
13
+ code: dataLocation
14
+ after: "(string, optional)"
15
+ details: "Path to bind the field value in the data context."
16
+ - term:
17
+ code: defaultFieldValue
18
+ after: "(string, optional)"
19
+ details: "Default value when no data is present."
20
+ - term:
21
+ code: label
22
+ after: "(string, optional)"
23
+ details: "Field label text (supports template evaluation)."
24
+ - term:
25
+ code: placeholder
26
+ after: "(string, optional)"
27
+ details: "Placeholder text (supports template evaluation)."
28
+ - term:
29
+ code: rows
30
+ after: "(number, optional)"
31
+ details: "Number of visible text lines (default: 3)."
32
+ - term:
33
+ code: attributes
34
+ after: "(object, optional)"
35
+ details: "Attributes applied to the Form.Group container."
36
+ - term:
37
+ code: inputAttributes
38
+ after: "(object, optional)"
39
+ details: "Attributes applied directly to the textarea element."
40
+ - term:
41
+ code: actions
42
+ after: "(array, optional)"
43
+ details: "Actions to execute based on field state."
18
44
 
45
+ - type: Markdown
46
+ content: |
19
47
  ## Data Management
20
48
 
21
49
  The component automatically synchronizes its value with the global data context. When using `dataLocation`, the value is stored at the specified path. Without `dataLocation`, the value is stored in the template context using the component's `datafield`.
@@ -4,14 +4,14 @@ The `TextField` component renders a single-line text input field using React Boo
4
4
 
5
5
  ## Properties
6
6
 
7
- - `dataLocation` (string, optional): Path to bind the field value in the data context
8
- - `defaultFieldValue` (string, optional): Default value when no data is present
9
- - `label` (string, optional): Field label text (supports template evaluation)
10
- - `placeholder` (string, optional): Placeholder text (supports template evaluation)
11
- - `inputType` (string, optional): HTML input type (default: "text", supports template evaluation)
12
- - `attributes` (object, optional): Attributes applied to the Form.Group container
13
- - `inputAttributes` (object, optional): Attributes applied directly to the input element
14
- - `actions` (array, optional): Actions to execute based on field state
7
+ - `dataLocation` (string, optional): Path to bind the field value in the data context.
8
+ - `defaultFieldValue` (string, optional): Default value when no data is present.
9
+ - `label` (string, optional): Field label text (supports template evaluation).
10
+ - `placeholder` (string, optional): Placeholder text (supports template evaluation).
11
+ - `inputType` (string, optional): HTML input type (default: "text", supports template evaluation).
12
+ - `attributes` (object, optional): Attributes applied to the Form.Group container.
13
+ - `inputAttributes` (object, optional): Attributes applied directly to the input element.
14
+ - `actions` (array, optional): Actions to execute based on field state.
15
15
 
16
16
  ## Data Management
17
17
 
@@ -7,15 +7,45 @@ renderView:
7
7
 
8
8
  ## Properties
9
9
 
10
- - `dataLocation` (string, optional): Path to bind the field value in the data context
11
- - `defaultFieldValue` (string, optional): Default value when no data is present
12
- - `label` (string, optional): Field label text (supports template evaluation)
13
- - `placeholder` (string, optional): Placeholder text (supports template evaluation)
14
- - `inputType` (string, optional): HTML input type (default: "text", supports template evaluation)
15
- - `attributes` (object, optional): Attributes applied to the Form.Group container
16
- - `inputAttributes` (object, optional): Attributes applied directly to the input element
17
- - `actions` (array, optional): Actions to execute based on field state
10
+ - type: DefinitionList
11
+ content:
12
+ - term:
13
+ code: dataLocation
14
+ after: "(string, optional)"
15
+ details: "Path to bind the field value in the data context."
16
+ - term:
17
+ code: defaultFieldValue
18
+ after: "(string, optional)"
19
+ details: "Default value when no data is present."
20
+ - term:
21
+ code: label
22
+ after: "(string, optional)"
23
+ details: "Field label text (supports template evaluation)."
24
+ - term:
25
+ code: placeholder
26
+ after: "(string, optional)"
27
+ details: "Placeholder text (supports template evaluation)."
28
+ - term:
29
+ code: inputType
30
+ after: "(string, optional)"
31
+ details:
32
+ type: Markdown
33
+ content: "HTML input type (default: \"text\", supports template evaluation)."
34
+ - term:
35
+ code: attributes
36
+ after: "(object, optional)"
37
+ details: "Attributes applied to the Form.Group container."
38
+ - term:
39
+ code: inputAttributes
40
+ after: "(object, optional)"
41
+ details: "Attributes applied directly to the input element."
42
+ - term:
43
+ code: actions
44
+ after: "(array, optional)"
45
+ details: "Actions to execute based on field state."
18
46
 
47
+ - type: Markdown
48
+ content: |
19
49
  ## Data Management
20
50
 
21
51
  The component automatically synchronizes its value with the global data context. When using `dataLocation`, the value is stored at the specified path. Without `dataLocation`, the value is stored in the template context using the component's `datafield`.
@@ -1,7 +1,5 @@
1
1
  # Form Elements Common Utilities
2
2
 
3
- ## Introduction
4
-
5
3
  The `formElementsCommon.jsx` file provides shared utilities for all form components in Reactive-JSON. These utilities handle data location resolution, path calculation, and default value management.
6
4
 
7
5
  ## propsDataLocationToPathAndValue Function
@@ -27,13 +25,13 @@ Returns an object with:
27
25
 
28
26
  The function implements two data binding strategies:
29
27
 
30
- #### 1. Custom Data Location
28
+ #### Custom Data Location
31
29
  When `dataLocation` is provided:
32
30
  - Evaluates the template value at the specified location
33
31
  - Uses the resolved path for data updates
34
32
  - Falls back to `defaultValue` if the location is undefined
35
33
 
36
- #### 2. Template-Scoped Data
34
+ #### Template-Scoped Data
37
35
  When no `dataLocation` is provided:
38
36
  - Uses the component's `datafield` as the key
39
37
  - Stores data in the template context under this key
@@ -1,7 +1,5 @@
1
1
  # Form Elements
2
2
 
3
- ## Introduction
4
-
5
3
  Form elements in Reactive-JSON provide interactive input components based on React Bootstrap. These components automatically manage state through the global data context and support template evaluation for dynamic content.
6
4
 
7
5
  All form elements support: