@researchdatabox/sails-ng-common 0.2.0 → 5.0.0-RC1

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 (237) hide show
  1. package/dist/src/config/base-field-component.model.d.ts +26 -0
  2. package/dist/src/config/base-field-component.model.js +29 -0
  3. package/dist/src/config/base-field-component.outline.d.ts +108 -0
  4. package/dist/src/config/base-field-component.outline.js +3 -0
  5. package/dist/src/config/component/accordion.model.d.ts +103 -0
  6. package/dist/src/config/component/accordion.model.js +127 -0
  7. package/dist/src/config/component/accordion.outline.d.ts +162 -0
  8. package/dist/src/config/component/accordion.outline.js +13 -0
  9. package/dist/src/config/component/action-row-layout.model.d.ts +28 -0
  10. package/dist/src/config/component/action-row-layout.model.js +35 -0
  11. package/dist/src/config/component/action-row-layout.outline.d.ts +36 -0
  12. package/dist/src/config/component/action-row-layout.outline.js +6 -0
  13. package/dist/src/config/component/cancel-button.model.d.ts +48 -0
  14. package/dist/src/config/component/cancel-button.model.js +58 -0
  15. package/dist/src/config/component/cancel-button.outline.d.ts +85 -0
  16. package/dist/src/config/component/cancel-button.outline.js +6 -0
  17. package/dist/src/config/component/checkbox-input.model.d.ts +67 -0
  18. package/dist/src/config/component/checkbox-input.model.js +79 -0
  19. package/dist/src/config/component/checkbox-input.outline.d.ts +93 -0
  20. package/dist/src/config/component/checkbox-input.outline.js +8 -0
  21. package/dist/src/config/component/checkbox-tree.model.d.ts +68 -0
  22. package/dist/src/config/component/checkbox-tree.model.js +80 -0
  23. package/dist/src/config/component/checkbox-tree.outline.d.ts +105 -0
  24. package/dist/src/config/component/checkbox-tree.outline.js +8 -0
  25. package/dist/src/config/component/content.model.d.ts +46 -0
  26. package/dist/src/config/component/content.model.js +56 -0
  27. package/dist/src/config/component/content.outline.d.ts +74 -0
  28. package/dist/src/config/component/content.outline.js +6 -0
  29. package/dist/src/config/component/data-location.model.d.ts +83 -0
  30. package/dist/src/config/component/data-location.model.js +95 -0
  31. package/dist/src/config/component/data-location.outline.d.ts +124 -0
  32. package/dist/src/config/component/data-location.outline.js +6 -0
  33. package/dist/src/config/component/date-input.model.d.ts +67 -0
  34. package/dist/src/config/component/date-input.model.js +80 -0
  35. package/dist/src/config/component/date-input.outline.d.ts +88 -0
  36. package/dist/src/config/component/date-input.outline.js +8 -0
  37. package/dist/src/config/component/default-layout.model.d.ts +22 -0
  38. package/dist/src/config/component/default-layout.model.js +30 -0
  39. package/dist/src/config/component/default-layout.outline.d.ts +29 -0
  40. package/dist/src/config/component/default-layout.outline.js +5 -0
  41. package/dist/src/config/component/delete-button.model.d.ts +46 -0
  42. package/dist/src/config/component/delete-button.model.js +48 -0
  43. package/dist/src/config/component/delete-button.outline.d.ts +89 -0
  44. package/dist/src/config/component/delete-button.outline.js +5 -0
  45. package/dist/src/config/component/dropdown-input.model.d.ts +65 -0
  46. package/dist/src/config/component/dropdown-input.model.js +78 -0
  47. package/dist/src/config/component/dropdown-input.outline.d.ts +92 -0
  48. package/dist/src/config/component/dropdown-input.outline.js +8 -0
  49. package/dist/src/config/component/file-upload.model.d.ts +67 -0
  50. package/dist/src/config/component/file-upload.model.js +81 -0
  51. package/dist/src/config/component/file-upload.outline.d.ts +99 -0
  52. package/dist/src/config/component/file-upload.outline.js +8 -0
  53. package/dist/src/config/component/group.model.d.ts +61 -0
  54. package/dist/src/config/component/group.model.js +75 -0
  55. package/dist/src/config/component/group.outline.d.ts +83 -0
  56. package/dist/src/config/component/group.outline.js +8 -0
  57. package/dist/src/config/component/inline-layout.model.d.ts +22 -0
  58. package/dist/src/config/component/inline-layout.model.js +29 -0
  59. package/dist/src/config/component/inline-layout.outline.d.ts +29 -0
  60. package/dist/src/config/component/inline-layout.outline.js +5 -0
  61. package/dist/src/config/component/integration-status.model.d.ts +49 -0
  62. package/dist/src/config/component/integration-status.model.js +65 -0
  63. package/dist/src/config/component/integration-status.outline.d.ts +61 -0
  64. package/dist/src/config/component/integration-status.outline.js +5 -0
  65. package/dist/src/config/component/map.model.d.ts +69 -0
  66. package/dist/src/config/component/map.model.js +86 -0
  67. package/dist/src/config/component/map.outline.d.ts +110 -0
  68. package/dist/src/config/component/map.outline.js +8 -0
  69. package/dist/src/config/component/pdf-list.model.d.ts +68 -0
  70. package/dist/src/config/component/pdf-list.model.js +71 -0
  71. package/dist/src/config/component/pdf-list.outline.d.ts +97 -0
  72. package/dist/src/config/component/pdf-list.outline.js +6 -0
  73. package/dist/src/config/component/publish-data-location-refresh.model.d.ts +39 -0
  74. package/dist/src/config/component/publish-data-location-refresh.model.js +52 -0
  75. package/dist/src/config/component/publish-data-location-refresh.outline.d.ts +58 -0
  76. package/dist/src/config/component/publish-data-location-refresh.outline.js +5 -0
  77. package/dist/src/config/component/publish-data-location-selector.model.d.ts +78 -0
  78. package/dist/src/config/component/publish-data-location-selector.model.js +104 -0
  79. package/dist/src/config/component/publish-data-location-selector.outline.d.ts +110 -0
  80. package/dist/src/config/component/publish-data-location-selector.outline.js +6 -0
  81. package/dist/src/config/component/question-tree.helper.d.ts +58 -0
  82. package/dist/src/config/component/question-tree.helper.js +291 -0
  83. package/dist/src/config/component/question-tree.model.d.ts +64 -0
  84. package/dist/src/config/component/question-tree.model.js +80 -0
  85. package/dist/src/config/component/question-tree.outline.d.ts +314 -0
  86. package/dist/src/config/component/question-tree.outline.js +9 -0
  87. package/dist/src/config/component/radio-input.model.d.ts +65 -0
  88. package/dist/src/config/component/radio-input.model.js +77 -0
  89. package/dist/src/config/component/radio-input.outline.d.ts +91 -0
  90. package/dist/src/config/component/radio-input.outline.js +8 -0
  91. package/dist/src/config/component/record-metadata-retriever.model.d.ts +41 -0
  92. package/dist/src/config/component/record-metadata-retriever.model.js +57 -0
  93. package/dist/src/config/component/record-metadata-retriever.outline.d.ts +53 -0
  94. package/dist/src/config/component/record-metadata-retriever.outline.js +5 -0
  95. package/dist/src/config/component/record-selector.model.d.ts +61 -0
  96. package/dist/src/config/component/record-selector.model.js +61 -0
  97. package/dist/src/config/component/record-selector.outline.d.ts +91 -0
  98. package/dist/src/config/component/record-selector.outline.js +6 -0
  99. package/dist/src/config/component/repeatable.model.d.ts +91 -0
  100. package/dist/src/config/component/repeatable.model.js +112 -0
  101. package/dist/src/config/component/repeatable.outline.d.ts +115 -0
  102. package/dist/src/config/component/repeatable.outline.js +10 -0
  103. package/dist/src/config/component/reusable.model.d.ts +42 -0
  104. package/dist/src/config/component/reusable.model.js +57 -0
  105. package/dist/src/config/component/reusable.outline.d.ts +55 -0
  106. package/dist/src/config/component/reusable.outline.js +6 -0
  107. package/dist/src/config/component/rich-text-editor.model.d.ts +65 -0
  108. package/dist/src/config/component/rich-text-editor.model.js +79 -0
  109. package/dist/src/config/component/rich-text-editor.outline.d.ts +92 -0
  110. package/dist/src/config/component/rich-text-editor.outline.js +8 -0
  111. package/dist/src/config/component/save-button.model.d.ts +49 -0
  112. package/dist/src/config/component/save-button.model.js +59 -0
  113. package/dist/src/config/component/save-button.outline.d.ts +90 -0
  114. package/dist/src/config/component/save-button.outline.js +6 -0
  115. package/dist/src/config/component/save-status.model.d.ts +42 -0
  116. package/dist/src/config/component/save-status.model.js +60 -0
  117. package/dist/src/config/component/save-status.outline.d.ts +58 -0
  118. package/dist/src/config/component/save-status.outline.js +6 -0
  119. package/dist/src/config/component/simple-input.model.d.ts +62 -0
  120. package/dist/src/config/component/simple-input.model.js +75 -0
  121. package/dist/src/config/component/simple-input.outline.d.ts +86 -0
  122. package/dist/src/config/component/simple-input.outline.js +9 -0
  123. package/dist/src/config/component/suggested-validation-summary.model.d.ts +45 -0
  124. package/dist/src/config/component/suggested-validation-summary.model.js +61 -0
  125. package/dist/src/config/component/suggested-validation-summary.outline.d.ts +57 -0
  126. package/dist/src/config/component/suggested-validation-summary.outline.js +5 -0
  127. package/dist/src/config/component/tab-content.model.d.ts +63 -0
  128. package/dist/src/config/component/tab-content.model.js +77 -0
  129. package/dist/src/config/component/tab-content.outline.d.ts +98 -0
  130. package/dist/src/config/component/tab-content.outline.js +8 -0
  131. package/dist/src/config/component/tab-nav-button.model.d.ts +45 -0
  132. package/dist/src/config/component/tab-nav-button.model.js +55 -0
  133. package/dist/src/config/component/tab-nav-button.outline.d.ts +70 -0
  134. package/dist/src/config/component/tab-nav-button.outline.js +6 -0
  135. package/dist/src/config/component/tab.model.d.ts +71 -0
  136. package/dist/src/config/component/tab.model.js +84 -0
  137. package/dist/src/config/component/tab.outline.d.ts +112 -0
  138. package/dist/src/config/component/tab.outline.js +9 -0
  139. package/dist/src/config/component/text-area.model.d.ts +63 -0
  140. package/dist/src/config/component/text-area.model.js +76 -0
  141. package/dist/src/config/component/text-area.outline.d.ts +87 -0
  142. package/dist/src/config/component/text-area.outline.js +8 -0
  143. package/dist/src/config/component/typeahead-input.model.d.ts +83 -0
  144. package/dist/src/config/component/typeahead-input.model.js +97 -0
  145. package/dist/src/config/component/typeahead-input.outline.d.ts +199 -0
  146. package/dist/src/config/component/typeahead-input.outline.js +10 -0
  147. package/dist/src/config/component/validation-summary.model.d.ts +42 -0
  148. package/dist/src/config/component/validation-summary.model.js +60 -0
  149. package/dist/src/config/component/validation-summary.outline.d.ts +63 -0
  150. package/dist/src/config/component/validation-summary.outline.js +6 -0
  151. package/dist/src/config/dictionary.model.d.ts +648 -0
  152. package/dist/src/config/dictionary.model.js +181 -0
  153. package/dist/src/config/dictionary.outline.d.ts +96 -0
  154. package/dist/src/config/dictionary.outline.js +3 -0
  155. package/dist/src/config/field-component.model.d.ts +7 -0
  156. package/dist/src/config/field-component.model.js +11 -0
  157. package/dist/src/config/field-component.outline.d.ts +20 -0
  158. package/dist/src/config/field-component.outline.js +3 -0
  159. package/dist/src/config/field-layout.model.d.ts +19 -0
  160. package/dist/src/config/field-layout.model.js +23 -0
  161. package/dist/src/config/field-layout.outline.d.ts +42 -0
  162. package/dist/src/config/field-layout.outline.js +3 -0
  163. package/dist/src/config/field-model.model.d.ts +21 -0
  164. package/dist/src/config/field-model.model.js +24 -0
  165. package/dist/src/config/field-model.outline.d.ts +63 -0
  166. package/dist/src/config/field-model.outline.js +3 -0
  167. package/dist/src/config/field.model.d.ts +12 -0
  168. package/dist/src/config/field.model.js +12 -0
  169. package/dist/src/config/field.outline.d.ts +19 -0
  170. package/dist/src/config/field.outline.js +3 -0
  171. package/dist/src/config/form-behaviour.outline.d.ts +128 -0
  172. package/dist/src/config/form-behaviour.outline.js +40 -0
  173. package/dist/src/config/form-component.model.d.ts +38 -0
  174. package/dist/src/config/form-component.model.js +36 -0
  175. package/dist/src/config/form-component.outline.d.ts +305 -0
  176. package/dist/src/config/form-component.outline.js +27 -0
  177. package/dist/src/config/form-config.model.d.ts +33 -0
  178. package/dist/src/config/form-config.model.js +36 -0
  179. package/dist/src/config/form-config.outline.d.ts +111 -0
  180. package/dist/src/config/form-config.outline.js +3 -0
  181. package/dist/src/config/form-override.model.d.ts +146 -0
  182. package/dist/src/config/form-override.model.js +1523 -0
  183. package/dist/src/config/form-override.outline.d.ts +15 -0
  184. package/dist/src/config/form-override.outline.js +3 -0
  185. package/dist/src/config/form-prehydrate.outline.d.ts +17 -0
  186. package/dist/src/config/form-prehydrate.outline.js +5 -0
  187. package/dist/src/config/form-types.model.d.ts +6 -0
  188. package/dist/src/config/form-types.model.js +23 -0
  189. package/dist/src/config/form-types.outline.d.ts +48 -0
  190. package/dist/src/config/form-types.outline.js +137 -0
  191. package/dist/src/config/helpers.d.ts +31 -0
  192. package/dist/src/config/helpers.js +122 -0
  193. package/dist/src/config/names/naming-helpers.d.ts +112 -0
  194. package/dist/src/config/names/naming-helpers.js +188 -0
  195. package/dist/src/config/names/query-helpers.d.ts +43 -0
  196. package/dist/src/config/names/query-helpers.js +59 -0
  197. package/dist/src/config/shared.outline.d.ts +54 -0
  198. package/dist/src/config/shared.outline.js +41 -0
  199. package/dist/src/config/visitor/base.model.d.ts +143 -0
  200. package/dist/src/config/visitor/base.model.js +336 -0
  201. package/dist/src/config/visitor/base.outline.d.ts +146 -0
  202. package/dist/src/config/visitor/base.outline.js +3 -0
  203. package/dist/src/config/visitor/common.model.d.ts +119 -0
  204. package/dist/src/config/visitor/common.model.js +422 -0
  205. package/dist/src/date-format-helpers.d.ts +1 -0
  206. package/dist/src/date-format-helpers.js +21 -0
  207. package/dist/src/handlebars-helpers.d.ts +258 -0
  208. package/dist/src/handlebars-helpers.js +715 -0
  209. package/dist/src/html-helpers.d.ts +15 -0
  210. package/dist/src/html-helpers.js +42 -0
  211. package/dist/src/index.d.ts +118 -3
  212. package/dist/src/index.js +127 -2
  213. package/dist/src/jsonata-helpers.d.ts +40 -0
  214. package/dist/src/jsonata-helpers.js +118 -0
  215. package/dist/src/logger.interface.d.ts +14 -0
  216. package/dist/src/logger.interface.js +3 -0
  217. package/dist/src/record.model.d.ts +23 -0
  218. package/dist/src/record.model.js +19 -1
  219. package/dist/src/report.model.d.ts +46 -0
  220. package/dist/src/status.model.d.ts +22 -0
  221. package/dist/src/status.model.js +28 -0
  222. package/dist/src/template.outline.d.ts +82 -0
  223. package/dist/src/template.outline.js +14 -0
  224. package/dist/src/translation-helpers.d.ts +26 -0
  225. package/dist/src/translation-helpers.js +71 -0
  226. package/dist/src/validation/form.model.d.ts +306 -24
  227. package/dist/src/validation/form.model.js +29 -1
  228. package/dist/src/validation/helpers.d.ts +15 -7
  229. package/dist/src/validation/helpers.js +49 -13
  230. package/dist/src/validation/validators-support.d.ts +39 -2
  231. package/dist/src/validation/validators-support.js +162 -12
  232. package/dist/src/validation/validators.d.ts +28 -0
  233. package/dist/src/validation/validators.js +531 -0
  234. package/package.json +51 -34
  235. package/LICENSE +0 -674
  236. package/dist/src/validation/index.d.ts +0 -1
  237. package/dist/src/validation/index.js +0 -18
@@ -0,0 +1,258 @@
1
+ import Handlebars from 'handlebars';
2
+ /**
3
+ * Helper function definitions that can be registered with Handlebars.
4
+ * Each function is a pure, deterministic helper that does not execute arbitrary code.
5
+ */
6
+ export declare const handlebarsHelperDefinitions: {
7
+ /**
8
+ * Format a date value using a custom format string.
9
+ * Supports ISO date strings and JavaScript Date instances.
10
+ * Replaces lodash template usage like: ${ DateTime.fromISO(data.date).toFormat('dd/MM/yyyy hh:mm a') }
11
+ *
12
+ * @example {{formatDate lastSaveDate "dd/MM/yyyy hh:mm a"}}
13
+ */
14
+ formatDate: (dateValue: string | Date, formatOrOptions?: string | Record<string, unknown>) => string;
15
+ /**
16
+ * Format a date value using locale-aware presets.
17
+ * Supports ISO date strings and JavaScript Date instances.
18
+ *
19
+ * @example {{formatDateLocale lastSaveDate "DATETIME_MED"}}
20
+ */
21
+ formatDateLocale: (dateValue: string | Date, presetNameOrOptions?: string | Record<string, unknown>, localeOrOptions?: string | Record<string, unknown>) => string;
22
+ /**
23
+ * Parse a date string (pass-through for chaining).
24
+ *
25
+ * @example {{parseDateString dateString}}
26
+ */
27
+ parseDateString: (dateString: string) => string;
28
+ /**
29
+ * Get a nested property from an object using dot notation.
30
+ * Replaces lodash template usage like: ${ _.get(data, 'metadata.contributor_ci', '') }
31
+ *
32
+ * @example {{get this "metadata.contributor_ci.text_full_name"}}
33
+ */
34
+ get: (obj: unknown, path: string, defaultValue?: unknown) => unknown;
35
+ /**
36
+ * Check if a value is empty (null, undefined, empty string, empty array, empty object).
37
+ *
38
+ * @example {{#if (isEmpty value)}}empty{{/if}}
39
+ */
40
+ isEmpty: (value: unknown) => boolean;
41
+ /**
42
+ * Check if a value is undefined.
43
+ *
44
+ * @example {{#if (isUndefined value)}}undefined{{/if}}
45
+ */
46
+ isUndefined: (value: unknown) => boolean;
47
+ /**
48
+ * Check if a value is null.
49
+ *
50
+ * @example {{#if (isNull value)}}null{{/if}}
51
+ */
52
+ isNull: (value: unknown) => boolean;
53
+ /**
54
+ * Check if a value is defined (not undefined and not null).
55
+ *
56
+ * @example {{#if (isDefined value)}}defined{{/if}}
57
+ */
58
+ isDefined: (value: unknown) => boolean;
59
+ /**
60
+ * Check if a value is an array.
61
+ *
62
+ * @example {{#if (isArray value)}}is array{{/if}}
63
+ */
64
+ isArray: (value: unknown) => boolean;
65
+ /**
66
+ * Check if a value is a plain object.
67
+ *
68
+ * @example {{#if (isObject value)}}is object{{/if}}
69
+ */
70
+ isObject: (value: unknown) => boolean;
71
+ /**
72
+ * Strict equality comparison.
73
+ *
74
+ * @example {{#if (eq status "active")}}active{{/if}}
75
+ */
76
+ eq: (a: unknown, b: unknown) => boolean;
77
+ /**
78
+ * Not equal comparison.
79
+ *
80
+ * @example {{#if (ne status "inactive")}}not inactive{{/if}}
81
+ */
82
+ ne: (a: unknown, b: unknown) => boolean;
83
+ /**
84
+ * Logical AND - returns true if all arguments are truthy.
85
+ * Note: The last argument is the Handlebars options hash, which is removed.
86
+ *
87
+ * @example {{#if (and condition1 condition2)}}both true{{/if}}
88
+ */
89
+ and: (...args: unknown[]) => boolean;
90
+ /**
91
+ * Logical OR - returns true if any argument is truthy.
92
+ * Note: The last argument is the Handlebars options hash, which is removed.
93
+ *
94
+ * @example {{#if (or condition1 condition2)}}at least one true{{/if}}
95
+ */
96
+ or: (...args: unknown[]) => boolean;
97
+ /**
98
+ * Logical NOT - returns true if value is falsy.
99
+ *
100
+ * @example {{#if (not condition)}}condition is false{{/if}}
101
+ */
102
+ not: (value: unknown) => boolean;
103
+ /**
104
+ * Greater than comparison.
105
+ *
106
+ * @example {{#if (gt count 0)}}has items{{/if}}
107
+ */
108
+ gt: (a: unknown, b: unknown) => boolean;
109
+ /**
110
+ * Greater than or equal comparison.
111
+ *
112
+ * @example {{#if (gte count 1)}}at least one{{/if}}
113
+ */
114
+ gte: (a: unknown, b: unknown) => boolean;
115
+ /**
116
+ * Less than comparison.
117
+ *
118
+ * @example {{#if (lt count 10)}}less than ten{{/if}}
119
+ */
120
+ lt: (a: unknown, b: unknown) => boolean;
121
+ /**
122
+ * Less than or equal comparison.
123
+ *
124
+ * @example {{#if (lte count 10)}}ten or less{{/if}}
125
+ */
126
+ lte: (a: unknown, b: unknown) => boolean;
127
+ /**
128
+ * Trim leading/trailing whitespace from a string value.
129
+ *
130
+ * @example {{trim title}}
131
+ */
132
+ trim: (value: unknown) => string;
133
+ /**
134
+ * Convert a value to lowercase text.
135
+ *
136
+ * @example {{toLower value}}
137
+ */
138
+ toLower: (value: unknown) => string;
139
+ /**
140
+ * Convert a value to uppercase text.
141
+ *
142
+ * @example {{toUpper value}}
143
+ */
144
+ toUpper: (value: unknown) => string;
145
+ /**
146
+ * Translation helper - looks up translation from context.translationService.
147
+ * The translation service must be provided in the template context.
148
+ *
149
+ * @example {{t "label.title"}}
150
+ */
151
+ t: (this: {
152
+ translationService?: {
153
+ t: (key: string) => string;
154
+ };
155
+ }, key: string) => string;
156
+ /**
157
+ * Join array elements with a separator.
158
+ *
159
+ * @example {{join items ", "}}
160
+ */
161
+ join: (arr: unknown[], separator?: string) => string;
162
+ /**
163
+ * Extract a property from each item in an array using dot notation.
164
+ * Replaces lodash usage like: _.map(creators, c => c.email).
165
+ * Returns an empty array for non-array input. Combine with {{join}} to
166
+ * build a delimited string, e.g. {{join (pluck creators "email") ","}}.
167
+ *
168
+ * @example {{join (pluck record.metadata.creators "email") ","}}
169
+ */
170
+ pluck: (arr: unknown, path: string) => unknown[];
171
+ /**
172
+ * Return part of a string using slice semantics.
173
+ *
174
+ * @example {{substring notation 0 6}}
175
+ */
176
+ substring: (value: unknown, start: number, end?: number) => string;
177
+ /**
178
+ * Split a string into parts, or return one part if index is provided.
179
+ * Supports negative index values, where -1 is the last part.
180
+ *
181
+ * @example {{split notation "/" -1}}
182
+ */
183
+ split: (value: unknown, separator: string, index?: number) => unknown;
184
+ /**
185
+ * Encode user-controlled URL path values while preserving path separators.
186
+ * Trailing slashes are trimmed so prefixed paths can be safely concatenated.
187
+ *
188
+ * @example {{urlEncode oid}}
189
+ */
190
+ urlEncode: (value: unknown) => string;
191
+ /**
192
+ * Concatenate strings.
193
+ * Note: The last argument is the Handlebars options hash, which is removed.
194
+ *
195
+ * @example {{concat prefix value suffix}}
196
+ */
197
+ concat: (...args: unknown[]) => string;
198
+ /**
199
+ * Default value if the primary value is empty/falsy.
200
+ *
201
+ * @example {{default title "Untitled"}}
202
+ */
203
+ default: (value: unknown, defaultValue: unknown) => unknown;
204
+ /**
205
+ * Convert markdown to HTML when output format is markdown, otherwise pass HTML through.
206
+ * Note: This helper does not sanitize HTML output, we are currently only using it on the client side with Angular's DomSanitizer to ensure safe usage.
207
+ * Do not use this helper with untrusted content in a server-side context without proper sanitization (see DOMSanitizerService as a way to sanitize the HTML on the server side).
208
+ *
209
+ * @example {{{markdownToHtml content outputFormat}}}
210
+ */
211
+ markdownToHtml: (value: unknown, outputFormat?: string) => string;
212
+ /**
213
+ * Render plain text as escaped HTML while preserving line breaks.
214
+ *
215
+ * @example {{{plaintextToHtml content}}}
216
+ */
217
+ plaintextToHtml: (value: unknown) => string;
218
+ /**
219
+ * JSON stringify a value (useful for debugging).
220
+ *
221
+ * @example {{json data}}
222
+ */
223
+ json: (value: unknown) => string;
224
+ /**
225
+ * Render metadata values into nested HTML suitable for generated view-only display.
226
+ *
227
+ * @example {{{renderMetadataValue metadata.someField}}}
228
+ */
229
+ renderMetadataValue: (value: unknown) => string;
230
+ /**
231
+ * Build a view-mode download URL for a file upload attachment value.
232
+ *
233
+ * @example {{attachmentDownloadUrl this oid branding portal}}
234
+ */
235
+ attachmentDownloadUrl: (attachment: unknown, oid: unknown, branding: unknown, portal: unknown) => string;
236
+ };
237
+ /**
238
+ * Register Handlebars helpers for use in dashboard and report templates.
239
+ * Uses shared helpers from sails-ng-common for consistency between server and client.
240
+ */
241
+ export declare function handlebarsInstance(): typeof Handlebars;
242
+ /**
243
+ * Pre-compile a handlebars template.
244
+ * @param input The template to compile.
245
+ * @param options The compile options.
246
+ */
247
+ export declare function handlebarsPrecompile(input: unknown, options?: PrecompileOptions): TemplateSpecification;
248
+ /**
249
+ * Get a compiled handlebars template.
250
+ * @param input The template to compile.
251
+ * @param options The compile options.
252
+ */
253
+ export declare function handlebarsCompile(input: unknown, options?: CompileOptions): HandlebarsTemplateDelegate;
254
+ /**
255
+ * Render a pre-compiled handlebars template.
256
+ * @param precompilation The pre-compiled template.
257
+ */
258
+ export declare function handlebarsTemplate(precompilation: TemplateSpecification): HandlebarsTemplateDelegate;