@solidxai/core-ui 0.1.8-beta.1 → 0.1.8-beta.15

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 (241) hide show
  1. package/dist/components/Svg/FileSvg.js +1 -1
  2. package/dist/components/Svg/FileSvg.js.map +1 -1
  3. package/dist/components/Svg/FileSvg.tsx +1 -1
  4. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  5. package/dist/components/auth/AuthLayout.js +94 -38
  6. package/dist/components/auth/AuthLayout.js.map +1 -1
  7. package/dist/components/auth/AuthLayout.tsx +49 -39
  8. package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
  9. package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
  10. package/dist/components/auth/AuthSettingsContext.js +49 -0
  11. package/dist/components/auth/AuthSettingsContext.js.map +1 -0
  12. package/dist/components/auth/AuthSettingsContext.tsx +19 -0
  13. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  14. package/dist/components/auth/AuthTabs.js +9 -9
  15. package/dist/components/auth/AuthTabs.js.map +1 -1
  16. package/dist/components/auth/AuthTabs.tsx +14 -15
  17. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  18. package/dist/components/auth/ForgotPasswordThankYou.js +2 -6
  19. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  20. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -7
  21. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  22. package/dist/components/auth/SolidForgotPassword.js +3 -7
  23. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  24. package/dist/components/auth/SolidForgotPassword.tsx +3 -7
  25. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  26. package/dist/components/auth/SolidInitialLoginOtp.js +4 -7
  27. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  28. package/dist/components/auth/SolidInitialLoginOtp.tsx +2 -5
  29. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.js +4 -7
  31. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  32. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +2 -5
  33. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  34. package/dist/components/auth/SolidLogin.js +5 -8
  35. package/dist/components/auth/SolidLogin.js.map +1 -1
  36. package/dist/components/auth/SolidLogin.tsx +5 -6
  37. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  38. package/dist/components/auth/SolidRegister.js +9 -12
  39. package/dist/components/auth/SolidRegister.js.map +1 -1
  40. package/dist/components/auth/SolidRegister.tsx +21 -11
  41. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  42. package/dist/components/auth/SolidResetPassword.js +2 -6
  43. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  44. package/dist/components/auth/SolidResetPassword.tsx +2 -6
  45. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  46. package/dist/components/common/GeneralSettings.js +48 -51
  47. package/dist/components/common/GeneralSettings.js.map +1 -1
  48. package/dist/components/common/GeneralSettings.tsx +8 -25
  49. package/dist/components/common/SolidAdmin.js +1 -1
  50. package/dist/components/common/SolidAdmin.js.map +1 -1
  51. package/dist/components/common/SolidAdmin.tsx +1 -1
  52. package/dist/components/common/SolidFormStepper.js +1 -1
  53. package/dist/components/common/SolidFormStepper.js.map +1 -1
  54. package/dist/components/common/SolidFormStepper.tsx +1 -1
  55. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  56. package/dist/components/common/SolidThemeProvider.js +5 -21
  57. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  58. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  59. package/dist/components/common/solidModuleHome.module.css +1 -2
  60. package/dist/components/core/card/SolidCardView.js +1 -1
  61. package/dist/components/core/card/SolidCardView.js.map +1 -1
  62. package/dist/components/core/card/SolidCardView.tsx +1 -1
  63. package/dist/components/core/chatter/chatter.module.css +7 -7
  64. package/dist/components/core/common/PDFViewer.js +1 -1
  65. package/dist/components/core/common/PDFViewer.js.map +1 -1
  66. package/dist/components/core/common/PDFViewer.tsx +2 -2
  67. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +1 -1
  68. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +3 -4
  69. package/dist/components/core/common/SolidGlobalSearchElement.js +3 -3
  70. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  71. package/dist/components/core/common/SolidGlobalSearchElement.tsx +3 -3
  72. package/dist/components/core/common/dndCompat.d.ts +8 -0
  73. package/dist/components/core/common/dndCompat.d.ts.map +1 -0
  74. package/dist/components/core/common/dndCompat.js +5 -0
  75. package/dist/components/core/common/dndCompat.js.map +1 -0
  76. package/dist/components/core/common/dndCompat.ts +9 -0
  77. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -2
  78. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  79. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +2 -2
  80. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -2
  81. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  82. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +2 -2
  83. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +1 -1
  84. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -1
  85. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +1 -1
  86. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +1 -1
  87. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -1
  88. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +1 -1
  89. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +1 -1
  90. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -1
  91. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +1 -1
  92. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +1 -1
  93. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -1
  94. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +1 -1
  95. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts +7 -0
  96. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts.map +1 -0
  97. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js +75 -0
  98. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js.map +1 -0
  99. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.ts +45 -0
  100. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  101. package/dist/components/core/form/SolidFormActionHeader.js +4 -0
  102. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  103. package/dist/components/core/form/SolidFormActionHeader.tsx +12 -0
  104. package/dist/components/core/form/SolidFormView.js +42 -41
  105. package/dist/components/core/form/SolidFormView.js.map +1 -1
  106. package/dist/components/core/form/SolidFormView.tsx +16 -16
  107. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  108. package/dist/components/core/form/fields/SolidDateTimeField.js +8 -2
  109. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  110. package/dist/components/core/form/fields/SolidDateTimeField.tsx +8 -2
  111. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  112. package/dist/components/core/form/fields/SolidEmailField.js +5 -4
  113. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  114. package/dist/components/core/form/fields/SolidEmailField.tsx +17 -15
  115. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  116. package/dist/components/core/form/fields/SolidIntegerField.js +5 -4
  117. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  118. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -1
  119. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  120. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +23 -17
  121. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  122. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +11 -6
  123. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  124. package/dist/components/core/form/fields/SolidSelectionStaticField.js +29 -24
  125. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  126. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +13 -8
  127. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  128. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  129. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  130. package/dist/components/core/form/fields/SolidShortTextField.tsx +7 -1
  131. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  132. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  133. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  134. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  135. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
  136. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  137. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
  138. package/dist/components/core/form/fields/solidFields.module.css +0 -3
  139. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  140. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  141. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  142. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  143. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  144. package/dist/components/core/kanban/KanbanCard.js +2 -2
  145. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  146. package/dist/components/core/kanban/KanbanCard.tsx +4 -3
  147. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  148. package/dist/components/core/kanban/KanbanColumn.js +3 -3
  149. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  150. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  151. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  152. package/dist/components/core/kanban/SolidKanbanView.js +42 -45
  153. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  154. package/dist/components/core/kanban/SolidKanbanView.tsx +17 -26
  155. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  156. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +4 -3
  157. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  158. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +13 -12
  159. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  160. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +1 -1
  161. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  162. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +6 -4
  163. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  164. package/dist/components/core/list/SolidListView.js +5 -12
  165. package/dist/components/core/list/SolidListView.js.map +1 -1
  166. package/dist/components/core/list/SolidListView.tsx +29 -49
  167. package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
  168. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  169. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
  170. package/dist/components/core/module/CreateModule.js +1 -1
  171. package/dist/components/core/module/CreateModule.js.map +1 -1
  172. package/dist/components/core/module/CreateModule.tsx +1 -1
  173. package/dist/components/core/solid-ai/SolidAiChat.module.css +3 -3
  174. package/dist/components/core/tree/SolidTreeView.js +1 -1
  175. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  176. package/dist/components/core/tree/SolidTreeView.tsx +1 -1
  177. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  178. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  179. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  180. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  181. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  182. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  183. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  184. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  185. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  186. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  187. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  188. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  189. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  190. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  191. package/dist/components/core/users/CreateUser.css +114 -0
  192. package/dist/components/core/users/CreateUser.d.ts +1 -0
  193. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  194. package/dist/components/core/users/CreateUser.js +4 -3
  195. package/dist/components/core/users/CreateUser.js.map +1 -1
  196. package/dist/components/core/users/CreateUser.tsx +32 -26
  197. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  198. package/dist/components/layout/AdminTopHeader.js +25 -1
  199. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  200. package/dist/components/layout/AdminTopHeader.tsx +38 -1
  201. package/dist/components/layout/context/layoutcontext.js +2 -2
  202. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  203. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  204. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  205. package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
  206. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  207. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
  208. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  209. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  210. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  211. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  212. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  213. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  214. package/dist/components/shad-cn-ui/SolidDatePicker.js +12 -2
  215. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  216. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +13 -2
  217. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  218. package/dist/components/shad-cn-ui/SolidTabs.js +5 -2
  219. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  220. package/dist/components/shad-cn-ui/SolidTabs.tsx +51 -25
  221. package/dist/helpers/registry.d.ts.map +1 -1
  222. package/dist/helpers/registry.js +2 -0
  223. package/dist/helpers/registry.js.map +1 -1
  224. package/dist/helpers/registry.ts +5 -0
  225. package/dist/resources/globals.css +104 -84
  226. package/dist/resources/images/Background.svg +5 -1
  227. package/dist/resources/images/Navigation/SolidSettinsIcon.svg +7 -1
  228. package/dist/resources/images/errors/error.svg +14 -10
  229. package/dist/resources/shadcn-base.css +120 -354
  230. package/dist/resources/themes/solid-dark-purple/theme.css +26 -36
  231. package/dist/resources/themes/solid-light-purple/theme.css +129 -129
  232. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -1
  233. package/dist/routes/SolidLayoutRegistry.js +3 -1
  234. package/dist/routes/SolidLayoutRegistry.js.map +1 -1
  235. package/dist/routes/SolidLayoutRegistry.tsx +3 -1
  236. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  237. package/dist/routes/guards/AuthGuard.js +4 -1
  238. package/dist/routes/guards/AuthGuard.js.map +1 -1
  239. package/dist/routes/guards/AuthGuard.tsx +6 -1
  240. package/dist/types/solid-core.d.ts +1 -0
  241. package/package.json +1 -1
@@ -81,11 +81,13 @@ var SolidSelectionDynamicField = /** @class */ (function () {
81
81
  configurable: true,
82
82
  writable: true,
83
83
  value: function () {
84
+ var _a;
84
85
  // TODO: Use the field metadata to re-create the object in the valid format
85
86
  // {label: '', value: ''}
86
- var optionValue = this.fieldContext.data[this.fieldContext.field.attrs.name];
87
+ var fieldLayoutInfo = this.fieldContext.field;
88
+ var optionValue = this.fieldContext.data[fieldLayoutInfo.attrs.name];
87
89
  var fieldMetadata = this.fieldContext.fieldMetadata;
88
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
90
+ var isMultiSelect = (_a = fieldLayoutInfo.attrs.multiSelect) !== null && _a !== void 0 ? _a : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
89
91
  // isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,
90
92
  // return { label: optionValue || '', value: optionValue || '' };
91
93
  var stripBracketsAndQuotes = function (str) {
@@ -107,6 +109,9 @@ var SolidSelectionDynamicField = /** @class */ (function () {
107
109
  return { label: strVal, value: strVal };
108
110
  }
109
111
  };
112
+ if (optionValue === '' || optionValue === null || optionValue === undefined || (Array.isArray(optionValue) && optionValue.length === 0)) {
113
+ return null;
114
+ }
110
115
  if (isMultiSelect) {
111
116
  if (Array.isArray(optionValue)) {
112
117
  return optionValue.map(cleanValue);
@@ -118,7 +123,7 @@ var SolidSelectionDynamicField = /** @class */ (function () {
118
123
  return parsed.map(cleanValue);
119
124
  }
120
125
  }
121
- catch (_a) {
126
+ catch (_b) {
122
127
  // fallback to comma-split only if not valid JSON
123
128
  var splitValues = optionValue.split(',').map(function (v) { return v.trim(); }).filter(Boolean);
124
129
  return splitValues.map(cleanValue);
@@ -136,9 +141,10 @@ var SolidSelectionDynamicField = /** @class */ (function () {
136
141
  configurable: true,
137
142
  writable: true,
138
143
  value: function (value, formData) {
144
+ var _a;
139
145
  var fieldLayoutInfo = this.fieldContext.field;
140
146
  var fieldMetadata = this.fieldContext.fieldMetadata;
141
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
147
+ var isMultiSelect = (_a = fieldLayoutInfo.attrs.multiSelect) !== null && _a !== void 0 ? _a : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
142
148
  var stripQuotes = function (str) { return str.replace(/^"+|"+$/g, '').replace(/^'+|'+$/g, ''); };
143
149
  if (value) {
144
150
  if (isMultiSelect) {
@@ -164,7 +170,7 @@ var SolidSelectionDynamicField = /** @class */ (function () {
164
170
  configurable: true,
165
171
  writable: true,
166
172
  value: function () {
167
- var _a, _b, _c;
173
+ var _a, _b, _c, _d;
168
174
  var schema = Yup.object();
169
175
  var fieldMetadata = this.fieldContext.fieldMetadata;
170
176
  var fieldLayoutInfo = this.fieldContext.field;
@@ -174,8 +180,8 @@ var SolidSelectionDynamicField = /** @class */ (function () {
174
180
  // schema = schema.required(`${fieldLabel} is required.`);
175
181
  // }
176
182
  // return schema;
177
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
178
- var isRequired = (_c = (_b = fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.required) !== null && _c !== void 0 ? _c : fieldMetadata.required;
183
+ var isMultiSelect = (_b = fieldLayoutInfo.attrs.multiSelect) !== null && _b !== void 0 ? _b : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
184
+ var isRequired = (_d = (_c = fieldLayoutInfo.attrs) === null || _c === void 0 ? void 0 : _c.required) !== null && _d !== void 0 ? _d : fieldMetadata.required;
179
185
  if (!isRequired) {
180
186
  return Yup.mixed();
181
187
  }
@@ -233,7 +239,7 @@ var SolidSelectionDynamicField = /** @class */ (function () {
233
239
  }());
234
240
  export { SolidSelectionDynamicField };
235
241
  export var DefaultSelectionDynamicFormEditWidget = function (_a) {
236
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
242
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
237
243
  var formik = _a.formik, fieldContext = _a.fieldContext;
238
244
  var fieldMetadata = fieldContext.fieldMetadata;
239
245
  var fieldLayoutInfo = fieldContext.field;
@@ -248,14 +254,14 @@ export var DefaultSelectionDynamicFormEditWidget = function (_a) {
248
254
  var formDisabled = (_k = (_j = (_h = solidFormViewMetaData.data.solidView) === null || _h === void 0 ? void 0 : _h.layout) === null || _j === void 0 ? void 0 : _j.attrs) === null || _k === void 0 ? void 0 : _k.disabled;
249
255
  var formReadonly = (_o = (_m = (_l = solidFormViewMetaData.data.solidView) === null || _l === void 0 ? void 0 : _l.layout) === null || _m === void 0 ? void 0 : _m.attrs) === null || _o === void 0 ? void 0 : _o.readonly;
250
256
  var whereClause = fieldLayoutInfo.attrs.whereClause;
251
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
257
+ var isMultiSelect = (_p = fieldLayoutInfo.attrs.multiSelect) !== null && _p !== void 0 ? _p : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
252
258
  // selection dynamic specific code.
253
259
  var triggerGetSelectionDynamicValues = useLazyGetSelectionDynamicValuesQuery()[0];
254
- var _x = useState([]), selectionDynamicItems = _x[0], setSelectionDynamicItems = _x[1];
260
+ var _y = useState([]), selectionDynamicItems = _y[0], setSelectionDynamicItems = _y[1];
255
261
  var isFormFieldValid = function (formik, fieldName) {
256
262
  return (formik.touched[fieldName] || formik.submitCount > 0) && !!formik.errors[fieldName];
257
263
  };
258
- var isRequired = (_q = (_p = fieldLayoutInfo.attrs) === null || _p === void 0 ? void 0 : _p.required) !== null && _q !== void 0 ? _q : fieldMetadata.required;
264
+ var isRequired = (_r = (_q = fieldLayoutInfo.attrs) === null || _q === void 0 ? void 0 : _q.required) !== null && _r !== void 0 ? _r : fieldMetadata.required;
259
265
  var selectionDynamicSearch = function (event) { return __awaiter(void 0, void 0, void 0, function () {
260
266
  var queryData, sdQs, sdResponse, items, err_1;
261
267
  return __generator(this, function (_a) {
@@ -309,19 +315,19 @@ export var DefaultSelectionDynamicFormEditWidget = function (_a) {
309
315
  var value = _a.value;
310
316
  var syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text");
311
317
  fieldContext.onChange(syntheticEvent, "onFieldChange");
312
- } }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: typeof formik.errors[(_r = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _r === void 0 ? void 0 : _r.name] === 'object'
313
- ? (_u = (_t = formik.errors[(_s = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _s === void 0 ? void 0 : _s.name]) === null || _t === void 0 ? void 0 : _t.value) === null || _u === void 0 ? void 0 : _u.toString()
314
- : (_w = formik.errors[(_v = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _v === void 0 ? void 0 : _v.name]) === null || _w === void 0 ? void 0 : _w.toString() }))] }));
318
+ } }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: typeof formik.errors[(_s = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _s === void 0 ? void 0 : _s.name] === 'object'
319
+ ? (_v = (_u = formik.errors[(_t = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _t === void 0 ? void 0 : _t.name]) === null || _u === void 0 ? void 0 : _u.value) === null || _v === void 0 ? void 0 : _v.toString()
320
+ : (_x = formik.errors[(_w = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _w === void 0 ? void 0 : _w.name]) === null || _x === void 0 ? void 0 : _x.toString() }))] }));
315
321
  };
316
322
  export var DefaultSelectionDynamicFormViewWidget = function (_a) {
317
- var _b, _c;
323
+ var _b, _c, _d;
318
324
  var formik = _a.formik, fieldContext = _a.fieldContext;
319
325
  var fieldMetadata = fieldContext.fieldMetadata;
320
326
  var fieldLayoutInfo = fieldContext.field;
321
327
  var fieldLabel = (_b = fieldLayoutInfo.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
322
328
  var showFieldLabel = (_c = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _c === void 0 ? void 0 : _c.showLabel;
323
329
  var value = formik.values[fieldLayoutInfo.attrs.name];
324
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
330
+ var isMultiSelect = (_d = fieldLayoutInfo.attrs.multiSelect) !== null && _d !== void 0 ? _d : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
325
331
  var toLabel = function (val) {
326
332
  var _a, _b;
327
333
  if (!val)
@@ -341,7 +347,7 @@ export var DefaultSelectionDynamicFormViewWidget = function (_a) {
341
347
  values = parsed.map(toLabel);
342
348
  }
343
349
  }
344
- catch (_d) {
350
+ catch (_e) {
345
351
  values = value.split(',').map(function (v) { return v.trim(); }).map(toLabel);
346
352
  }
347
353
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelectionDynamicField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionDynamicField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useLazyGetSelectionDynamicValuesQuery } from \"../../../../redux/api/fieldApi\";\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport qs from \"qs\";\nimport { useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { formikValuestoQueryString } from \"../../../../helpers/helpers\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\n\nexport class SolidSelectionDynamicField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n // TODO: Use the field metadata to re-create the object in the valid format \n // {label: '', value: ''}\n const optionValue = this.fieldContext.data[this.fieldContext.field.attrs.name];\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n // isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,\n\n // return { label: optionValue || '', value: optionValue || '' };\n const stripBracketsAndQuotes = (str: string) =>\n str.replace(/^\\[?\"?/, '').replace(/\"?\\]?$/, '').trim();\n\n const cleanValue = (val: any) => {\n if (typeof val === 'string') {\n const cleaned = stripBracketsAndQuotes(val);\n return { label: cleaned, value: cleaned };\n } else if (val && typeof val === 'object') {\n const label = stripBracketsAndQuotes(String(val.label ?? val));\n const value = stripBracketsAndQuotes(String(val.value ?? val));\n return { label, value };\n } else {\n const strVal = stripBracketsAndQuotes(String(val));\n return { label: strVal, value: strVal };\n }\n };\n\n if (isMultiSelect) {\n if (Array.isArray(optionValue)) {\n return optionValue.map(cleanValue);\n } else if (typeof optionValue === 'string') {\n try {\n const parsed = JSON.parse(optionValue); // try to parse as JSON array\n if (Array.isArray(parsed)) {\n return parsed.map(cleanValue);\n }\n } catch {\n // fallback to comma-split only if not valid JSON\n const splitValues = optionValue.split(',').map(v => v.trim()).filter(Boolean);\n return splitValues.map(cleanValue);\n }\n }\n return [];\n } else {\n return cleanValue(optionValue || '');\n }\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n const stripQuotes = (str: string) => str.replace(/^\"+|\"+$/g, '').replace(/^'+|'+$/g, '');\n\n if (value) {\n if (isMultiSelect) {\n const selectedValues = value.map((v: any) => {\n const cleanedValue = stripQuotes(v.value); // still fine\n return cleanedValue;\n });\n const jsonString = JSON.stringify(selectedValues); // ✅ Proper JSON array\n formData.append(fieldLayoutInfo.attrs.name, jsonString);\n } else {\n const cleanedValue = stripQuotes(value.value);\n formData.append(fieldLayoutInfo.attrs.name, cleanedValue);\n }\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n // if (fieldMetadata.required) {\n // schema = schema.required(`${fieldLabel} is required.`);\n // }\n\n // return schema;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n \n if (!isRequired) {\n return Yup.mixed();\n }\n\n if (isMultiSelect) {\n return Yup.array()\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .of(Yup.object().shape({ label: Yup.string(), value: Yup.string() }));\n }\n\n return Yup.object().shape({\n label: Yup.string(),\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)),\n });\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n // const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionDynamicFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionDynamicFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\nexport const DefaultSelectionDynamicFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n\n // selection dynamic specific code. \n const [triggerGetSelectionDynamicValues] = useLazyGetSelectionDynamicValuesQuery();\n const [selectionDynamicItems, setSelectionDynamicItems] = useState([]);\n const isFormFieldValid = (formik: any, fieldName: string) =>\n (formik.touched[fieldName] || formik.submitCount > 0) && !!formik.errors[fieldName];\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n\n const selectionDynamicSearch = async (event: AutoCompleteCompleteEvent) => {\n try {\n // const query = event.query ?? \"\";\n const queryData = {\n offset: 0,\n limit: 10,\n query: event.query,\n fieldId: fieldMetadata.id,\n formValues: formikValuestoQueryString(formik.values),\n };\n if (whereClause) {\n queryData.query = whereClause;\n }\n let sdQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n // encoder: (str, defaultEncoder, charset, type) => {\n // if (type === 'key' || type === 'value') {\n // if (str === queryData.query) return str;\n // }\n // return defaultEncoder(str);\n // }\n });\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const sdResponse = await triggerGetSelectionDynamicValues(sdQs).unwrap();\n const items = Array.isArray(sdResponse?.data) ? sdResponse.data : [];\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n // const sdData = sdResponse.data.data;\n\n // @ts-ignore\n setSelectionDynamicItems([...items]);\n } catch (err) {\n setSelectionDynamicItems([]);\n }\n }\n\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {isRequired && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n dropdown\n suggestions={selectionDynamicItems}\n completeMethod={(e) => selectionDynamicSearch(e)}\n emptyMessage=\"No records found\"\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n onSelect={({ value }) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? formik.errors[fieldLayoutInfo?.attrs?.name]?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\n\nexport const DefaultSelectionDynamicFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n\n const toLabel = (val: any) => {\n if (!val) return '';\n if (typeof val === 'string' || typeof val === 'number') return String(val);\n if (typeof val === 'object') return val.label ?? val.value ?? '';\n return '';\n };\n\n let values: string[] = [];\n if (isMultiSelect) {\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n if (Array.isArray(parsed)) {\n values = parsed.map(toLabel);\n }\n } catch {\n values = value.split(',').map(v => v.trim()).map(toLabel);\n }\n } else if (Array.isArray(value)) {\n values = value.map(toLabel);\n }\n }\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? (values.length > 0 ? values.join(', ') : 'No selection')\n : (() => {\n const single = toLabel(value);\n return single ? single : 'No selection';\n })()}\n </p>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidSelectionDynamicField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionDynamicField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useLazyGetSelectionDynamicValuesQuery } from \"../../../../redux/api/fieldApi\";\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport qs from \"qs\";\nimport { useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { formikValuestoQueryString } from \"../../../../helpers/helpers\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\n\nexport class SolidSelectionDynamicField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n // TODO: Use the field metadata to re-create the object in the valid format \n // {label: '', value: ''}\n const fieldLayoutInfo = this.fieldContext.field;\n const optionValue = this.fieldContext.data[fieldLayoutInfo.attrs.name];\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,\n\n // return { label: optionValue || '', value: optionValue || '' };\n const stripBracketsAndQuotes = (str: string) =>\n str.replace(/^\\[?\"?/, '').replace(/\"?\\]?$/, '').trim();\n\n const cleanValue = (val: any) => {\n if (typeof val === 'string') {\n const cleaned = stripBracketsAndQuotes(val);\n return { label: cleaned, value: cleaned };\n } else if (val && typeof val === 'object') {\n const label = stripBracketsAndQuotes(String(val.label ?? val));\n const value = stripBracketsAndQuotes(String(val.value ?? val));\n return { label, value };\n } else {\n const strVal = stripBracketsAndQuotes(String(val));\n return { label: strVal, value: strVal };\n }\n };\n\n if (optionValue === '' || optionValue === null || optionValue === undefined || (Array.isArray(optionValue) && optionValue.length === 0)) {\n return null;\n }\n\n if (isMultiSelect) {\n if (Array.isArray(optionValue)) {\n return optionValue.map(cleanValue);\n } else if (typeof optionValue === 'string') {\n try {\n const parsed = JSON.parse(optionValue); // try to parse as JSON array\n if (Array.isArray(parsed)) {\n return parsed.map(cleanValue);\n }\n } catch {\n // fallback to comma-split only if not valid JSON\n const splitValues = optionValue.split(',').map(v => v.trim()).filter(Boolean);\n return splitValues.map(cleanValue);\n }\n }\n return [];\n } else {\n return cleanValue(optionValue || '');\n }\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n const stripQuotes = (str: string) => str.replace(/^\"+|\"+$/g, '').replace(/^'+|'+$/g, '');\n\n if (value) {\n if (isMultiSelect) {\n const selectedValues = value.map((v: any) => {\n const cleanedValue = stripQuotes(v.value); // still fine\n return cleanedValue;\n });\n const jsonString = JSON.stringify(selectedValues); // ✅ Proper JSON array\n formData.append(fieldLayoutInfo.attrs.name, jsonString);\n } else {\n const cleanedValue = stripQuotes(value.value);\n formData.append(fieldLayoutInfo.attrs.name, cleanedValue);\n }\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n // if (fieldMetadata.required) {\n // schema = schema.required(`${fieldLabel} is required.`);\n // }\n\n // return schema;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n \n if (!isRequired) {\n return Yup.mixed();\n }\n\n if (isMultiSelect) {\n return Yup.array()\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .of(Yup.object().shape({ label: Yup.string(), value: Yup.string() }));\n }\n\n return Yup.object().shape({\n label: Yup.string(),\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)),\n });\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n // const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionDynamicFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionDynamicFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\nexport const DefaultSelectionDynamicFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n // selection dynamic specific code. \n const [triggerGetSelectionDynamicValues] = useLazyGetSelectionDynamicValuesQuery();\n const [selectionDynamicItems, setSelectionDynamicItems] = useState([]);\n const isFormFieldValid = (formik: any, fieldName: string) =>\n (formik.touched[fieldName] || formik.submitCount > 0) && !!formik.errors[fieldName];\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n\n const selectionDynamicSearch = async (event: AutoCompleteCompleteEvent) => {\n try {\n // const query = event.query ?? \"\";\n const queryData = {\n offset: 0,\n limit: 10,\n query: event.query,\n fieldId: fieldMetadata.id,\n formValues: formikValuestoQueryString(formik.values),\n };\n if (whereClause) {\n queryData.query = whereClause;\n }\n let sdQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n // encoder: (str, defaultEncoder, charset, type) => {\n // if (type === 'key' || type === 'value') {\n // if (str === queryData.query) return str;\n // }\n // return defaultEncoder(str);\n // }\n });\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const sdResponse = await triggerGetSelectionDynamicValues(sdQs).unwrap();\n const items = Array.isArray(sdResponse?.data) ? sdResponse.data : [];\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n // const sdData = sdResponse.data.data;\n\n // @ts-ignore\n setSelectionDynamicItems([...items]);\n } catch (err) {\n setSelectionDynamicItems([]);\n }\n }\n\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {isRequired && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n dropdown\n suggestions={selectionDynamicItems}\n completeMethod={(e) => selectionDynamicSearch(e)}\n emptyMessage=\"No records found\"\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n onSelect={({ value }) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? formik.errors[fieldLayoutInfo?.attrs?.name]?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\n\nexport const DefaultSelectionDynamicFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const toLabel = (val: any) => {\n if (!val) return '';\n if (typeof val === 'string' || typeof val === 'number') return String(val);\n if (typeof val === 'object') return val.label ?? val.value ?? '';\n return '';\n };\n\n let values: string[] = [];\n if (isMultiSelect) {\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n if (Array.isArray(parsed)) {\n values = parsed.map(toLabel);\n }\n } catch {\n values = value.split(',').map(v => v.trim()).map(toLabel);\n }\n } else if (Array.isArray(value)) {\n values = value.map(toLabel);\n }\n }\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? (values.length > 0 ? values.join(', ') : 'No selection')\n : (() => {\n const single = toLabel(value);\n return single ? single : 'No selection';\n })()}\n </p>\n </div>\n );\n}\n"]}
@@ -27,9 +27,10 @@ export class SolidSelectionDynamicField implements ISolidField {
27
27
  initialValue(): any {
28
28
  // TODO: Use the field metadata to re-create the object in the valid format
29
29
  // {label: '', value: ''}
30
- const optionValue = this.fieldContext.data[this.fieldContext.field.attrs.name];
30
+ const fieldLayoutInfo = this.fieldContext.field;
31
+ const optionValue = this.fieldContext.data[fieldLayoutInfo.attrs.name];
31
32
  const fieldMetadata = this.fieldContext.fieldMetadata;
32
- const isMultiSelect = fieldMetadata?.isMultiSelect;
33
+ const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
33
34
  // isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,
34
35
 
35
36
  // return { label: optionValue || '', value: optionValue || '' };
@@ -50,6 +51,10 @@ export class SolidSelectionDynamicField implements ISolidField {
50
51
  }
51
52
  };
52
53
 
54
+ if (optionValue === '' || optionValue === null || optionValue === undefined || (Array.isArray(optionValue) && optionValue.length === 0)) {
55
+ return null;
56
+ }
57
+
53
58
  if (isMultiSelect) {
54
59
  if (Array.isArray(optionValue)) {
55
60
  return optionValue.map(cleanValue);
@@ -74,7 +79,7 @@ export class SolidSelectionDynamicField implements ISolidField {
74
79
  updateFormData(value: any, formData: FormData): any {
75
80
  const fieldLayoutInfo = this.fieldContext.field;
76
81
  const fieldMetadata = this.fieldContext.fieldMetadata;
77
- const isMultiSelect = fieldMetadata?.isMultiSelect;
82
+ const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
78
83
  const stripQuotes = (str: string) => str.replace(/^"+|"+$/g, '').replace(/^'+|'+$/g, '');
79
84
 
80
85
  if (value) {
@@ -108,7 +113,7 @@ export class SolidSelectionDynamicField implements ISolidField {
108
113
  // }
109
114
 
110
115
  // return schema;
111
- const isMultiSelect = fieldMetadata?.isMultiSelect;
116
+ const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
112
117
 
113
118
 
114
119
  const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;
@@ -198,7 +203,7 @@ export const DefaultSelectionDynamicFormEditWidget = ({ formik, fieldContext }:
198
203
  const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
199
204
  const whereClause = fieldLayoutInfo.attrs.whereClause;
200
205
 
201
- const isMultiSelect = fieldMetadata?.isMultiSelect;
206
+ const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
202
207
 
203
208
  // selection dynamic specific code.
204
209
  const [triggerGetSelectionDynamicValues] = useLazyGetSelectionDynamicValuesQuery();
@@ -292,7 +297,7 @@ export const DefaultSelectionDynamicFormViewWidget = ({ formik, fieldContext }:
292
297
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
293
298
  const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
294
299
  const value = formik.values[fieldLayoutInfo.attrs.name];
295
- const isMultiSelect = fieldMetadata?.isMultiSelect;
300
+ const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
296
301
 
297
302
  const toLabel = (val: any) => {
298
303
  if (!val) return '';
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelectionStaticField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionStaticField.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAMzE,qBAAa,yBAA0B,YAAW,WAAW;IAEzD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAcnD,YAAY,IAAI,GAAG;IAuDnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA2C9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAajE;AAED,eAAO,MAAM,gDAAgD,6BAA8B,yBAAyB,4CA+DnH,CAAA;AAED,eAAO,MAAM,uCAAuC,6BAA8B,yBAAyB,4CAyD1G,CAAA;AAED,eAAO,MAAM,8CAA8C,6BAA8B,yBAAyB,4CA2DjH,CAAC;AAGF,eAAO,MAAM,oCAAoC,6BAA8B,yBAAyB,4CAsBvG,CAAA"}
1
+ {"version":3,"file":"SolidSelectionStaticField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionStaticField.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAMzE,qBAAa,yBAA0B,YAAW,WAAW;IAEzD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAcnD,YAAY,IAAI,GAAG;IA4DnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA2C9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAajE;AAED,eAAO,MAAM,gDAAgD,6BAA8B,yBAAyB,4CA+DnH,CAAA;AAED,eAAO,MAAM,uCAAuC,6BAA8B,yBAAyB,4CAyD1G,CAAA;AAED,eAAO,MAAM,8CAA8C,6BAA8B,yBAAyB,4CA2DjH,CAAC;AAGF,eAAO,MAAM,oCAAoC,6BAA8B,yBAAyB,4CAsBvG,CAAA"}
@@ -35,9 +35,10 @@ var SolidSelectionStaticField = /** @class */ (function () {
35
35
  configurable: true,
36
36
  writable: true,
37
37
  value: function (value, formData) {
38
+ var _a;
38
39
  var fieldLayoutInfo = this.fieldContext.field;
39
40
  var fieldMetadata = this.fieldContext.fieldMetadata;
40
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
41
+ var isMultiSelect = (_a = fieldLayoutInfo.attrs.multiSelect) !== null && _a !== void 0 ? _a : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
41
42
  if (isMultiSelect && Array.isArray(value)) {
42
43
  formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(function (v) { return v.value; })));
43
44
  }
@@ -54,12 +55,13 @@ var SolidSelectionStaticField = /** @class */ (function () {
54
55
  configurable: true,
55
56
  writable: true,
56
57
  value: function () {
57
- var _a;
58
+ var _a, _b;
58
59
  // Get field name and metadata
59
- var fieldName = this.fieldContext.field.attrs.name;
60
+ var fieldLayoutInfo = this.fieldContext.field;
61
+ var fieldName = fieldLayoutInfo.attrs.name;
60
62
  var fieldMetadata = this.fieldContext.fieldMetadata;
61
63
  var fieldDefaultValue = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.defaultValue;
62
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
64
+ var isMultiSelect = (_a = fieldLayoutInfo.attrs.multiSelect) !== null && _a !== void 0 ? _a : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
63
65
  // Get existing value from form data
64
66
  var existingValue = this.fieldContext.data[fieldName];
65
67
  // Function to get display value based on selectionStaticValues
@@ -79,7 +81,10 @@ var SolidSelectionStaticField = /** @class */ (function () {
79
81
  return match ? match.split(':')[1] : value;
80
82
  };
81
83
  // Determine the final value to use (existing value or default value)
82
- var finalValue = (_a = existingValue !== null && existingValue !== void 0 ? existingValue : fieldDefaultValue) !== null && _a !== void 0 ? _a : '';
84
+ var finalValue = (_b = existingValue !== null && existingValue !== void 0 ? existingValue : fieldDefaultValue) !== null && _b !== void 0 ? _b : '';
85
+ if (finalValue === '' || finalValue === null || finalValue === undefined || (Array.isArray(finalValue) && finalValue.length === 0)) {
86
+ return null;
87
+ }
83
88
  if (isMultiSelect) {
84
89
  var values = [];
85
90
  if (Array.isArray(finalValue)) {
@@ -91,7 +96,7 @@ var SolidSelectionStaticField = /** @class */ (function () {
91
96
  if (Array.isArray(parsed))
92
97
  values = parsed;
93
98
  }
94
- catch (_b) { }
99
+ catch (_c) { }
95
100
  }
96
101
  return values.map(function (val) { return ({
97
102
  label: getDisplayValue(val),
@@ -108,11 +113,11 @@ var SolidSelectionStaticField = /** @class */ (function () {
108
113
  configurable: true,
109
114
  writable: true,
110
115
  value: function () {
111
- var _a;
116
+ var _a, _b;
112
117
  var fieldMetadata = this.fieldContext.fieldMetadata;
113
118
  var fieldLayoutInfo = this.fieldContext.field;
114
119
  var fieldLabel = (_a = fieldLayoutInfo.attrs.label) !== null && _a !== void 0 ? _a : fieldMetadata.displayName;
115
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
120
+ var isMultiSelect = (_b = fieldLayoutInfo.attrs.multiSelect) !== null && _b !== void 0 ? _b : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
116
121
  // let schema = Yup.object({
117
122
  // value: Yup.string().required(`${fieldLabel} is required.`)
118
123
  // });
@@ -193,7 +198,7 @@ var SolidSelectionStaticField = /** @class */ (function () {
193
198
  }());
194
199
  export { SolidSelectionStaticField };
195
200
  export var DefaultSelectionStaticAutocompleteFormEditWidget = function (_a) {
196
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
201
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
197
202
  var formik = _a.formik, fieldContext = _a.fieldContext;
198
203
  var fieldMetadata = fieldContext.fieldMetadata;
199
204
  var fieldLayoutInfo = fieldContext.field;
@@ -205,8 +210,8 @@ export var DefaultSelectionStaticAutocompleteFormEditWidget = function (_a) {
205
210
  var fieldReadonly = (_e = fieldLayoutInfo.attrs) === null || _e === void 0 ? void 0 : _e.readonly;
206
211
  var formDisabled = (_h = (_g = (_f = solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
207
212
  var formReadonly = (_l = (_k = (_j = solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
208
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
209
- var _t = useState([]), selectionStaticItems = _t[0], setSelectionStaticItems = _t[1];
213
+ var isMultiSelect = (_m = fieldLayoutInfo.attrs.multiSelect) !== null && _m !== void 0 ? _m : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
214
+ var _u = useState([]), selectionStaticItems = _u[0], setSelectionStaticItems = _u[1];
210
215
  var selectionStaticSearch = function (event) {
211
216
  var selectionStaticData = fieldMetadata.selectionStaticValues.map(function (i) {
212
217
  return {
@@ -229,12 +234,12 @@ export var DefaultSelectionStaticAutocompleteFormEditWidget = function (_a) {
229
234
  var value = _a.value;
230
235
  var syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text");
231
236
  fieldContext.onChange(syntheticEvent, "onFieldChange");
232
- } }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: typeof formik.errors[(_m = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _m === void 0 ? void 0 : _m.name] === 'object'
233
- ? (_q = (_p = formik.errors[(_o = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _o === void 0 ? void 0 : _o.name]) === null || _p === void 0 ? void 0 : _p.value) === null || _q === void 0 ? void 0 : _q.toString()
234
- : (_s = formik.errors[(_r = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _r === void 0 ? void 0 : _r.name]) === null || _s === void 0 ? void 0 : _s.toString() }))] }));
237
+ } }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: typeof formik.errors[(_o = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _o === void 0 ? void 0 : _o.name] === 'object'
238
+ ? (_r = (_q = formik.errors[(_p = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _p === void 0 ? void 0 : _p.name]) === null || _q === void 0 ? void 0 : _q.value) === null || _r === void 0 ? void 0 : _r.toString()
239
+ : (_t = formik.errors[(_s = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _s === void 0 ? void 0 : _s.name]) === null || _t === void 0 ? void 0 : _t.toString() }))] }));
235
240
  };
236
241
  export var SolidSelectionStaticRadioFormEditWidget = function (_a) {
237
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
242
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
238
243
  var formik = _a.formik, fieldContext = _a.fieldContext;
239
244
  var fieldMetadata = fieldContext.fieldMetadata;
240
245
  var fieldLayoutInfo = fieldContext.field;
@@ -246,7 +251,7 @@ export var SolidSelectionStaticRadioFormEditWidget = function (_a) {
246
251
  var formDisabled = (_h = (_g = (_f = fieldContext.solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
247
252
  var formReadonly = (_l = (_k = (_j = fieldContext.solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
248
253
  var fieldName = fieldLayoutInfo.attrs.name;
249
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
254
+ var isMultiSelect = (_m = fieldLayoutInfo.attrs.multiSelect) !== null && _m !== void 0 ? _m : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
250
255
  // Convert selectionStaticValues to usable radio options
251
256
  var radioOptions = fieldMetadata.selectionStaticValues.map(function (i) {
252
257
  var _a = i.split(":"), value = _a[0], label = _a[1];
@@ -258,17 +263,17 @@ export var SolidSelectionStaticRadioFormEditWidget = function (_a) {
258
263
  if (isMultiSelect) {
259
264
  return (_jsx("p", { className: styles.fieldError, children: "This render mode is not supported for multi select." }));
260
265
  }
261
- return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldName, className: styles.fieldLabel, children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidRadioGroup, { name: fieldName, options: radioOptions, value: (_o = (_m = formik.values[fieldName]) === null || _m === void 0 ? void 0 : _m.value) !== null && _o !== void 0 ? _o : formik.values[fieldName], disabled: formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled, onChange: function (nextValue) {
266
+ return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldName, className: styles.fieldLabel, children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidRadioGroup, { name: fieldName, options: radioOptions, value: (_p = (_o = formik.values[fieldName]) === null || _o === void 0 ? void 0 : _o.value) !== null && _p !== void 0 ? _p : formik.values[fieldName], disabled: formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled, onChange: function (nextValue) {
262
267
  var selectedOption = radioOptions.find(function (opt) { return opt.value === nextValue; });
263
268
  if (selectedOption) {
264
269
  formik.setFieldValue(fieldName, selectedOption);
265
270
  var syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, "radio");
266
271
  fieldContext.onChange(syntheticEvent, "onFieldChange");
267
272
  }
268
- } }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_p = formik === null || formik === void 0 ? void 0 : formik.errors[fieldName]) === null || _p === void 0 ? void 0 : _p.toString() }))] }));
273
+ } }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_q = formik === null || formik === void 0 ? void 0 : formik.errors[fieldName]) === null || _q === void 0 ? void 0 : _q.toString() }))] }));
269
274
  };
270
275
  export var SolidSelectionStaticSelectButtonFormEditWidget = function (_a) {
271
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
276
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
272
277
  var formik = _a.formik, fieldContext = _a.fieldContext;
273
278
  var fieldMetadata = fieldContext.fieldMetadata;
274
279
  var fieldLayoutInfo = fieldContext.field;
@@ -280,7 +285,7 @@ export var SolidSelectionStaticSelectButtonFormEditWidget = function (_a) {
280
285
  var formDisabled = (_h = (_g = (_f = fieldContext.solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
281
286
  var formReadonly = (_l = (_k = (_j = fieldContext.solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
282
287
  var fieldName = fieldLayoutInfo.attrs.name;
283
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
288
+ var isMultiSelect = (_m = fieldLayoutInfo.attrs.multiSelect) !== null && _m !== void 0 ? _m : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
284
289
  var isFormFieldValid = function (formik, fieldName) {
285
290
  return formik.errors[fieldName];
286
291
  };
@@ -300,17 +305,17 @@ export var SolidSelectionStaticSelectButtonFormEditWidget = function (_a) {
300
305
  var syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, "button");
301
306
  fieldContext.onChange(syntheticEvent, "onFieldChange");
302
307
  }
303
- } }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_m = formik.errors[fieldName]) === null || _m === void 0 ? void 0 : _m.toString() }))] }));
308
+ } }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_o = formik.errors[fieldName]) === null || _o === void 0 ? void 0 : _o.toString() }))] }));
304
309
  };
305
310
  export var DefaultSelectionStaticFormViewWidget = function (_a) {
306
- var _b, _c;
311
+ var _b, _c, _d;
307
312
  var formik = _a.formik, fieldContext = _a.fieldContext;
308
313
  var fieldMetadata = fieldContext.fieldMetadata;
309
314
  var fieldLayoutInfo = fieldContext.field;
310
315
  var fieldLabel = (_b = fieldLayoutInfo.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
311
316
  var value = formik.values[fieldLayoutInfo.attrs.name];
312
- var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
313
- var showFieldLabel = (_c = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _c === void 0 ? void 0 : _c.showLabel;
317
+ var isMultiSelect = (_c = fieldLayoutInfo.attrs.multiSelect) !== null && _c !== void 0 ? _c : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
318
+ var showFieldLabel = (_d = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.showLabel;
314
319
  return (_jsxs("div", { className: styles.fieldViewWrapper, children: [showFieldLabel !== false && (_jsx("p", { className: "".concat(styles.fieldViewLabel, " form-field-label"), children: fieldLabel })), _jsx("p", { className: styles.fieldViewValue, children: isMultiSelect
315
320
  ? Array.isArray(value)
316
321
  ? value.map(function (v) { return v === null || v === void 0 ? void 0 : v.label; }).filter(Boolean).join(', ')