@solidxai/core-ui 0.1.12-beta.5 → 0.1.12-beta.6

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 (408) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +5 -2
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +6 -2
  5. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  6. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  7. package/dist/components/auth/SolidOTPVerify.js +67 -0
  8. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  9. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  10. package/dist/components/common/AuthBanner.d.ts +3 -0
  11. package/dist/components/common/AuthBanner.d.ts.map +1 -0
  12. package/dist/components/common/AuthBanner.js +15 -0
  13. package/dist/components/common/AuthBanner.js.map +1 -0
  14. package/dist/components/common/AuthBanner.tsx +41 -0
  15. package/dist/components/common/SingleSelectAutoCompleteField.d.ts +2 -0
  16. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -0
  17. package/dist/components/common/SingleSelectAutoCompleteField.js +92 -0
  18. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -0
  19. package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
  20. package/dist/components/common/SolidExportStepper.d.ts +12 -0
  21. package/dist/components/common/SolidExportStepper.d.ts.map +1 -0
  22. package/dist/components/common/SolidExportStepper.js +30 -0
  23. package/dist/components/common/SolidExportStepper.js.map +1 -0
  24. package/dist/components/common/SolidExportStepper.tsx +135 -0
  25. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  26. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  27. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  28. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  29. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  30. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +2 -0
  31. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +1 -0
  32. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +16 -0
  33. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -0
  34. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
  35. package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
  36. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
  37. package/dist/components/core/dashboard/DashboardFilter.js +299 -0
  38. package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
  39. package/dist/components/core/dashboard/DashboardFilter.tsx +348 -0
  40. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
  41. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
  42. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
  43. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
  44. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
  45. package/dist/components/core/dashboard/SolidDashboard.d.ts +28 -0
  46. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -0
  47. package/dist/components/core/dashboard/SolidDashboard.js +183 -0
  48. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -0
  49. package/dist/components/core/dashboard/SolidDashboard.module.css +83 -0
  50. package/dist/components/core/dashboard/SolidDashboard.tsx +263 -0
  51. package/dist/components/core/dashboard/SolidDashboardBody.d.ts +24 -0
  52. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -0
  53. package/dist/components/core/dashboard/SolidDashboardBody.js +162 -0
  54. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -0
  55. package/dist/components/core/dashboard/SolidDashboardBody.tsx +168 -0
  56. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
  57. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
  58. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
  59. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
  60. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
  61. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +3 -0
  62. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +1 -0
  63. package/dist/components/core/dashboard/SolidDashboardHeader.js +6 -0
  64. package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -0
  65. package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
  66. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
  67. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
  68. package/dist/components/core/dashboard/SolidDashboardLoading.js +10 -0
  69. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
  70. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +61 -0
  71. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
  72. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
  73. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
  74. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
  75. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
  76. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
  77. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
  78. package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
  79. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
  80. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +28 -0
  81. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +19 -0
  82. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -0
  83. package/dist/components/core/dashboard/SolidDashboardVariable.js +171 -0
  84. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -0
  85. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +259 -0
  86. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +9 -0
  87. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -0
  88. package/dist/components/core/dashboard/SolidQuestionRenderer.js +42 -0
  89. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -0
  90. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +99 -0
  91. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +9 -0
  92. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -0
  93. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +35 -0
  94. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -0
  95. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +48 -0
  96. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +7 -0
  97. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -0
  98. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +22 -0
  99. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -0
  100. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +51 -0
  101. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +2 -0
  102. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +1 -0
  103. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +4 -0
  104. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -0
  105. package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
  106. package/dist/components/core/dashboard/dashboard-utils.d.ts +2 -0
  107. package/dist/components/core/dashboard/dashboard-utils.d.ts.map +1 -0
  108. package/dist/components/core/dashboard/dashboard-utils.js +38 -0
  109. package/dist/components/core/dashboard/dashboard-utils.js.map +1 -0
  110. package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
  111. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
  112. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
  113. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
  114. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
  115. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
  116. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
  117. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
  118. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
  119. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
  120. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
  121. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
  122. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
  123. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
  124. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
  125. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
  126. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +4 -0
  127. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +1 -0
  128. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +23 -0
  129. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -0
  130. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
  131. package/dist/components/core/form/SolidFormView.js +1 -1
  132. package/dist/components/core/form/SolidFormView.js.map +1 -1
  133. package/dist/components/core/form/SolidFormView.tsx +1 -1
  134. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  135. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +11 -1
  136. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  137. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +26 -19
  138. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  139. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +13 -5
  140. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  141. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +16 -9
  142. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
  143. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
  144. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
  145. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
  146. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
  147. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
  148. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
  149. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
  150. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
  151. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
  152. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +12 -0
  153. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
  154. package/dist/components/core/kanban/SolidKanbanViewFields.js +145 -0
  155. package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -0
  156. package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
  157. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +2 -0
  158. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -0
  159. package/dist/components/core/kanban/SolidManyToOneFilterElement.js +87 -0
  160. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -0
  161. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
  162. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +2 -0
  163. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
  164. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +73 -0
  165. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -0
  166. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
  167. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +2 -0
  168. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +1 -0
  169. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +20 -0
  170. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -0
  171. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
  172. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +12 -0
  173. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +1 -0
  174. package/dist/components/core/kanban/SolidVarInputsFilterElement.js +81 -0
  175. package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -0
  176. package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
  177. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +4 -0
  178. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +1 -0
  179. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +7 -0
  180. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -0
  181. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
  182. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +4 -0
  183. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +1 -0
  184. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +8 -0
  185. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -0
  186. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
  187. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +4 -0
  188. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +1 -0
  189. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +21 -0
  190. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -0
  191. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
  192. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +4 -0
  193. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +1 -0
  194. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +8 -0
  195. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -0
  196. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
  197. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +4 -0
  198. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +1 -0
  199. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +8 -0
  200. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -0
  201. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
  202. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +4 -0
  203. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +1 -0
  204. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +7 -0
  205. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -0
  206. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
  207. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +4 -0
  208. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +1 -0
  209. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +8 -0
  210. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -0
  211. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
  212. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +4 -0
  213. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +1 -0
  214. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +7 -0
  215. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -0
  216. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
  217. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +4 -0
  218. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +1 -0
  219. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +8 -0
  220. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -0
  221. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
  222. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +4 -0
  223. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +1 -0
  224. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +16 -0
  225. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -0
  226. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
  227. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +4 -0
  228. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +1 -0
  229. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +7 -0
  230. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -0
  231. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
  232. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +4 -0
  233. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -0
  234. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +56 -0
  235. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -0
  236. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
  237. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +4 -0
  238. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -0
  239. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +42 -0
  240. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -0
  241. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
  242. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +4 -0
  243. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +1 -0
  244. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +11 -0
  245. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -0
  246. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
  247. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +4 -0
  248. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +1 -0
  249. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +7 -0
  250. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -0
  251. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
  252. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +4 -0
  253. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +1 -0
  254. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +8 -0
  255. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -0
  256. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
  257. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +4 -0
  258. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +1 -0
  259. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +8 -0
  260. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -0
  261. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
  262. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +4 -0
  263. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -0
  264. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +37 -0
  265. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -0
  266. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
  267. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +4 -0
  268. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +1 -0
  269. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +8 -0
  270. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -0
  271. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
  272. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +4 -0
  273. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +1 -0
  274. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +8 -0
  275. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -0
  276. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
  277. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +4 -0
  278. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +1 -0
  279. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +7 -0
  280. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
  281. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
  282. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  283. package/dist/components/core/list/SolidDataTable.js +1 -1
  284. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  285. package/dist/components/core/list/SolidDataTable.tsx +1 -0
  286. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +2 -0
  287. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -0
  288. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +39 -0
  289. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -0
  290. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +40 -0
  291. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +12 -0
  292. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +1 -0
  293. package/dist/components/core/list/SolidVarInputsFilterElement.js +81 -0
  294. package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -0
  295. package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
  296. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
  297. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
  298. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
  299. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
  300. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
  301. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
  302. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
  303. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
  304. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
  305. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
  306. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
  307. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
  308. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
  309. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
  310. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
  311. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
  312. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  313. package/dist/components/core/model/FieldMetaDataForm.js +119 -102
  314. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  315. package/dist/components/core/model/FieldMetaDataForm.tsx +82 -39
  316. package/dist/components/core/model/FieldSelector.d.ts +5 -1
  317. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  318. package/dist/components/core/model/FieldSelector.js +25 -6
  319. package/dist/components/core/model/FieldSelector.js.map +1 -1
  320. package/dist/components/core/model/FieldSelector.tsx +50 -5
  321. package/dist/components/layout/DashboardHeader.d.ts +3 -0
  322. package/dist/components/layout/DashboardHeader.d.ts.map +1 -0
  323. package/dist/components/layout/DashboardHeader.js +20 -0
  324. package/dist/components/layout/DashboardHeader.js.map +1 -0
  325. package/dist/components/layout/DashboardHeader.tsx +94 -0
  326. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  327. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  328. package/dist/components/shad-cn-ui/SolidSelect.js +12 -4
  329. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  330. package/dist/components/shad-cn-ui/SolidSelect.tsx +13 -1
  331. package/dist/helpers/# no such endpoints exist, need to calle +3 -0
  332. package/dist/helpers/ToastContainer.d.ts +4 -0
  333. package/dist/helpers/ToastContainer.d.ts.map +1 -0
  334. package/dist/helpers/ToastContainer.js +49 -0
  335. package/dist/helpers/ToastContainer.js.map +1 -0
  336. package/dist/helpers/ToastContainer.tsx +94 -0
  337. package/dist/helpers/showToast.d.ts +5 -0
  338. package/dist/helpers/showToast.d.ts.map +1 -0
  339. package/dist/helpers/showToast.js +17 -0
  340. package/dist/helpers/showToast.js.map +1 -0
  341. package/dist/helpers/showToast.ts +13 -0
  342. package/dist/helpers/studioSandbox.d.ts +31 -0
  343. package/dist/helpers/studioSandbox.d.ts.map +1 -0
  344. package/dist/helpers/studioSandbox.js +104 -0
  345. package/dist/helpers/studioSandbox.js.map +1 -0
  346. package/dist/helpers/studioSandbox.ts +117 -0
  347. package/dist/nextAuth/authProviders.d.ts +4 -0
  348. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  349. package/dist/nextAuth/authProviders.js +198 -0
  350. package/dist/nextAuth/authProviders.js.map +1 -0
  351. package/dist/nextAuth/authProviders.tsx +232 -0
  352. package/dist/nextAuth/handleLogout.d.ts +2 -0
  353. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  354. package/dist/nextAuth/handleLogout.js +36 -0
  355. package/dist/nextAuth/handleLogout.js.map +1 -0
  356. package/dist/nextAuth/handleLogout.tsx +39 -0
  357. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  358. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  359. package/dist/nextAuth/refreshAccessToken.js +24 -0
  360. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  361. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  362. package/dist/redux/api/dashboardApi.d.ts +23 -0
  363. package/dist/redux/api/dashboardApi.d.ts.map +1 -0
  364. package/dist/redux/api/dashboardApi.js +35 -0
  365. package/dist/redux/api/dashboardApi.js.map +1 -0
  366. package/dist/redux/api/dashboardApi.ts +56 -0
  367. package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
  368. package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
  369. package/dist/redux/api/dashboardLayoutApi.js +34 -0
  370. package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
  371. package/dist/redux/api/dashboardLayoutApi.ts +55 -0
  372. package/dist/redux/api/dashboardQuestionApi.d.ts +5 -0
  373. package/dist/redux/api/dashboardQuestionApi.d.ts.map +1 -0
  374. package/dist/redux/api/dashboardQuestionApi.js +18 -0
  375. package/dist/redux/api/dashboardQuestionApi.js.map +1 -0
  376. package/dist/redux/api/dashboardQuestionApi.ts +17 -0
  377. package/dist/redux/api/datasourceIntrospectionApi.d.ts +1 -0
  378. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  379. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  380. package/dist/redux/api/datasourceIntrospectionApi.ts +1 -0
  381. package/dist/redux/features/settingsSlice.d.ts +20 -0
  382. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  383. package/dist/redux/features/settingsSlice.js +39 -0
  384. package/dist/redux/features/settingsSlice.js.map +1 -0
  385. package/dist/redux/features/settingsSlice.ts +60 -0
  386. package/dist/resources/images/Footerbg.png +0 -0
  387. package/dist/resources/images/LoginBanner.png +0 -0
  388. package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
  389. package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
  390. package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
  391. package/dist/resources/images/dashboard/image 5.svg +9 -0
  392. package/dist/resources/images/loginhero.png +0 -0
  393. package/dist/resources/images/logo.png +0 -0
  394. package/dist/resources/images/radix-logo-white.png +0 -0
  395. package/dist/resources/images/radix-logo.png +0 -0
  396. package/dist/resources/images/signupBanner.png +0 -0
  397. package/dist/resources/shadcn-base.css +16 -70
  398. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +12 -0
  399. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  400. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +160 -59
  401. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  402. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +293 -41
  403. package/package.json +1 -1
  404. package/dist/helpers/modulePackageResumeState.d.ts +0 -6
  405. package/dist/helpers/modulePackageResumeState.d.ts.map +0 -1
  406. package/dist/helpers/modulePackageResumeState.js +0 -46
  407. package/dist/helpers/modulePackageResumeState.js.map +0 -1
  408. package/dist/helpers/modulePackageResumeState.ts +0 -57
@@ -868,7 +868,27 @@ const createValidationSchema = (currentFields: any, selectedType: any, allFields
868
868
  return Yup.object(schema);
869
869
  };
870
870
 
871
- const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldMetaData, allFields, deleteModelFunction, setVisiblePopup, params, setIsRequiredPopUp, showToaster }: any) => {
871
+ const FieldMetaDataForm = ({
872
+ setIsDirty,
873
+ modelMetaData,
874
+ fieldMetaData,
875
+ setFieldMetaData,
876
+ allFields,
877
+ deleteModelFunction,
878
+ setVisiblePopup,
879
+ params,
880
+ setIsRequiredPopUp,
881
+ showToaster,
882
+ onDraftSubmit,
883
+ onClose,
884
+ availableFieldTypes,
885
+ forceShowTypeSelector = false,
886
+ selectorRequireContinue = false,
887
+ selectorContinueLabel = "Next",
888
+ selectorInitialFieldType = null,
889
+ disableIdentityEditingForExisting = true,
890
+ submitLabel = "Finish",
891
+ }: any) => {
872
892
  const booleanOptions = ["false", "true"];
873
893
  const booleanSegmentedOptions = booleanOptions.map((value) => ({
874
894
  label: capitalize(value),
@@ -898,9 +918,13 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
898
918
  const [markdownText, setMarkdownText] = useState<string>();
899
919
  const [encryptState, setEncryptState] = useState<boolean>(Boolean(fieldMetaData?.encrypt));
900
920
 
901
- const [showTypeFilter, setShowTypeFilter] = useState(fieldMetaData ? false : true);
921
+ const [showTypeFilter, setShowTypeFilter] = useState(forceShowTypeSelector || !fieldMetaData);
902
922
  const [selectedType, setSelectedType] = useState<{ label: string; value: string } | null>(
903
- fieldMetaData?.type ? { label: fieldMetaData.type, value: fieldMetaData.type } : null
923
+ fieldMetaData?.type
924
+ ? { label: fieldMetaData.type, value: fieldMetaData.type }
925
+ : selectorInitialFieldType
926
+ ? { label: selectorInitialFieldType, value: selectorInitialFieldType }
927
+ : null
904
928
  );
905
929
  const selectedTypeValue = selectedType?.value || "";
906
930
  const [selectedComputedFieldValueType, setSelectedComputedFieldValueType] = useState(fieldMetaData?.computedFieldValueType && { label: fieldMetaData.computedFieldValueType, value: fieldMetaData.computedFieldValueType });
@@ -939,6 +963,18 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
939
963
  const showOrmOptions = currentFields.includes("ormType") && Boolean(ormTypeOptions && ormTypeOptions.length);
940
964
  const showValidationSection =
941
965
  selectedTypeValue !== "relation" && (showRegexFields || showMinFields || showMaxFields || showOrmOptions);
966
+ const isExistingFieldReadOnly = disableIdentityEditingForExisting && Boolean(fieldMetaData?.id);
967
+
968
+ const closeForm = useCallback(() => {
969
+ if (typeof onClose === "function") {
970
+ onClose();
971
+ return;
972
+ }
973
+
974
+ if (typeof setVisiblePopup === "function") {
975
+ setVisiblePopup(false);
976
+ }
977
+ }, [onClose, setVisiblePopup]);
942
978
 
943
979
  const searchMediaStorageProvIderId = async (event: any) => {
944
980
  try {
@@ -1395,34 +1431,37 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
1395
1431
  enableReinitialize: true,
1396
1432
  onSubmit: async (values) => {
1397
1433
  try {
1398
- setFieldMetaData((prevItems: any) => {
1399
- const newFieldData = { ...values, isSystem: values.isSystem == true ? true : '' }
1400
- const formtatedFieldPayload = fieldBasedPayloadFormating(newFieldData, currentFields, fieldMetaData);
1401
- const existingIndex = prevItems.findIndex((item: any) => item.identifier === formtatedFieldPayload.identifier);
1402
- let updatedItems;
1403
- if (existingIndex !== -1) {
1404
- updatedItems = [...prevItems];
1405
- updatedItems[existingIndex] = formtatedFieldPayload;
1406
- return updatedItems
1407
- }
1408
- else {
1409
- updatedItems = [...prevItems, formtatedFieldPayload];
1410
- if (params?.id !== 'new' && formtatedFieldPayload?.required && !formtatedFieldPayload?.defaultValue) {
1411
- setIsRequiredPopUp(true);
1434
+ const newFieldData = { ...values, isSystem: values.isSystem == true ? true : '' }
1435
+ const formtatedFieldPayload = fieldBasedPayloadFormating(newFieldData, currentFields, fieldMetaData);
1436
+
1437
+ if (typeof onDraftSubmit === "function") {
1438
+ onDraftSubmit(formtatedFieldPayload);
1439
+ } else {
1440
+ setFieldMetaData((prevItems: any) => {
1441
+ const existingIndex = prevItems.findIndex((item: any) => item.identifier === formtatedFieldPayload.identifier);
1442
+ let updatedItems;
1443
+ if (existingIndex !== -1) {
1444
+ updatedItems = [...prevItems];
1445
+ updatedItems[existingIndex] = formtatedFieldPayload;
1446
+ return updatedItems
1412
1447
  }
1413
- // return [...prevItems, formtatedFieldPayload]
1414
- }
1415
- return updatedItems;
1416
- });
1417
- if (values.userKey) {
1418
- const data = {
1419
- modelName: values.relationCoModelSingularName,
1420
- fieldName: values.userKey
1448
+ else {
1449
+ updatedItems = [...prevItems, formtatedFieldPayload];
1450
+ if (params?.id !== 'new' && formtatedFieldPayload?.required && !formtatedFieldPayload?.defaultValue) {
1451
+ setIsRequiredPopUp(true);
1452
+ }
1453
+ }
1454
+ return updatedItems;
1455
+ });
1456
+ if (values.userKey) {
1457
+ const data = {
1458
+ modelName: values.relationCoModelSingularName,
1459
+ fieldName: values.userKey
1460
+ }
1461
+ updateUserKey(data);
1421
1462
  }
1422
- updateUserKey(data);
1423
1463
  }
1424
- // nextTab()
1425
- setVisiblePopup(false);
1464
+ closeForm();
1426
1465
 
1427
1466
  } catch (err) {
1428
1467
  console.error(ERROR_MESSAGES.CREATE_MODEL, err);
@@ -1773,6 +1812,10 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
1773
1812
  <FieldSelector
1774
1813
  handleTypeSelect={handleTypeSelect}
1775
1814
  modelMetaData={modelMetaData}
1815
+ availableFieldTypes={availableFieldTypes}
1816
+ initialSelectedValue={selectedType?.value ?? selectorInitialFieldType}
1817
+ requireExplicitContinue={selectorRequireContinue}
1818
+ continueLabel={selectorContinueLabel}
1776
1819
  ></FieldSelector>
1777
1820
  :
1778
1821
  <div className="p-3" style={{ maxHeight: '80vh', overflowY: 'auto', overflowX: 'hidden' }}>
@@ -1795,7 +1838,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
1795
1838
  </label>
1796
1839
  <SolidInput
1797
1840
  type="text"
1798
- disabled={fieldMetaData?.id}
1841
+ disabled={isExistingFieldReadOnly}
1799
1842
  id="displayName"
1800
1843
  name="displayName"
1801
1844
  onChange={(e) => {
@@ -1823,7 +1866,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
1823
1866
  Name
1824
1867
  </label>
1825
1868
  <SolidInput
1826
- disabled={fieldMetaData?.id}
1869
+ disabled={isExistingFieldReadOnly}
1827
1870
  type="text"
1828
1871
  id="name"
1829
1872
  name="name"
@@ -1878,7 +1921,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
1878
1921
  }
1879
1922
  }}
1880
1923
  checked={showColumnName}
1881
- disabled={fieldMetaData?.id}
1924
+ disabled={isExistingFieldReadOnly}
1882
1925
  />
1883
1926
  <label htmlFor="ingredient1" className="form-field-label">
1884
1927
  Set Column Name
@@ -1890,7 +1933,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
1890
1933
  Column Name
1891
1934
  </label>
1892
1935
  <SolidInput
1893
- disabled={fieldMetaData?.id}
1936
+ disabled={isExistingFieldReadOnly}
1894
1937
  type="text"
1895
1938
  id="columnName"
1896
1939
  name="columnName"
@@ -2389,7 +2432,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
2389
2432
  id="relationCoModelColumnName"
2390
2433
  name="relationCoModelColumnName"
2391
2434
  onChange={formik.handleChange}
2392
- disabled={fieldMetaData?.id}
2435
+ disabled={isExistingFieldReadOnly}
2393
2436
  value={formik.values.relationCoModelColumnName}
2394
2437
  className={classNames(styles.fieldInput, {
2395
2438
  "p-invalid": isFormFieldValid(
@@ -2528,7 +2571,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
2528
2571
  id="relationCoModelFieldName"
2529
2572
  name="relationCoModelFieldName"
2530
2573
  onChange={formik.handleChange}
2531
- disabled={fieldMetaData?.id}
2574
+ disabled={isExistingFieldReadOnly}
2532
2575
  value={formik.values.relationCoModelFieldName}
2533
2576
  className={classNames(styles.fieldInput, {
2534
2577
  "p-invalid": isFormFieldValid(
@@ -2598,7 +2641,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
2598
2641
  id="relationJoinTableName"
2599
2642
  name="relationJoinTableName"
2600
2643
  onChange={formik.handleChange}
2601
- disabled={fieldMetaData?.id}
2644
+ disabled={isExistingFieldReadOnly}
2602
2645
  value={formik.values.relationJoinTableName}
2603
2646
  className={classNames(styles.fieldInput, {
2604
2647
  "p-invalid": isFormFieldValid(
@@ -3050,7 +3093,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
3050
3093
  "min"
3051
3094
  ),
3052
3095
  })}
3053
- disabled={fieldMetaData?.id}
3096
+ disabled={isExistingFieldReadOnly}
3054
3097
  />
3055
3098
  </div>
3056
3099
  {isFormFieldValid(formik, "min") && (
@@ -3088,7 +3131,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
3088
3131
  "max"
3089
3132
  ),
3090
3133
  })}
3091
- disabled={fieldMetaData?.id}
3134
+ disabled={isExistingFieldReadOnly}
3092
3135
  />
3093
3136
  </div>
3094
3137
 
@@ -3447,10 +3490,10 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
3447
3490
  </TabView>
3448
3491
  <div className="mt-4 flex gap-4">
3449
3492
  <div>
3450
- <SolidButton label="Finish" size="small" onClick={() => showError()} type="submit" />
3493
+ <SolidButton label={submitLabel} size="small" onClick={() => showError()} type="submit" />
3451
3494
  </div>
3452
3495
  <div>
3453
- <SolidButton label="Cancel" size="small" severity="secondary" type="reset" onClick={() => setVisiblePopup(false)} outlined />
3496
+ <SolidButton label="Cancel" size="small" severity="secondary" type="reset" onClick={closeForm} outlined />
3454
3497
  </div>
3455
3498
  </div>
3456
3499
  </div>
@@ -1,7 +1,11 @@
1
1
  type FieldSelectorProps = {
2
2
  handleTypeSelect: (value: string, label: string) => void;
3
3
  modelMetaData?: any;
4
+ availableFieldTypes?: string[];
5
+ initialSelectedValue?: string | null;
6
+ requireExplicitContinue?: boolean;
7
+ continueLabel?: string;
4
8
  };
5
- declare const FieldSelector: ({ handleTypeSelect }: FieldSelectorProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const FieldSelector: ({ handleTypeSelect, availableFieldTypes, initialSelectedValue, requireExplicitContinue, continueLabel, }: FieldSelectorProps) => import("react/jsx-runtime").JSX.Element;
6
10
  export default FieldSelector;
7
11
  //# sourceMappingURL=FieldSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/FieldSelector.tsx"],"names":[],"mappings":"AA0BA,KAAK,kBAAkB,GAAG;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAwDF,QAAA,MAAM,aAAa,yBAA0B,kBAAkB,4CAoC9D,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"FieldSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/FieldSelector.tsx"],"names":[],"mappings":"AA4BA,KAAK,kBAAkB,GAAG;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAwDF,QAAA,MAAM,aAAa,6GAMhB,kBAAkB,4CAqEpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import { AlignLeft, Calculator, Calendar, Clock9, Code2, Feather, Fingerprint, FunctionSquare, Hash, Image, Images, ListChecks, ListFilter, Mail, Share2, Shield, Sigma, Timer, ToggleLeft, Type, } from "lucide-react";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ import { AlignLeft, Calculator, Calendar, Clock9, Code2, Feather, Fingerprint, FunctionSquare, Hash, Image, Images, ListChecks, ListFilter, Mail, Share2, Shield, Sigma, Timer, ToggleLeft, Type, ArrowRight, } from "lucide-react";
4
+ import { SolidButton } from "../../shad-cn-ui";
4
5
  var fieldToneMap = {
5
6
  int: "blue",
6
7
  bigint: "blue",
@@ -46,13 +47,31 @@ var solidFieldOptions = [
46
47
  { label: "UUID", description: "Unique identifier", Icon: Fingerprint, value: "uuid", tone: fieldToneMap.uuid },
47
48
  ];
48
49
  var FieldSelector = function (_a) {
49
- var handleTypeSelect = _a.handleTypeSelect;
50
- var _b = useState(null), selectedField = _b[0], setSelectedField = _b[1];
50
+ var handleTypeSelect = _a.handleTypeSelect, availableFieldTypes = _a.availableFieldTypes, _b = _a.initialSelectedValue, initialSelectedValue = _b === void 0 ? null : _b, _c = _a.requireExplicitContinue, requireExplicitContinue = _c === void 0 ? false : _c, _d = _a.continueLabel, continueLabel = _d === void 0 ? "Next" : _d;
51
+ var _e = useState(initialSelectedValue), selectedField = _e[0], setSelectedField = _e[1];
52
+ useEffect(function () {
53
+ setSelectedField(initialSelectedValue);
54
+ }, [initialSelectedValue]);
55
+ var visibleFieldOptions = useMemo(function () {
56
+ if (!(availableFieldTypes === null || availableFieldTypes === void 0 ? void 0 : availableFieldTypes.length)) {
57
+ return solidFieldOptions;
58
+ }
59
+ var allowedTypes = new Set(availableFieldTypes);
60
+ return solidFieldOptions.filter(function (option) { return allowedTypes.has(option.value); });
61
+ }, [availableFieldTypes]);
51
62
  var handleSelect = function (option) {
52
63
  setSelectedField(option.value);
53
- handleTypeSelect(option.value, option.label);
64
+ if (!requireExplicitContinue) {
65
+ handleTypeSelect(option.value, option.label);
66
+ }
54
67
  };
55
- return (_jsxs("div", { className: "solid-field-selector-container", children: [_jsxs("div", { className: "solid-field-selector-header", children: [_jsx("p", { className: "form-wrapper-heading", children: "Select Field Type" }), _jsx("p", { className: "solid-field-selector-subheading", children: "Choose the data type you want to add to the model." })] }), _jsx("div", { className: "solid-field-selector-grid", children: solidFieldOptions.map(function (option) { return (_jsx("button", { type: "button", className: "solid-field-selector-card ".concat(selectedField === option.value ? "is-active" : ""), onClick: function () { return handleSelect(option); }, children: _jsxs("div", { className: "solid-field-selector-card-inner", children: [_jsx("span", { className: "solid-field-selector-icon solid-field-selector-icon-".concat(option.tone), children: _jsx(option.Icon, { size: 18, strokeWidth: 1.8 }) }), _jsxs("div", { className: "solid-field-selector-text", children: [_jsx("span", { className: "solid-field-selector-title", children: option.label }), _jsx("span", { className: "solid-field-selector-description", children: option.description })] })] }) }, option.value)); }) })] }));
68
+ var handleContinue = function () {
69
+ var selectedOption = visibleFieldOptions.find(function (option) { return option.value === selectedField; });
70
+ if (!selectedOption)
71
+ return;
72
+ handleTypeSelect(selectedOption.value, selectedOption.label);
73
+ };
74
+ return (_jsxs("div", { className: "solid-field-selector-container", children: [_jsxs("div", { className: "solid-field-selector-header", children: [_jsx("p", { className: "form-wrapper-heading", children: "Select Field Type" }), _jsx("p", { className: "solid-field-selector-subheading", children: "Choose the data type you want to add to the model." })] }), _jsx("div", { className: "solid-field-selector-grid", children: visibleFieldOptions.map(function (option) { return (_jsx("button", { type: "button", className: "solid-field-selector-card ".concat(selectedField === option.value ? "is-active" : ""), onClick: function () { return handleSelect(option); }, children: _jsxs("div", { className: "solid-field-selector-card-inner", children: [_jsx("span", { className: "solid-field-selector-icon solid-field-selector-icon-".concat(option.tone), children: _jsx(option.Icon, { size: 18, strokeWidth: 1.8 }) }), _jsxs("div", { className: "solid-field-selector-text", children: [_jsx("span", { className: "solid-field-selector-title", children: option.label }), _jsx("span", { className: "solid-field-selector-description", children: option.description })] })] }) }, option.value)); }) }), requireExplicitContinue ? (_jsx("div", { className: "mt-4 flex justify-end", children: _jsx(SolidButton, { size: "small", leftIcon: _jsx(ArrowRight, { size: 14 }), onClick: handleContinue, disabled: !selectedField, children: continueLabel }) })) : null] }));
56
75
  };
57
76
  export default FieldSelector;
58
77
  //# sourceMappingURL=FieldSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSelector.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useState } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlignLeft,\n Calculator,\n Calendar,\n Clock9,\n Code2,\n Feather,\n Fingerprint,\n FunctionSquare,\n Hash,\n Image,\n Images,\n ListChecks,\n ListFilter,\n Mail,\n Share2,\n Shield,\n Sigma,\n Timer,\n ToggleLeft,\n Type,\n} from \"lucide-react\";\n\ntype FieldSelectorProps = {\n handleTypeSelect: (value: string, label: string) => void;\n modelMetaData?: any;\n};\n\ntype FieldOption = {\n label: string;\n description: string;\n Icon: LucideIcon;\n value: string;\n tone: \"blue\" | \"violet\" | \"green\" | \"orange\" | \"cyan\";\n};\n\nconst fieldToneMap: Record<string, FieldOption[\"tone\"]> = {\n int: \"blue\",\n bigint: \"blue\",\n decimal: \"blue\",\n shortText: \"violet\",\n longText: \"violet\",\n richText: \"violet\",\n json: \"cyan\",\n boolean: \"green\",\n date: \"orange\",\n datetime: \"orange\",\n time: \"orange\",\n relation: \"cyan\",\n mediaSingle: \"violet\",\n mediaMultiple: \"violet\",\n email: \"cyan\",\n password: \"cyan\",\n selectionStatic: \"green\",\n selectionDynamic: \"green\",\n computed: \"blue\",\n uuid: \"blue\",\n};\n\nconst solidFieldOptions: FieldOption[] = [\n { label: \"Integer\", description: \"Whole number (int)\", Icon: Hash, value: \"int\", tone: fieldToneMap.int },\n { label: \"Big Integer\", description: \"Large whole number (bigint)\", Icon: Calculator, value: \"bigint\", tone: fieldToneMap.bigint },\n { label: \"Decimal\", description: \"64-bit floating-point number\", Icon: Sigma, value: \"decimal\", tone: fieldToneMap.decimal },\n { label: \"Short Text\", description: \"Small text field\", Icon: Type, value: \"shortText\", tone: fieldToneMap.shortText },\n { label: \"Long Text\", description: \"Large text field\", Icon: AlignLeft, value: \"longText\", tone: fieldToneMap.longText },\n { label: \"Rich Text\", description: \"Rich text editor\", Icon: Feather, value: \"richText\", tone: fieldToneMap.richText },\n { label: \"JSON\", description: \"JSON data format\", Icon: Code2, value: \"json\", tone: fieldToneMap.json },\n { label: \"Boolean\", description: \"True / False value\", Icon: ToggleLeft, value: \"boolean\", tone: fieldToneMap.boolean },\n { label: \"Date\", description: \"Date field\", Icon: Calendar, value: \"date\", tone: fieldToneMap.date },\n { label: \"Datetime\", description: \"Date & time field\", Icon: Clock9, value: \"datetime\", tone: fieldToneMap.datetime },\n { label: \"Time\", description: \"Time picker\", Icon: Timer, value: \"time\", tone: fieldToneMap.time },\n { label: \"Relation\", description: \"Reference another entity\", Icon: Share2, value: \"relation\", tone: fieldToneMap.relation },\n { label: \"Single Media\", description: \"Single file upload\", Icon: Image, value: \"mediaSingle\", tone: fieldToneMap.mediaSingle },\n { label: \"Multiple Media\", description: \"Multiple file upload\", Icon: Images, value: \"mediaMultiple\", tone: fieldToneMap.mediaMultiple },\n { label: \"Email\", description: \"Email field\", Icon: Mail, value: \"email\", tone: fieldToneMap.email },\n { label: \"Password\", description: \"Password input\", Icon: Shield, value: \"password\", tone: fieldToneMap.password },\n { label: \"Static Selection\", description: \"Predefined values\", Icon: ListChecks, value: \"selectionStatic\", tone: fieldToneMap.selectionStatic },\n { label: \"Dynamic Selection\", description: \"Dynamic list\", Icon: ListFilter, value: \"selectionDynamic\", tone: fieldToneMap.selectionDynamic },\n { label: \"Computed\", description: \"Derive value from data\", Icon: FunctionSquare, value: \"computed\", tone: fieldToneMap.computed },\n { label: \"UUID\", description: \"Unique identifier\", Icon: Fingerprint, value: \"uuid\", tone: fieldToneMap.uuid },\n];\n\nconst FieldSelector = ({ handleTypeSelect }: FieldSelectorProps) => {\n const [selectedField, setSelectedField] = useState<string | null>(null);\n\n const handleSelect = (option: FieldOption) => {\n setSelectedField(option.value);\n handleTypeSelect(option.value, option.label);\n };\n\n return (\n <div className=\"solid-field-selector-container\">\n <div className=\"solid-field-selector-header\">\n <p className=\"form-wrapper-heading\">Select Field Type</p>\n <p className=\"solid-field-selector-subheading\">Choose the data type you want to add to the model.</p>\n </div>\n <div className=\"solid-field-selector-grid\">\n {solidFieldOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n className={`solid-field-selector-card ${selectedField === option.value ? \"is-active\" : \"\"}`}\n onClick={() => handleSelect(option)}\n >\n <div className=\"solid-field-selector-card-inner\">\n <span className={`solid-field-selector-icon solid-field-selector-icon-${option.tone}`}>\n <option.Icon size={18} strokeWidth={1.8} />\n </span>\n <div className=\"solid-field-selector-text\">\n <span className=\"solid-field-selector-title\">{option.label}</span>\n <span className=\"solid-field-selector-description\">{option.description}</span>\n </div>\n </div>\n </button>\n ))}\n </div>\n </div>\n );\n};\n\nexport default FieldSelector;\n"]}
1
+ {"version":3,"file":"FieldSelector.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlignLeft,\n Calculator,\n Calendar,\n Clock9,\n Code2,\n Feather,\n Fingerprint,\n FunctionSquare,\n Hash,\n Image,\n Images,\n ListChecks,\n ListFilter,\n Mail,\n Share2,\n Shield,\n Sigma,\n Timer,\n ToggleLeft,\n Type,\n ArrowRight,\n} from \"lucide-react\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\ntype FieldSelectorProps = {\n handleTypeSelect: (value: string, label: string) => void;\n modelMetaData?: any;\n availableFieldTypes?: string[];\n initialSelectedValue?: string | null;\n requireExplicitContinue?: boolean;\n continueLabel?: string;\n};\n\ntype FieldOption = {\n label: string;\n description: string;\n Icon: LucideIcon;\n value: string;\n tone: \"blue\" | \"violet\" | \"green\" | \"orange\" | \"cyan\";\n};\n\nconst fieldToneMap: Record<string, FieldOption[\"tone\"]> = {\n int: \"blue\",\n bigint: \"blue\",\n decimal: \"blue\",\n shortText: \"violet\",\n longText: \"violet\",\n richText: \"violet\",\n json: \"cyan\",\n boolean: \"green\",\n date: \"orange\",\n datetime: \"orange\",\n time: \"orange\",\n relation: \"cyan\",\n mediaSingle: \"violet\",\n mediaMultiple: \"violet\",\n email: \"cyan\",\n password: \"cyan\",\n selectionStatic: \"green\",\n selectionDynamic: \"green\",\n computed: \"blue\",\n uuid: \"blue\",\n};\n\nconst solidFieldOptions: FieldOption[] = [\n { label: \"Integer\", description: \"Whole number (int)\", Icon: Hash, value: \"int\", tone: fieldToneMap.int },\n { label: \"Big Integer\", description: \"Large whole number (bigint)\", Icon: Calculator, value: \"bigint\", tone: fieldToneMap.bigint },\n { label: \"Decimal\", description: \"64-bit floating-point number\", Icon: Sigma, value: \"decimal\", tone: fieldToneMap.decimal },\n { label: \"Short Text\", description: \"Small text field\", Icon: Type, value: \"shortText\", tone: fieldToneMap.shortText },\n { label: \"Long Text\", description: \"Large text field\", Icon: AlignLeft, value: \"longText\", tone: fieldToneMap.longText },\n { label: \"Rich Text\", description: \"Rich text editor\", Icon: Feather, value: \"richText\", tone: fieldToneMap.richText },\n { label: \"JSON\", description: \"JSON data format\", Icon: Code2, value: \"json\", tone: fieldToneMap.json },\n { label: \"Boolean\", description: \"True / False value\", Icon: ToggleLeft, value: \"boolean\", tone: fieldToneMap.boolean },\n { label: \"Date\", description: \"Date field\", Icon: Calendar, value: \"date\", tone: fieldToneMap.date },\n { label: \"Datetime\", description: \"Date & time field\", Icon: Clock9, value: \"datetime\", tone: fieldToneMap.datetime },\n { label: \"Time\", description: \"Time picker\", Icon: Timer, value: \"time\", tone: fieldToneMap.time },\n { label: \"Relation\", description: \"Reference another entity\", Icon: Share2, value: \"relation\", tone: fieldToneMap.relation },\n { label: \"Single Media\", description: \"Single file upload\", Icon: Image, value: \"mediaSingle\", tone: fieldToneMap.mediaSingle },\n { label: \"Multiple Media\", description: \"Multiple file upload\", Icon: Images, value: \"mediaMultiple\", tone: fieldToneMap.mediaMultiple },\n { label: \"Email\", description: \"Email field\", Icon: Mail, value: \"email\", tone: fieldToneMap.email },\n { label: \"Password\", description: \"Password input\", Icon: Shield, value: \"password\", tone: fieldToneMap.password },\n { label: \"Static Selection\", description: \"Predefined values\", Icon: ListChecks, value: \"selectionStatic\", tone: fieldToneMap.selectionStatic },\n { label: \"Dynamic Selection\", description: \"Dynamic list\", Icon: ListFilter, value: \"selectionDynamic\", tone: fieldToneMap.selectionDynamic },\n { label: \"Computed\", description: \"Derive value from data\", Icon: FunctionSquare, value: \"computed\", tone: fieldToneMap.computed },\n { label: \"UUID\", description: \"Unique identifier\", Icon: Fingerprint, value: \"uuid\", tone: fieldToneMap.uuid },\n];\n\nconst FieldSelector = ({\n handleTypeSelect,\n availableFieldTypes,\n initialSelectedValue = null,\n requireExplicitContinue = false,\n continueLabel = \"Next\",\n}: FieldSelectorProps) => {\n const [selectedField, setSelectedField] = useState<string | null>(initialSelectedValue);\n\n useEffect(() => {\n setSelectedField(initialSelectedValue);\n }, [initialSelectedValue]);\n\n const visibleFieldOptions = useMemo(() => {\n if (!availableFieldTypes?.length) {\n return solidFieldOptions;\n }\n\n const allowedTypes = new Set(availableFieldTypes);\n return solidFieldOptions.filter((option) => allowedTypes.has(option.value));\n }, [availableFieldTypes]);\n\n const handleSelect = (option: FieldOption) => {\n setSelectedField(option.value);\n if (!requireExplicitContinue) {\n handleTypeSelect(option.value, option.label);\n }\n };\n\n const handleContinue = () => {\n const selectedOption = visibleFieldOptions.find((option) => option.value === selectedField);\n if (!selectedOption) return;\n handleTypeSelect(selectedOption.value, selectedOption.label);\n };\n\n return (\n <div className=\"solid-field-selector-container\">\n <div className=\"solid-field-selector-header\">\n <p className=\"form-wrapper-heading\">Select Field Type</p>\n <p className=\"solid-field-selector-subheading\">Choose the data type you want to add to the model.</p>\n </div>\n <div className=\"solid-field-selector-grid\">\n {visibleFieldOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n className={`solid-field-selector-card ${selectedField === option.value ? \"is-active\" : \"\"}`}\n onClick={() => handleSelect(option)}\n >\n <div className=\"solid-field-selector-card-inner\">\n <span className={`solid-field-selector-icon solid-field-selector-icon-${option.tone}`}>\n <option.Icon size={18} strokeWidth={1.8} />\n </span>\n <div className=\"solid-field-selector-text\">\n <span className=\"solid-field-selector-title\">{option.label}</span>\n <span className=\"solid-field-selector-description\">{option.description}</span>\n </div>\n </div>\n </button>\n ))}\n </div>\n {requireExplicitContinue ? (\n <div className=\"mt-4 flex justify-end\">\n <SolidButton\n size=\"small\"\n leftIcon={<ArrowRight size={14} />}\n onClick={handleContinue}\n disabled={!selectedField}\n >\n {continueLabel}\n </SolidButton>\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default FieldSelector;\n"]}
@@ -1,5 +1,5 @@
1
1
 
2
- import { useState } from "react";
2
+ import { useEffect, useMemo, useState } from "react";
3
3
  import type { LucideIcon } from "lucide-react";
4
4
  import {
5
5
  AlignLeft,
@@ -22,11 +22,17 @@ import {
22
22
  Timer,
23
23
  ToggleLeft,
24
24
  Type,
25
+ ArrowRight,
25
26
  } from "lucide-react";
27
+ import { SolidButton } from "../../shad-cn-ui";
26
28
 
27
29
  type FieldSelectorProps = {
28
30
  handleTypeSelect: (value: string, label: string) => void;
29
31
  modelMetaData?: any;
32
+ availableFieldTypes?: string[];
33
+ initialSelectedValue?: string | null;
34
+ requireExplicitContinue?: boolean;
35
+ continueLabel?: string;
30
36
  };
31
37
 
32
38
  type FieldOption = {
@@ -83,12 +89,39 @@ const solidFieldOptions: FieldOption[] = [
83
89
  { label: "UUID", description: "Unique identifier", Icon: Fingerprint, value: "uuid", tone: fieldToneMap.uuid },
84
90
  ];
85
91
 
86
- const FieldSelector = ({ handleTypeSelect }: FieldSelectorProps) => {
87
- const [selectedField, setSelectedField] = useState<string | null>(null);
92
+ const FieldSelector = ({
93
+ handleTypeSelect,
94
+ availableFieldTypes,
95
+ initialSelectedValue = null,
96
+ requireExplicitContinue = false,
97
+ continueLabel = "Next",
98
+ }: FieldSelectorProps) => {
99
+ const [selectedField, setSelectedField] = useState<string | null>(initialSelectedValue);
100
+
101
+ useEffect(() => {
102
+ setSelectedField(initialSelectedValue);
103
+ }, [initialSelectedValue]);
104
+
105
+ const visibleFieldOptions = useMemo(() => {
106
+ if (!availableFieldTypes?.length) {
107
+ return solidFieldOptions;
108
+ }
109
+
110
+ const allowedTypes = new Set(availableFieldTypes);
111
+ return solidFieldOptions.filter((option) => allowedTypes.has(option.value));
112
+ }, [availableFieldTypes]);
88
113
 
89
114
  const handleSelect = (option: FieldOption) => {
90
115
  setSelectedField(option.value);
91
- handleTypeSelect(option.value, option.label);
116
+ if (!requireExplicitContinue) {
117
+ handleTypeSelect(option.value, option.label);
118
+ }
119
+ };
120
+
121
+ const handleContinue = () => {
122
+ const selectedOption = visibleFieldOptions.find((option) => option.value === selectedField);
123
+ if (!selectedOption) return;
124
+ handleTypeSelect(selectedOption.value, selectedOption.label);
92
125
  };
93
126
 
94
127
  return (
@@ -98,7 +131,7 @@ const FieldSelector = ({ handleTypeSelect }: FieldSelectorProps) => {
98
131
  <p className="solid-field-selector-subheading">Choose the data type you want to add to the model.</p>
99
132
  </div>
100
133
  <div className="solid-field-selector-grid">
101
- {solidFieldOptions.map((option) => (
134
+ {visibleFieldOptions.map((option) => (
102
135
  <button
103
136
  key={option.value}
104
137
  type="button"
@@ -117,6 +150,18 @@ const FieldSelector = ({ handleTypeSelect }: FieldSelectorProps) => {
117
150
  </button>
118
151
  ))}
119
152
  </div>
153
+ {requireExplicitContinue ? (
154
+ <div className="mt-4 flex justify-end">
155
+ <SolidButton
156
+ size="small"
157
+ leftIcon={<ArrowRight size={14} />}
158
+ onClick={handleContinue}
159
+ disabled={!selectedField}
160
+ >
161
+ {continueLabel}
162
+ </SolidButton>
163
+ </div>
164
+ ) : null}
120
165
  </div>
121
166
  );
122
167
  };
@@ -0,0 +1,3 @@
1
+ declare const DashboardHeader: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DashboardHeader;
3
+ //# sourceMappingURL=DashboardHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/DashboardHeader.tsx"],"names":[],"mappings":"AAKA,QAAA,MAAM,eAAe,+CAuFpB,CAAA;AACD,eAAe,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../shad-cn-ui";
4
+ import { SolidIcon, parseSolidIconMeta } from "../shad-cn-ui/SolidIcon";
5
+ var DashboardHeader = function () {
6
+ var _a = useState(false), menuOpen = _a[0], setMenuOpen = _a[1];
7
+ var items = [
8
+ {
9
+ label: 'Refresh',
10
+ icon: 'pi pi-refresh'
11
+ },
12
+ {
13
+ label: 'Export',
14
+ icon: 'pi pi-upload'
15
+ }
16
+ ];
17
+ return (_jsxs("div", { className: "flex justify-content-between align-items-center px-5 surface-0 border-bottom-1 surface-border relative lg:static", style: { height: "60px" }, children: [_jsxs("div", { className: "flex align-items-center", children: [_jsx(SolidButton, { label: "New", size: "sm", type: "submit", className: "small-button" }), _jsxs(SolidPopover, { open: menuOpen, onOpenChange: setMenuOpen, children: [_jsx(SolidPopoverTrigger, { asChild: true, children: _jsx(SolidButton, { type: "button", icon: "pi pi-cog", variant: "ghost", size: "sm", className: "ml-2" }) }), _jsx(SolidPopoverContent, { side: "bottom", align: "start", className: "solid-form-actions-popover", children: _jsx("div", { className: "solid-row-actions-menu", children: items.map(function (item) { return (_jsxs("button", { type: "button", className: "solid-row-action-button", onClick: function () { return setMenuOpen(false); }, children: [(function () { var m = parseSolidIconMeta(item.icon); return m ? _jsx(SolidIcon, { name: m.name, spin: m.spin, className: "solid-row-action-button-icon" }) : _jsx("i", { className: "".concat(item.icon, " solid-row-action-button-icon") }); })(), _jsx("span", { className: "solid-row-action-button-label", children: item.label })] }, item.label)); }) }) })] })] }), _jsxs("div", { className: "flex align-items-center", children: [_jsx("div", { className: "bgCircle", children: _jsxs("div", { style: { position: "relative" }, children: [_jsx(SolidIcon, { name: "si-bell" }), _jsx("span", { className: "topbar-badge" })] }) }), _jsx("div", { className: "bgCircle ml-3", children: _jsxs("div", { style: { position: "relative" }, children: [_jsx(SolidIcon, { name: "si-envelope" }), _jsx("span", { className: "topbar-badge" })] }) }), _jsxs("div", { className: "topbar-profile", children: [_jsxs("button", { className: "topbar-profile-button p-link", type: "button", children: [_jsx("img", { alt: "avatar", src: "/images/dashboard/Ellipse 1.svg" }), _jsxs("span", { className: "profile-details", children: [_jsx("span", { className: "profile-name", children: "Gene Russell" }), _jsx("span", { className: "profile-email", children: "ben95@example.com" })] }), _jsx(SolidIcon, { name: "si-angle-down" })] }), _jsx("ul", { className: "list-none p-3 m-0 border-round shadow-2 absolute surface-overlay origin-top w-full sm:w-12rem mt-2 right-0 top-auto hidden", children: _jsxs("li", { children: [_jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-user", className: "mr-3" }), _jsx("span", { children: "Profile" })] }), _jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-inbox", className: "mr-3" }), _jsx("span", { children: "Inbox" })] }), _jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-cog", className: "mr-3" }), _jsx("span", { children: "Settings" })] }), _jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-power-off", className: "mr-3" }), _jsx("span", { children: "Sign Out" })] })] }) })] })] })] }));
18
+ };
19
+ export default DashboardHeader;
20
+ //# sourceMappingURL=DashboardHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardHeader.js","sourceRoot":"","sources":["../../../src/components/layout/DashboardHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useState } from \"react\";\nimport { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../shad-cn-ui/SolidIcon\";\n\nconst DashboardHeader = () => {\n\n const [menuOpen, setMenuOpen] = useState(false);\n const items = [\n {\n label: 'Refresh',\n icon: 'pi pi-refresh'\n },\n {\n label: 'Export',\n icon: 'pi pi-upload'\n }\n ];\n\n return (\n <div className=\"flex justify-content-between align-items-center px-5 surface-0 border-bottom-1 surface-border relative lg:static\" style={{ height: \"60px\" }}>\n <div className=\"flex align-items-center\">\n <SolidButton label=\"New\" size=\"sm\" type=\"submit\" className=\"small-button\" />\n <SolidPopover open={menuOpen} onOpenChange={setMenuOpen}>\n <SolidPopoverTrigger asChild>\n <SolidButton\n type=\"button\"\n icon=\"pi pi-cog\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"ml-2\"\n />\n </SolidPopoverTrigger>\n <SolidPopoverContent side=\"bottom\" align=\"start\" className=\"solid-form-actions-popover\">\n <div className=\"solid-row-actions-menu\">\n {items.map((item) => (\n <button key={item.label} type=\"button\" className=\"solid-row-action-button\" onClick={() => setMenuOpen(false)}>\n {(() => { const m = parseSolidIconMeta(item.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${item.icon} solid-row-action-button-icon`} />; })()}\n <span className=\"solid-row-action-button-label\">{item.label}</span>\n </button>\n ))}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n </div>\n <div className=\"flex align-items-center\">\n <div className=\"bgCircle\">\n <div style={{ position: \"relative\" }}>\n <SolidIcon name=\"si-bell\" />\n <span className=\"topbar-badge\">\n </span>\n </div>\n </div>\n <div className=\"bgCircle ml-3\">\n <div style={{ position: \"relative\" }}>\n <SolidIcon name=\"si-envelope\" />\n <span className=\"topbar-badge\">\n </span>\n </div>\n </div>\n <div className=\"topbar-profile\">\n <button className=\"topbar-profile-button p-link\" type=\"button\">\n <img alt=\"avatar\" src=\"/images/dashboard/Ellipse 1.svg\" />\n <span className=\"profile-details\">\n <span className=\"profile-name\">Gene Russell</span>\n <span className=\"profile-email\">ben95@example.com</span>\n </span>\n <SolidIcon name=\"si-angle-down\" />\n </button>\n <ul className=\"list-none p-3 m-0 border-round shadow-2 absolute surface-overlay origin-top w-full sm:w-12rem mt-2 right-0 top-auto hidden\">\n <li>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-user\" className=\"mr-3\" />\n <span>Profile</span>\n </a>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-inbox\" className=\"mr-3\" />\n <span>Inbox</span></a>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-cog\" className=\"mr-3\" />\n <span>Settings</span>\n </a>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-power-off\" className=\"mr-3\" />\n <span>Sign Out</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n );\n}\nexport default DashboardHeader;\n"]}
@@ -0,0 +1,94 @@
1
+
2
+ import { useState } from "react";
3
+ import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../shad-cn-ui";
4
+ import { SolidIcon, parseSolidIconMeta } from "../shad-cn-ui/SolidIcon";
5
+
6
+ const DashboardHeader = () => {
7
+
8
+ const [menuOpen, setMenuOpen] = useState(false);
9
+ const items = [
10
+ {
11
+ label: 'Refresh',
12
+ icon: 'pi pi-refresh'
13
+ },
14
+ {
15
+ label: 'Export',
16
+ icon: 'pi pi-upload'
17
+ }
18
+ ];
19
+
20
+ return (
21
+ <div className="flex justify-content-between align-items-center px-5 surface-0 border-bottom-1 surface-border relative lg:static" style={{ height: "60px" }}>
22
+ <div className="flex align-items-center">
23
+ <SolidButton label="New" size="sm" type="submit" className="small-button" />
24
+ <SolidPopover open={menuOpen} onOpenChange={setMenuOpen}>
25
+ <SolidPopoverTrigger asChild>
26
+ <SolidButton
27
+ type="button"
28
+ icon="pi pi-cog"
29
+ variant="ghost"
30
+ size="sm"
31
+ className="ml-2"
32
+ />
33
+ </SolidPopoverTrigger>
34
+ <SolidPopoverContent side="bottom" align="start" className="solid-form-actions-popover">
35
+ <div className="solid-row-actions-menu">
36
+ {items.map((item) => (
37
+ <button key={item.label} type="button" className="solid-row-action-button" onClick={() => setMenuOpen(false)}>
38
+ {(() => { const m = parseSolidIconMeta(item.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className="solid-row-action-button-icon" /> : <i className={`${item.icon} solid-row-action-button-icon`} />; })()}
39
+ <span className="solid-row-action-button-label">{item.label}</span>
40
+ </button>
41
+ ))}
42
+ </div>
43
+ </SolidPopoverContent>
44
+ </SolidPopover>
45
+ </div>
46
+ <div className="flex align-items-center">
47
+ <div className="bgCircle">
48
+ <div style={{ position: "relative" }}>
49
+ <SolidIcon name="si-bell" />
50
+ <span className="topbar-badge">
51
+ </span>
52
+ </div>
53
+ </div>
54
+ <div className="bgCircle ml-3">
55
+ <div style={{ position: "relative" }}>
56
+ <SolidIcon name="si-envelope" />
57
+ <span className="topbar-badge">
58
+ </span>
59
+ </div>
60
+ </div>
61
+ <div className="topbar-profile">
62
+ <button className="topbar-profile-button p-link" type="button">
63
+ <img alt="avatar" src="/images/dashboard/Ellipse 1.svg" />
64
+ <span className="profile-details">
65
+ <span className="profile-name">Gene Russell</span>
66
+ <span className="profile-email">ben95@example.com</span>
67
+ </span>
68
+ <SolidIcon name="si-angle-down" />
69
+ </button>
70
+ <ul className="list-none p-3 m-0 border-round shadow-2 absolute surface-overlay origin-top w-full sm:w-12rem mt-2 right-0 top-auto hidden">
71
+ <li>
72
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
73
+ <SolidIcon name="si-user" className="mr-3" />
74
+ <span>Profile</span>
75
+ </a>
76
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
77
+ <SolidIcon name="si-inbox" className="mr-3" />
78
+ <span>Inbox</span></a>
79
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
80
+ <SolidIcon name="si-cog" className="mr-3" />
81
+ <span>Settings</span>
82
+ </a>
83
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
84
+ <SolidIcon name="si-power-off" className="mr-3" />
85
+ <span>Sign Out</span>
86
+ </a>
87
+ </li>
88
+ </ul>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ );
93
+ }
94
+ export default DashboardHeader;
@@ -12,7 +12,8 @@ type SolidSelectProps = {
12
12
  }) => void;
13
13
  id?: string;
14
14
  native?: boolean;
15
+ menuPlacement?: "auto" | "top" | "bottom";
15
16
  };
16
- export declare function SolidSelect({ value, options, optionLabel, optionValue, placeholder, className, disabled, onChange, id, native, }: SolidSelectProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function SolidSelect({ value, options, optionLabel, optionValue, placeholder, className, disabled, onChange, id, native, menuPlacement, }: SolidSelectProps): import("react/jsx-runtime").JSX.Element;
17
18
  export {};
18
19
  //# sourceMappingURL=SolidSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelect.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAMF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAY,EACZ,WAAqB,EACrB,WAAqB,EACrB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,MAAa,GACd,EAAE,gBAAgB,2CAiIlB"}
1
+ {"version":3,"file":"SolidSelect.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC3C,CAAC;AAMF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAY,EACZ,WAAqB,EACrB,WAAqB,EACrB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,MAAa,EACb,aAAsB,GACvB,EAAE,gBAAgB,2CA2IlB"}