@solidxai/core-ui 0.1.12-beta.0 → 0.1.12-beta.2

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/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +15 -19
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +26 -20
  5. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  6. package/dist/components/auth/SolidLogin.js +6 -3
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +16 -2
  9. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  10. package/dist/components/auth/SolidRegister.js +7 -4
  11. package/dist/components/auth/SolidRegister.js.map +1 -1
  12. package/dist/components/auth/SolidRegister.tsx +16 -2
  13. package/dist/components/common/BackButton.js +1 -1
  14. package/dist/components/common/BackButton.js.map +1 -1
  15. package/dist/components/common/BackButton.tsx +1 -1
  16. package/dist/components/common/CancelButton.js +1 -1
  17. package/dist/components/common/CancelButton.js.map +1 -1
  18. package/dist/components/common/CancelButton.tsx +1 -1
  19. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  20. package/dist/components/common/GeneralSettings.js +6 -33
  21. package/dist/components/common/GeneralSettings.js.map +1 -1
  22. package/dist/components/common/GeneralSettings.tsx +20 -57
  23. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  24. package/dist/components/common/SettingsComponent.js +1 -9
  25. package/dist/components/common/SettingsComponent.js.map +1 -1
  26. package/dist/components/common/SettingsComponent.tsx +1 -8
  27. package/dist/components/common/SolidBreadcrumb.js +1 -1
  28. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  29. package/dist/components/common/SolidBreadcrumb.tsx +2 -2
  30. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -1
  31. package/dist/components/common/SolidFaviconProvider.js +1 -8
  32. package/dist/components/common/SolidFaviconProvider.js.map +1 -1
  33. package/dist/components/common/SolidFaviconProvider.tsx +1 -7
  34. package/dist/components/common/SolidLoadingState.d.ts +10 -0
  35. package/dist/components/common/SolidLoadingState.d.ts.map +1 -0
  36. package/dist/components/common/SolidLoadingState.js +8 -0
  37. package/dist/components/common/SolidLoadingState.js.map +1 -0
  38. package/dist/components/common/SolidLoadingState.module.css +56 -0
  39. package/dist/components/common/SolidLoadingState.tsx +28 -0
  40. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  41. package/dist/components/core/card/CardItem.js +3 -4
  42. package/dist/components/core/card/CardItem.js.map +1 -1
  43. package/dist/components/core/card/CardItem.tsx +3 -4
  44. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  45. package/dist/components/core/card/SolidCardView.js +6 -1
  46. package/dist/components/core/card/SolidCardView.js.map +1 -1
  47. package/dist/components/core/card/SolidCardView.tsx +6 -1
  48. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  49. package/dist/components/core/card/SolidCardViewConfigure.js +4 -1
  50. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  51. package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -1
  52. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  53. package/dist/components/core/common/SolidCreateButton.js +2 -13
  54. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  55. package/dist/components/core/common/SolidCreateButton.tsx +2 -15
  56. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  57. package/dist/components/core/common/SolidGlobalSearchElement.js +34 -15
  58. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  59. package/dist/components/core/common/SolidGlobalSearchElement.tsx +37 -17
  60. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -13
  61. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  62. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
  63. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +6 -5
  64. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  65. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +1 -1
  66. package/dist/components/core/form/SolidFormFooter.d.ts +2 -1
  67. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  68. package/dist/components/core/form/SolidFormFooter.js +48 -14
  69. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  70. package/dist/components/core/form/SolidFormFooter.tsx +50 -4
  71. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  72. package/dist/components/core/form/SolidFormView.js +52 -50
  73. package/dist/components/core/form/SolidFormView.js.map +1 -1
  74. package/dist/components/core/form/SolidFormView.tsx +16 -9
  75. package/dist/components/core/json/SolidJsonEditor.css +195 -0
  76. package/dist/components/core/json/SolidJsonEditor.d.ts +19 -0
  77. package/dist/components/core/json/SolidJsonEditor.d.ts.map +1 -0
  78. package/dist/components/core/json/SolidJsonEditor.js +109 -0
  79. package/dist/components/core/json/SolidJsonEditor.js.map +1 -0
  80. package/dist/components/core/json/SolidJsonEditor.tsx +150 -0
  81. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  82. package/dist/components/core/kanban/KanbanCard.js +2 -10
  83. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  84. package/dist/components/core/kanban/KanbanCard.tsx +2 -10
  85. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  86. package/dist/components/core/kanban/SolidKanbanView.js +11 -4
  87. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  88. package/dist/components/core/kanban/SolidKanbanView.tsx +13 -5
  89. package/dist/components/core/list/SolidListView.d.ts +2 -0
  90. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  91. package/dist/components/core/list/SolidListView.js +195 -111
  92. package/dist/components/core/list/SolidListView.js.map +1 -1
  93. package/dist/components/core/list/SolidListView.tsx +136 -39
  94. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  95. package/dist/components/core/list/SolidListViewConfigure.js +2 -0
  96. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  97. package/dist/components/core/list/SolidListViewConfigure.tsx +2 -0
  98. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  99. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +16 -19
  100. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  101. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +16 -22
  102. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
  103. package/dist/components/core/locales/SolidChatterLocaleTabView.js +9 -8
  104. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  105. package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +4 -1
  106. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  107. package/dist/components/core/locales/SolidLocale.js +1 -2
  108. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  109. package/dist/components/core/locales/SolidLocale.tsx +1 -2
  110. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  111. package/dist/components/core/model/CreateModel.js +1 -1
  112. package/dist/components/core/model/CreateModel.js.map +1 -1
  113. package/dist/components/core/model/CreateModel.tsx +0 -1
  114. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  115. package/dist/components/core/model/ModelMetaData.js +1 -2
  116. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  117. package/dist/components/core/model/ModelMetaData.tsx +1 -3
  118. package/dist/components/core/module/CreateModule.css +70 -2
  119. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  120. package/dist/components/core/module/CreateModule.js +2 -2
  121. package/dist/components/core/module/CreateModule.js.map +1 -1
  122. package/dist/components/core/module/CreateModule.tsx +13 -1
  123. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  124. package/dist/components/core/tree/SolidTreeView.js +47 -26
  125. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  126. package/dist/components/core/tree/SolidTreeView.tsx +55 -23
  127. package/dist/components/layout/AdminTopHeader.js +2 -3
  128. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  129. package/dist/components/layout/AdminTopHeader.tsx +2 -2
  130. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  131. package/dist/components/layout/AppSidebar.js +5 -2
  132. package/dist/components/layout/AppSidebar.js.map +1 -1
  133. package/dist/components/layout/AppSidebar.tsx +7 -4
  134. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  135. package/dist/components/layout/navbar-two-menu.js +6 -4
  136. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  137. package/dist/components/layout/navbar-two-menu.tsx +4 -2
  138. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  139. package/dist/components/shad-cn-ui/SolidTabs.js +1 -1
  140. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  141. package/dist/components/shad-cn-ui/SolidTabs.tsx +1 -0
  142. package/dist/constants/error-messages.d.ts +1 -0
  143. package/dist/constants/error-messages.d.ts.map +1 -1
  144. package/dist/constants/error-messages.js +1 -0
  145. package/dist/constants/error-messages.js.map +1 -1
  146. package/dist/constants/error-messages.ts +1 -0
  147. package/dist/helpers/assetUrl.d.ts +3 -0
  148. package/dist/helpers/assetUrl.d.ts.map +1 -0
  149. package/dist/helpers/assetUrl.js +22 -0
  150. package/dist/helpers/assetUrl.js.map +1 -0
  151. package/dist/helpers/assetUrl.ts +26 -0
  152. package/dist/helpers/modelViewPersistence.d.ts +5 -0
  153. package/dist/helpers/modelViewPersistence.d.ts.map +1 -0
  154. package/dist/helpers/modelViewPersistence.js +168 -0
  155. package/dist/helpers/modelViewPersistence.js.map +1 -0
  156. package/dist/helpers/modelViewPersistence.ts +201 -0
  157. package/dist/helpers/routePaths.d.ts +6 -0
  158. package/dist/helpers/routePaths.d.ts.map +1 -1
  159. package/dist/helpers/routePaths.js +13 -0
  160. package/dist/helpers/routePaths.js.map +1 -1
  161. package/dist/helpers/routePaths.ts +25 -0
  162. package/dist/index.d.ts +3 -0
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +3 -0
  165. package/dist/index.js.map +1 -1
  166. package/dist/index.ts +14 -0
  167. package/dist/redux/api/datasourceIntrospectionApi.d.ts +203 -0
  168. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -0
  169. package/dist/redux/api/datasourceIntrospectionApi.js +71 -0
  170. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -0
  171. package/dist/redux/api/datasourceIntrospectionApi.ts +261 -0
  172. package/dist/redux/api/datasourceManagementApi.d.ts +46 -0
  173. package/dist/redux/api/datasourceManagementApi.d.ts.map +1 -0
  174. package/dist/redux/api/datasourceManagementApi.js +35 -0
  175. package/dist/redux/api/datasourceManagementApi.js.map +1 -0
  176. package/dist/redux/api/datasourceManagementApi.ts +86 -0
  177. package/dist/redux/api/solidServiceApi.d.ts +10 -2
  178. package/dist/redux/api/solidServiceApi.d.ts.map +1 -1
  179. package/dist/redux/api/solidServiceApi.js +2 -4
  180. package/dist/redux/api/solidServiceApi.js.map +1 -1
  181. package/dist/redux/api/solidServiceApi.ts +4 -6
  182. package/dist/redux/store/StoreProvider.d.ts.map +1 -1
  183. package/dist/redux/store/StoreProvider.js +4 -2
  184. package/dist/redux/store/StoreProvider.js.map +1 -1
  185. package/dist/redux/store/StoreProvider.tsx +9 -1
  186. package/dist/redux/store/defaultStoreConfig.d.ts +28 -1
  187. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  188. package/dist/redux/store/defaultStoreConfig.js +4 -0
  189. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  190. package/dist/redux/store/defaultStoreConfig.ts +4 -0
  191. package/dist/resources/solid-custom.css +73 -16
  192. package/dist/routes/guards/AdminGuard.d.ts.map +1 -1
  193. package/dist/routes/guards/AdminGuard.js +2 -1
  194. package/dist/routes/guards/AdminGuard.js.map +1 -1
  195. package/dist/routes/guards/AdminGuard.tsx +7 -1
  196. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  197. package/dist/routes/guards/AuthGuard.js +2 -1
  198. package/dist/routes/guards/AuthGuard.js.map +1 -1
  199. package/dist/routes/guards/AuthGuard.tsx +8 -2
  200. package/dist/routes/guards/GuestGuard.d.ts.map +1 -1
  201. package/dist/routes/guards/GuestGuard.js +2 -1
  202. package/dist/routes/guards/GuestGuard.js.map +1 -1
  203. package/dist/routes/guards/GuestGuard.tsx +8 -2
  204. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
  205. package/dist/routes/pages/admin/core/CardPage.js +11 -0
  206. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  207. package/dist/routes/pages/admin/core/CardPage.tsx +13 -0
  208. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  209. package/dist/routes/pages/admin/core/DashboardPage.js +7 -5
  210. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  211. package/dist/routes/pages/admin/core/DashboardPage.module.css +18 -0
  212. package/dist/routes/pages/admin/core/DashboardPage.tsx +50 -32
  213. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +828 -0
  214. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts +3 -0
  215. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -0
  216. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +947 -0
  217. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -0
  218. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1719 -0
  219. package/dist/routes/pages/admin/core/DatasourcesPage.css +337 -0
  220. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts +3 -0
  221. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -0
  222. package/dist/routes/pages/admin/core/DatasourcesPage.js +221 -0
  223. package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -0
  224. package/dist/routes/pages/admin/core/DatasourcesPage.tsx +540 -0
  225. package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
  226. package/dist/routes/pages/admin/core/KanbanPage.js +11 -0
  227. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  228. package/dist/routes/pages/admin/core/KanbanPage.tsx +13 -0
  229. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  230. package/dist/routes/pages/admin/core/ListPage.js +25 -2
  231. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  232. package/dist/routes/pages/admin/core/ListPage.tsx +29 -2
  233. package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -1
  234. package/dist/routes/pages/admin/core/TreePage.js +10 -2
  235. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  236. package/dist/routes/pages/admin/core/TreePage.tsx +11 -2
  237. package/dist/routes/solidRoutes.d.ts.map +1 -1
  238. package/dist/routes/solidRoutes.js +5 -1
  239. package/dist/routes/solidRoutes.js.map +1 -1
  240. package/dist/routes/solidRoutes.tsx +4 -0
  241. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ModelMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/ModelMetaData.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,MAAM,MAAM,uCAAuC,CAAC;AAE3D,IAAM,EAAE,GAAG;IAAC,eAA4E;SAA5E,UAA4E,EAA5E,qBAA4E,EAA5E,IAA4E;QAA5E,0BAA4E;;IACtF,IAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACjB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;SACR;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACvC,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,UAAC,EAA8I,EAAE,GAAG;IAEzL,iIAAiI;;QAFzF,aAAa,mBAAA,EAAE,gBAAgB,sBAAA,EAAE,cAAc,oBAAA,EAAE,mBAAmB,yBAAA,EAAE,OAAO,aAAA,EAAE,sBAAsB,4BAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA;IAI7K,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAA,KAA8F,sBAAsB,EAAE,EAArH,iBAAiB,QAAA,EAAE,UAAsE,EAA9D,UAAU,UAAA,EAAc,gBAAgB,gBAAA,EAAS,WAAW,WAA8B,CAAC;IACvH,IAAA,KAA0F,qBAAqB,EAAE,EAAhH,gBAAgB,QAAA,EAAE,UAAmE,EAA3D,SAAS,UAAA,EAAc,eAAe,gBAAA,EAAS,UAAU,WAA6B,CAAC;IAClH,IAAA,KAA4D,+BAA+B,CAAC,IAAI,CAAC,EAAzF,oBAAoB,UAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAA0C,CAAC;IAGxG,IAAM,aAAa,GAAG;QACpB,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC,CAAC,CAAC,EAAE;QAC9D,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE;QAC5D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE;QAC5D,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1D,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,CAAC,CAAC,CAAC,EAAE;QAClE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,CAAC,CAAC,IAAI;QAC1D,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QACxD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE;QAClD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,CAAC,CAAC,KAAK;QACzD,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE;QACtE,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI;QAC9E,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE;QAC9E,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE;QAC9E,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE;QACpD,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,0CAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QAClE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE;QAC5D,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAC,CAAC,CAAC,KAAK;QACnE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAC,CAAC,CAAC,KAAK;KACpE,CAAC;IAEI,IAAA,KAAoC,QAAQ,CAAM,KAAK,CAAC,EAAvD,aAAa,QAAA,EAAE,gBAAgB,QAAwB,CAAC;IACzD,IAAA,KAAwC,QAAQ,CAAM,KAAK,CAAC,EAA3D,eAAe,QAAA,EAAE,kBAAkB,QAAwB,CAAC;IAC7D,IAAA,KAAsC,QAAQ,CAAM,IAAI,CAAC,EAAxD,cAAc,QAAA,EAAE,iBAAiB,QAAuB,CAAC;IAGhE,SAAS,CAAC;QACR,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,gBAAgB,CAAC,IAAI,CAAC,CAAA;SACvB;QACD,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,EAAE;YAC1C,kBAAkB,CAAC,IAAI,CAAC,CAAA;SACzB;aACI,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAChD,kBAAkB,CAAC,KAAK,CAAC,CAAA;SAC1B;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,IAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;YACxB,YAAY;YACZ,0BAA0B;YAC1B,6DAA6D;YAC7D,IAAI;aACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAC1E,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC3D,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;YACtB,YAAY;YACZ,0BAA0B;YAC1B,6DAA6D;YAC7D,IAAI;aACH,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACzD,mGAAmG;QACnG,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACrF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC/E,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACxF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtE,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE;QACvB,gBAAgB,EAAE,GAAG,CAAC,OAAO,EAAE;QAC/B,mBAAmB,EAAE,GAAG,CAAC,OAAO,EAAE;QAClC,oBAAoB,EAAE,GAAG,CAAC,OAAO,EAAE;QACnC,oBAAoB,EAAE,GAAG,CAAC,OAAO,EAAE;QACnC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;QACtB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,OAAY,EAAE,MAAM;YAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAA;aACzE;iBAAM;gBACL,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;aACxC;QACH,CAAC,CAAC;QACF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,OAAY,EAAE,MAAM;YAC7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAA;aACtE;iBAAM;gBACL,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;aACxC;QACH,CAAC,CAAC;QACF,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE;QAC5B,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE;KAC7B,CAAC,CAAC;IAIH,IAAM,gBAAgB,GAAG,UAAC,MAAW,EAAE,SAAiB;QACtD,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAArD,CAAqD,CAAC;IAExD,IAAM,oBAAoB,GAAG,UAAC,SAAiB,EAAE,aAAsB;;QACrE,IAAM,MAAM,GAAG,MAAM,CAAC,MAA6B,CAAC;QACpD,IAAM,OAAO,GACX,MAAA,MAAA,MAAA,MAAM,CAAC,SAAS,CAAC,mCACjB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mCACnD,UAAU,CAAC,SAAS,CAAC,mCACrB,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG,UAAC,SAAiB,EAAE,aAAsB;QAC9D,OAAO,OAAO,CACZ,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC;YACjC,CAAC,aAAa,IAAI,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC1D,UAAU,CAAC,SAAS,CAAC;YACrB,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAC/C,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,gBAAgB,GAAG,UAAC,SAAiB,EAAE,aAAsB;QACjE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,IAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAE/D,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChF,OAAO,YAAG,SAAS,EAAE,MAAM,CAAC,UAAU,YAAG,SAAS,GAAK,CAAC;IAC1D,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG,SAAS,CAAC;QACvB,aAAa,eAAA;QACb,gBAAgB,kBAAA;QAChB,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,UAAO,MAAM;;;gBACf,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEpF,IAAI;oBACI,sDACD,aAAa,KAChB,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,SAAS,EACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EACzD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAC9D,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EACpE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EACtE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EACtE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KACzC,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI;wBAC5B,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;qBAChC,CAAC,KACF,aAAa,EAAE,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC3D,aAAa,EAAE,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAE5D,CAAC;oBACF,gBAAgB,CAAC,WAAS,CAAC,CAAC;oBAC5B,OAAO,EAAE,CAAA;iBAEV;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;iBACjD;;;aACF;KACF,CAAC,CAAC;IAEH,SAAS,iBAAiB,CAAC,UAAkB,EAAE,SAAiB;QAC9D,IAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,IAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,UAAG,mBAAmB,cAAI,kBAAkB,CAAE,CAAC;IACxD,CAAC;IAED,IAAM,SAAS,GAAG;;;;wBACD,qBAAM,MAAM,CAAC,YAAY,EAAE,EAAA;;oBAApC,MAAM,GAAG,SAA2B;oBACpC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;qBAC3I;;;;SACF,CAAC;IAGF,IAAM,YAAY,GAAG,UAAO,KAAU;;;;;;oBAE5B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACpB,SAAS,GAAG;wBAChB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE;4BACP,IAAI,EAAE;gCACJ,UAAU,EAAE,KAAK;6BAClB;yBACF;qBACF,CAAC;oBAEI,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;wBAC1C,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;oBAEY,qBAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAAtD,MAAM,GAAG,SAA6C;oBAE5D,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;wBACtB,iBAAiB,qBAAO,MAAM,CAAC,OAAO,OAAC,CAAC;wBAC9C,sBAAO,iBAAiB,EAAA;qBACzB;yBAAM;wBACL,sBAAO,EAAE,EAAA;qBACV;;;;oBAED,sBAAO,EAAE,EAAA;;;;SAEZ,CAAC;IAGF,IAAM,WAAW,GAAG,UAAO,KAAU;;;;;;oBAE3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACpB,SAAS,GAAG;wBAChB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE;4BACP,YAAY,EAAE;gCACZ,UAAU,EAAE,KAAK;6BAClB;yBACF;qBACF,CAAC;oBAEF,gCAAgC;oBAChC,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,EAAE;wBACvB,SAAS,CAAC,OAAe,CAAC,QAAQ,CAAC,GAAG;4BACrC,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE;yBAC1C,CAAC;qBACH;oBAGK,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;wBAC1C,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;oBAEY,qBAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAArD,MAAM,GAAG,SAA4C;oBAE3D,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;wBACtB,iBAAiB,qBAAO,MAAM,CAAC,OAAO,OAAC,CAAC;wBAC9C,sBAAO,iBAAiB,EAAA;qBACzB;yBAAM;wBACL,sBAAO,EAAE,EAAA;qBACV;;;;oBAED,sBAAO,EAAE,EAAA;;;;SAEZ,CAAC;IAGF,IAAM,gBAAgB,GAAG,UAAO,KAAU;;;YAClC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI;gBACI,aAAa,GAAQ,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAApD,CAAoD,CAAC,CAAC;gBACnI,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAhD,CAAgD,CAAC,CAAC;gBACxG,sBAAO,eAAe,EAAA;aACvB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACpD,sBAAO,EAAE,EAAA;aACV;;;SACF,CAAC;IAGF,IAAM,oBAAoB,GAAG,UAAO,KAAU;;;YACtC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI;gBAEI,aAAa,GAAQ,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAApD,CAAoD,CAAC,CAAC;gBACnI,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAlC,CAAkC,CAAC,CAAA;gBACzF,sBAAO,eAAe,EAAC;aACxB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACpD,sBAAO,EAAE,EAAC;aAEX;;;SACF,CAAC;IAGF,oBAAoB;IACpB,yBAAyB;IACzB,wDAAwD;IAExD,mFAAmF;IACnF,MAAM;IACN,sBAAsB;IAGtB,kDAAkD;IAClD,kDAAkD;IAClD,SAAS,CAAC;QACR,IAAI,sBAAsB,EAAE;YAC1B,sBAAsB,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,wCAAwC;SAClF;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAGrC,IAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC;QACR,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,kCAAkC;IAC9D,CAAC,CAAC,CAAC;IAGH,SAAS,CAAC;QACR,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAEnB,SAAS,CAAC;QACR,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnB,IAAM,WAAW,GAAG,yBAAyB,CAAC;QAC5C,MAAM,QAAA;QACN,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,YAAY;QACxB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;QAClC,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,UAAC,CAAM,IAAK,OAAA,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAA1B,CAA0B;KACzD,CAAC,CAAC;IAEH,IAAM,eAAe,GAAG,yBAAyB,CAAC;QAChD,MAAM,QAAA;QACN,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;QACtC,gBAAgB,EAAE,UAAC,CAAM,IAAK,OAAA,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAA3D,CAA2D;KAC1F,CAAC,CAAC;IAEH,IAAM,gBAAgB,GAAG,yBAAyB,CAAC;QACjD,MAAM,QAAA;QACN,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,eAAe;QAC5B,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,WAAW;QACvB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;QACvC,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,OAAO,CAEL,4BACE,eAAM,QAAQ,EAAE,MAAM,CAAC,YAAY,YACjC,cAAK,SAAS,EAAC,EAAE,YACf,eAAK,SAAS,EAAC,4BAA4B,aACzC,eAAK,SAAS,EAAC,yCAAyC,aACtD,MAAC,UAAU,IAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAC,oBAAoB,aAC9D,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,uBAE9C,EACR,cACE,SAAS,EAAE,EAAE,CACX,oCAAoC,EACpC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAClE,YAED,KAAC,iBAAiB,IAChB,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,KAAK,EAAE,WAAW,CAAC,YAAY,EAC/B,WAAW,EAAE,WAAW,CAAC,aAAa,EACtC,cAAc,EAAE,WAAW,CAAC,WAAW,EACvC,QAAQ,EAAE,WAAW,CAAC,YAAY,EAClC,QAAQ,QACR,KAAK,EAAC,aAAa,EACnB,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,IACnC,EAEN,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,YAAY,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,4BAEhD,EACR,cACE,SAAS,EAAE,EAAE,CACX,oCAAoC,EACpC,aAAa,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAC1D,YAED,KAAC,iBAAiB,IAChB,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,KAAK,EAAE,eAAe,CAAC,YAAY,EACnC,WAAW,EAAE,eAAe,CAAC,aAAa,EAC1C,cAAc,EAAE,eAAe,CAAC,WAAW,EAC3C,QAAQ,EAAE,eAAe,CAAC,YAAY,EACtC,QAAQ,QACR,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,CAC/B,aAAG,SAAS,EAAC,0BAA0B,mDACF,MAAM,CAAC,MAAM,CAAC,cAAc,iBAC7D,CACL,EACA,gBAAgB,CAAC,YAAY,CAAC,IAC3B,IACK,EAEb,MAAC,UAAU,IAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,sCAAsC,aACpF,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,aAAa,IACZ,IAAI,EAAC,kBAAkB,EACvB,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EACzC,QAAQ,EAAE,UAAC,KAAK;wDACd,MAAM,CAAC,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oDACxE,CAAC,EACD,KAAK,EAAC,oBAAoB,GAC1B,EACD,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,CACtB,YAAG,SAAS,EAAC,+BAA+B,+FAExC,CACL,EACA,gBAAgB,CAAC,kBAAkB,CAAC,IACjC,EAEN,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,aAAa,IACZ,IAAI,EAAC,SAAS,EACd,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAChC,QAAQ,EAAE,UAAC,KAAK;wDACd,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oDAC/D,CAAC,EACD,KAAK,EAAC,UAAU,GAChB,EACD,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,CACtB,YAAG,SAAS,EAAC,+BAA+B,wDAExC,CACL,EACA,gBAAgB,CAAC,SAAS,CAAC,IACxB,EAEL,eAAe,IAAI,CAClB,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,eAAe,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,6BAEnD,EACR,cACE,SAAS,EAAE,EAAE,CACX,oCAAoC,EACpC,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAC5E,YAED,KAAC,iBAAiB,IAChB,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,KAAK,EAAE,gBAAgB,CAAC,YAAY,EACpC,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAC3C,cAAc,EAAE,gBAAgB,CAAC,WAAW,EAC5C,QAAQ,EAAE,gBAAgB,CAAC,YAAY,EACvC,QAAQ,QACR,KAAK,EAAC,aAAa,EACnB,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,gBAAgB,CAAC,aAAa,EAAE,eAAe,CAAC,IAC7C,CACP,EAED,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,aAAa,IACZ,IAAI,EAAC,qBAAqB,EAC1B,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAC5C,QAAQ,EAAE,UAAC,KAAK;wDACd,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oDAC3E,CAAC,EACD,KAAK,EAAC,uBAAuB,GAC7B,EACD,gBAAgB,CAAC,qBAAqB,CAAC,IACpC,EAEN,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,aAAa,IACZ,IAAI,EAAC,sBAAsB,EAC3B,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAC7C,QAAQ,EAAE,UAAC,KAAK;oDACd,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gDAC5E,CAAC,EACD,KAAK,EAAC,iCAAiC,GACvC,GACE,EAEN,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,aAAa,IACZ,IAAI,EAAC,sBAAsB,EAC3B,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAC7C,QAAQ,EAAE,UAAC,KAAK;oDACd,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gDAC5E,CAAC,EACD,KAAK,EAAC,wBAAwB,GAC9B,GACE,EAEN,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,aAAa,IACZ,IAAI,EAAC,eAAe,EACpB,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EACtC,QAAQ,EAAE,UAAC,KAAK;oDACd,IAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;oDAC9C,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;oDACjD,IAAI,CAAC,SAAS,EAAE;wDACd,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;qDAC9C;gDACH,CAAC,EACD,KAAK,EAAC,iBAAiB,GACvB,GACE,EAEL,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,CAC9B,8BACE,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,aAAa,IACZ,IAAI,EAAC,eAAe,EACpB,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EACtC,QAAQ,EAAE,UAAC,KAAK;4DACd,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wDACrE,CAAC,EACD,KAAK,EAAC,iBAAiB,GACvB,GACE,EACN,YAAG,SAAS,EAAC,+BAA+B,2GAExC,IACH,CACJ,IACU,IACT,EACN,cAAK,SAAS,EAAC,yCAAyC,YACtD,MAAC,UAAU,IAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,oBAAoB,aAClE,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,aAAa,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,6BAEjD,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,aAAa,EAClB,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAChC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,QAAQ,EAAE,UAAC,CAAC;oDACV,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oDACjB,IAAA,KAAkD,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAApF,WAAW,iBAAA,EAAE,WAAW,iBAAA,EAAE,iBAAiB,uBAAyC,CAAC;oDAC7F,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE;wDACvB,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;wDAClD,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;wDACtD,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;qDAChD;gDACH,CAAC,GACD,EACD,gBAAgB,CAAC,aAAa,CAAC,IAC5B,EAEN,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,cAAc,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,8BAElD,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,cAAc,EACjB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EACjC,QAAQ,QACR,QAAQ,EAAE,MAAM,CAAC,YAAY,GAC7B,EACD,gBAAgB,CAAC,cAAc,CAAC,IAC7B,EAEN,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,YAAY,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,4BAEhD,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,YAAY,EACf,IAAI,EAAC,YAAY,EACjB,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,QAAQ,QACR,QAAQ,EAAE,MAAM,CAAC,YAAY,GAC7B,EACD,gBAAgB,CAAC,YAAY,CAAC,IAC3B,EAEN,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,WAAW,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,2BAE/C,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,WAAW,EAChB,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAC9B,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,GAC7B,EACD,gBAAgB,CAAC,WAAW,CAAC,IAC1B,EAEN,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAO,OAAO,EAAC,aAAa,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,4BAEjD,EACR,KAAC,aAAa,IACZ,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,aAAa,EAClB,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAChC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,GAC7B,EACD,gBAAgB,CAAC,aAAa,CAAC,IAC5B,IACK,GACT,IACF,GACF,GACD,GACN,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC","sourcesContent":["\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetModelsQuery } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { snakeCase } from \"lodash\";\nimport qs from \"qs\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport * as Yup from \"yup\";\nimport { SolidAutocomplete, SolidCheckbox, SolidInput, SolidPanel, SolidTextarea } from \"../../shad-cn-ui\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\nconst cx = (...parts: Array<string | false | null | undefined | Record<string, boolean>>) => {\n const classes: string[] = [];\n parts.forEach((part) => {\n if (!part) return;\n if (typeof part === \"string\") {\n classes.push(part);\n return;\n }\n Object.entries(part).forEach(([key, value]) => {\n if (value) classes.push(key);\n });\n });\n return classes.join(\" \");\n};\n\nconst ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, nextTab, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {\n\n // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => { \n\n const dispatch = useDispatch();\n\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n \n\n const initialValues = {\n singularName: modelMetaData ? modelMetaData?.singularName : \"\",\n pluralName: modelMetaData ? modelMetaData?.pluralName : \"\",\n displayName: modelMetaData ? modelMetaData?.displayName : \"\",\n description: modelMetaData ? modelMetaData?.description : \"\",\n dataSource: modelMetaData ? modelMetaData?.dataSource : \"\",\n dataSourceType: modelMetaData ? modelMetaData?.dataSourceType : \"\",\n tableName: modelMetaData ? modelMetaData?.tableName : null,\n moduleId: modelMetaData ? modelMetaData?.module?.id : \"\",\n module: modelMetaData ? modelMetaData?.module : \"\",\n isSystem: modelMetaData ? modelMetaData?.isSystem : false,\n enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : \"\",\n enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : true,\n internationalisation: modelMetaData ? modelMetaData?.internationalisation : \"\",\n draftPublishWorkflow: modelMetaData ? modelMetaData?.draftPublishWorkflow : \"\",\n isChild: modelMetaData ? modelMetaData?.isChild : \"\",\n parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : \"\",\n parentModel: modelMetaData ? modelMetaData?.parentModel : \"\",\n isLegacyTable: modelMetaData ? modelMetaData?.isLegacyTable : false,\n hasExistingId: modelMetaData ? modelMetaData?.hasExistingId : false,\n };\n\n const [showTableName, setShowTableName] = useState<any>(false);\n const [showParentModel, setShowParentModel] = useState<any>(false);\n const [selectedModule, setSelectedModule] = useState<any>(null);\n\n\n useEffect(() => {\n if (modelMetaData && modelMetaData.tableName) {\n setShowTableName(true)\n }\n if (modelMetaData && modelMetaData.isChild) {\n setShowParentModel(true)\n }\n else if (modelMetaData && !modelMetaData.isChild) {\n setShowParentModel(false)\n }\n }, [modelMetaData])\n\n const validationSchema = Yup.object({\n singularName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .notOneOf(allModelsNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Singular Name')),\n pluralName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Plural Name')),\n // tableName: Yup.string().required().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('Tabale')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Display Name\")),\n description: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Description Name\")),\n dataSource: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source\")),\n dataSourceType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source Type\")),\n moduleId: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module Id\")),\n module: Yup.object().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module\")),\n isSystem: Yup.boolean(),\n enableSoftDelete: Yup.boolean(),\n enableAuditTracking: Yup.boolean(),\n internationalisation: Yup.boolean(),\n draftPublishWorkflow: Yup.boolean(),\n isChild: Yup.boolean(),\n parentModelId: Yup.number().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model Id'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n parentModel: Yup.object().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n isLegacyTable: Yup.boolean(),\n hasExistingId: Yup.boolean(),\n });\n\n\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const getFieldErrorMessage = (fieldName: string, fallbackField?: string) => {\n const errors = formik.errors as Record<string, any>;\n const message =\n errors[fieldName] ??\n (fallbackField ? errors[fallbackField] : undefined) ??\n formErrors[fieldName] ??\n (fallbackField ? formErrors[fallbackField] : undefined);\n return message;\n };\n\n const fieldHasError = (fieldName: string, fallbackField?: string) => {\n return Boolean(\n isFormFieldValid(formik, fieldName) ||\n (fallbackField && isFormFieldValid(formik, fallbackField)) ||\n formErrors[fieldName] ||\n (fallbackField && formErrors[fallbackField])\n );\n };\n\n const renderFieldError = (fieldName: string, fallbackField?: string) => {\n if (!fieldHasError(fieldName, fallbackField)) {\n return null;\n }\n\n const message = getFieldErrorMessage(fieldName, fallbackField);\n\n if (!message) {\n return null;\n }\n\n const errorText = Array.isArray(message) ? message.join(\", \") : String(message);\n return <p className={styles.fieldError}>{errorText}</p>;\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n validateOnChange: true, // This ensures validation runs when a field value is changed\n enableReinitialize: true,\n innerRef: formikModelMetadataRef,\n onSubmit: async (values) => {\n const tableName = generateTableName(values.module.displayName, values.singularName);\n\n try {\n const modelData = {\n ...modelMetaData,\n singularName: values.singularName,\n pluralName: values.pluralName,\n displayName: values.displayName,\n description: values.description,\n dataSource: values.dataSource,\n dataSourceType: values.dataSourceType,\n tableName: values?.tableName || tableName,\n moduleId: values.moduleId,\n module: values.module,\n isSystem: values.isSystem ? values.isSystem === true : '',\n enableSoftDelete: values.enableSoftDelete === true ? true : '',\n enableAuditTracking: values.enableAuditTracking === true ? true : '',\n internationalisation: values.internationalisation === true ? true : '',\n draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '',\n isChild: values.isChild === true ? true : '',\n ...(values.isChild == true && {\n parentModelId: values.parentModelId,\n parentModel: values.parentModel,\n }),\n isLegacyTable: values.isLegacyTable === true ? true : false,\n hasExistingId: values.hasExistingId === true ? true : false,\n \n };\n setModelMetaData(modelData);\n nextTab()\n\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n });\n\n function generateTableName(moduleSlug: string, modelName: string): string {\n const snakeCaseModelName = snakeCase(modelName);\n const sankeCaseModuleName = snakeCase(moduleSlug);\n return `${sankeCaseModuleName}_${snakeCaseModelName}`;\n }\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n const searchModule = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n singularName: {\n $containsi: query,\n },\n },\n };\n\n // Add module filter dynamically\n if (selectedModule?.name) {\n (queryData.filters as any)[\"module\"] = {\n name: { $containsi: selectedModule.name },\n };\n }\n\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const serachDataSource = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.name.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.name, value: e.name, type: e.type }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n const serachDataSourceType = async (event: any) => {\n const query = event.query;\n try {\n\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.type.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.type, value: e.type }))\n return transformedData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return [];\n\n }\n };\n\n\n // useEffect(() => {\n // if (modelMetaData) {\n // setModelMetaData(modelMetaData.parentCategoryId);\n\n // // formik.setFieldValue(\"parentCategoryId\", modelMetaData.parentCategoryId);\n // }\n // }, [modelMetaData])\n\n\n // Set the formik reference to the formik instance\n // Set the formik reference to the formik instance\n useEffect(() => {\n if (formikModelMetadataRef) {\n formikModelMetadataRef.current = formik; // Assign the formik instance to the ref\n }\n }, [formik, formikModelMetadataRef]);\n\n\n const renderCount = useRef(0);\n\n useEffect(() => {\n renderCount.current += 1; // Increment count on every render\n });\n\n\n useEffect(() => {\n formik.validateForm();\n setModelMetaData(formik.values);\n\n }, [formik.values])\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const moduleField = useSolidAutocompleteField({\n formik,\n fieldName: \"module\",\n fieldNameId: \"moduleId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModule,\n existingData: formik.values.module,\n relationField: true,\n additionalAction: (e: any) => setSelectedModule(e.value),\n });\n\n const dataSourceField = useSolidAutocompleteField({\n formik,\n fieldName: \"dataSource\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: serachDataSource,\n existingData: formik.values.dataSource,\n additionalAction: (e: any) => formik.setFieldValue(\"dataSourceType\", e.target.value.type),\n });\n\n const parentModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"parentModel\",\n fieldNameId: \"parentModelId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModel,\n existingData: formik.values.parentModel,\n relationField: true,\n });\n\n return (\n\n <>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pr-4\">\n <SolidPanel header={\"Basic Info\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"moduleId\" className={styles.fieldLabel}>\n Module\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"module\", \"moduleId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={moduleField.selectedItem}\n suggestions={moduleField.filteredItems}\n completeMethod={moduleField.searchItems}\n onChange={moduleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"module\", \"moduleId\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"dataSource\" className={styles.fieldLabel}>\n Data Source\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"dataSource\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={dataSourceField.selectedItem}\n suggestions={dataSourceField.filteredItems}\n completeMethod={dataSourceField.searchItems}\n onChange={dataSourceField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {formik.values.dataSourceType && (\n <p className=\"form-field-label text-sm\">\n Your datasource will connect to a {formik.values.dataSourceType} database\n </p>\n )}\n {renderFieldError(\"dataSource\")}\n </div>\n </SolidPanel>\n\n <SolidPanel header={\"Configurations\"} className=\"solid-column-panel mt-3 mb-3 lg:mt-5\">\n <div className=\"mt-2\">\n <SolidCheckbox\n name=\"enableSoftDelete\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableSoftDelete}\n onChange={(event) => {\n formik.setFieldValue(\"enableSoftDelete\", event.currentTarget.checked);\n }}\n label=\"Enable Soft Delete\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Soft-delete can only be set during initial creation to maintain data integrity\n </p>\n )}\n {renderFieldError(\"enableSoftDelete\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isChild\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isChild}\n onChange={(event) => {\n formik.setFieldValue(\"isChild\", event.currentTarget.checked);\n }}\n label=\"Is Child\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Is Current Model child of another Model\n </p>\n )}\n {renderFieldError(\"isChild\")}\n </div>\n\n {showParentModel && (\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"parentModelId\" className={styles.fieldLabel}>\n Parent Model\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"parentModel\", \"parentModelId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={parentModelField.selectedItem}\n suggestions={parentModelField.filteredItems}\n completeMethod={parentModelField.searchItems}\n onChange={parentModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"parentModel\", \"parentModelId\")}\n </div>\n )}\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"enableAuditTracking\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableAuditTracking}\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n label=\"Enable Audit Tracking\"\n />\n {renderFieldError(\"enableAuditTracking\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"internationalisation\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.internationalisation}\n onChange={(event) => {\n formik.setFieldValue(\"internationalisation\", event.currentTarget.checked);\n }}\n label=\"Is Internationalisation Enabled\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"draftPublishWorkflow\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.draftPublishWorkflow}\n onChange={(event) => {\n formik.setFieldValue(\"draftPublishWorkflow\", event.currentTarget.checked);\n }}\n label=\"Draft/Publish Workflow\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isLegacyTable\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isLegacyTable}\n onChange={(event) => {\n const isChecked = event.currentTarget.checked;\n formik.setFieldValue(\"isLegacyTable\", isChecked);\n if (!isChecked) {\n formik.setFieldValue(\"hasExistingId\", false);\n }\n }}\n label=\"Is Legacy Table\"\n />\n </div>\n\n {formik.values.isLegacyTable && (\n <>\n <div className=\"ml-4 mt-2\">\n <SolidCheckbox\n name=\"hasExistingId\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.hasExistingId}\n onChange={(event) => {\n formik.setFieldValue(\"hasExistingId\", event.currentTarget.checked);\n }}\n label=\"Has existing Id\"\n />\n </div>\n <p className=\"form-field-label mt-2 text-sm\">\n Note: Legacy tables require at least one field marked as Primary Key during model creation\n </p>\n </>\n )}\n </SolidPanel>\n </div>\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pl-4\">\n <SolidPanel header={\"Basic Settings\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"displayName\" className={styles.fieldLabel}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"displayName\"\n name=\"displayName\"\n className={styles.fieldInput}\n value={formik.values.displayName}\n disabled={params.id !== \"new\"}\n onChange={(e) => {\n formik.handleChange(e);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n if (params.id === \"new\") {\n formik.setFieldValue(\"singularName\", toCamelCase);\n formik.setFieldValue(\"pluralName\", toPluralCamelCase);\n formik.setFieldValue(\"tableName\", toSnakeCase);\n }\n }}\n />\n {renderFieldError(\"displayName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"singularName\" className={styles.fieldLabel}>\n Singular Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"singularName\"\n name=\"singularName\"\n className={styles.fieldInput}\n value={formik.values.singularName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"singularName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"pluralName\" className={styles.fieldLabel}>\n Plural Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"pluralName\"\n name=\"pluralName\"\n className={styles.fieldInput}\n value={formik.values.pluralName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"pluralName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"tableName\" className={styles.fieldLabel}>\n Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"tableName\"\n name=\"tableName\"\n className={styles.fieldInput}\n value={formik.values.tableName}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"tableName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"description\" className={styles.fieldLabel}>\n Description\n </label>\n <SolidTextarea\n id=\"description\"\n name=\"description\"\n className={styles.fieldTextarea}\n value={formik.values.description}\n rows={5}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"description\")}\n </div>\n </SolidPanel>\n </div>\n </div>\n </div>\n </form>\n </>\n );\n});\n\nexport default ModelMetaData;\n"]}
1
+ {"version":3,"file":"ModelMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/ModelMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetModelsQuery } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { snakeCase } from \"lodash\";\nimport qs from \"qs\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport * as Yup from \"yup\";\nimport { SolidAutocomplete, SolidCheckbox, SolidInput, SolidPanel, SolidTextarea } from \"../../shad-cn-ui\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\nconst cx = (...parts: Array<string | false | null | undefined | Record<string, boolean>>) => {\n const classes: string[] = [];\n parts.forEach((part) => {\n if (!part) return;\n if (typeof part === \"string\") {\n classes.push(part);\n return;\n }\n Object.entries(part).forEach(([key, value]) => {\n if (value) classes.push(key);\n });\n });\n return classes.join(\" \");\n};\n\nconst ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {\n\n // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => { \n\n const dispatch = useDispatch();\n\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n \n\n const initialValues = {\n singularName: modelMetaData ? modelMetaData?.singularName : \"\",\n pluralName: modelMetaData ? modelMetaData?.pluralName : \"\",\n displayName: modelMetaData ? modelMetaData?.displayName : \"\",\n description: modelMetaData ? modelMetaData?.description : \"\",\n dataSource: modelMetaData ? modelMetaData?.dataSource : \"\",\n dataSourceType: modelMetaData ? modelMetaData?.dataSourceType : \"\",\n tableName: modelMetaData ? modelMetaData?.tableName : null,\n moduleId: modelMetaData ? modelMetaData?.module?.id : \"\",\n module: modelMetaData ? modelMetaData?.module : \"\",\n isSystem: modelMetaData ? modelMetaData?.isSystem : false,\n enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : \"\",\n enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : true,\n internationalisation: modelMetaData ? modelMetaData?.internationalisation : \"\",\n draftPublishWorkflow: modelMetaData ? modelMetaData?.draftPublishWorkflow : \"\",\n isChild: modelMetaData ? modelMetaData?.isChild : \"\",\n parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : \"\",\n parentModel: modelMetaData ? modelMetaData?.parentModel : \"\",\n isLegacyTable: modelMetaData ? modelMetaData?.isLegacyTable : false,\n hasExistingId: modelMetaData ? modelMetaData?.hasExistingId : false,\n };\n\n const [showTableName, setShowTableName] = useState<any>(false);\n const [showParentModel, setShowParentModel] = useState<any>(false);\n const [selectedModule, setSelectedModule] = useState<any>(null);\n\n\n useEffect(() => {\n if (modelMetaData && modelMetaData.tableName) {\n setShowTableName(true)\n }\n if (modelMetaData && modelMetaData.isChild) {\n setShowParentModel(true)\n }\n else if (modelMetaData && !modelMetaData.isChild) {\n setShowParentModel(false)\n }\n }, [modelMetaData])\n\n const validationSchema = Yup.object({\n singularName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .notOneOf(allModelsNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Singular Name')),\n pluralName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Plural Name')),\n // tableName: Yup.string().required().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('Tabale')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Display Name\")),\n description: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Description Name\")),\n dataSource: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source\")),\n dataSourceType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source Type\")),\n moduleId: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module Id\")),\n module: Yup.object().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module\")),\n isSystem: Yup.boolean(),\n enableSoftDelete: Yup.boolean(),\n enableAuditTracking: Yup.boolean(),\n internationalisation: Yup.boolean(),\n draftPublishWorkflow: Yup.boolean(),\n isChild: Yup.boolean(),\n parentModelId: Yup.number().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model Id'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n parentModel: Yup.object().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n isLegacyTable: Yup.boolean(),\n hasExistingId: Yup.boolean(),\n });\n\n\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const getFieldErrorMessage = (fieldName: string, fallbackField?: string) => {\n const errors = formik.errors as Record<string, any>;\n const message =\n errors[fieldName] ??\n (fallbackField ? errors[fallbackField] : undefined) ??\n formErrors[fieldName] ??\n (fallbackField ? formErrors[fallbackField] : undefined);\n return message;\n };\n\n const fieldHasError = (fieldName: string, fallbackField?: string) => {\n return Boolean(\n isFormFieldValid(formik, fieldName) ||\n (fallbackField && isFormFieldValid(formik, fallbackField)) ||\n formErrors[fieldName] ||\n (fallbackField && formErrors[fallbackField])\n );\n };\n\n const renderFieldError = (fieldName: string, fallbackField?: string) => {\n if (!fieldHasError(fieldName, fallbackField)) {\n return null;\n }\n\n const message = getFieldErrorMessage(fieldName, fallbackField);\n\n if (!message) {\n return null;\n }\n\n const errorText = Array.isArray(message) ? message.join(\", \") : String(message);\n return <p className={styles.fieldError}>{errorText}</p>;\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n validateOnChange: true, // This ensures validation runs when a field value is changed\n enableReinitialize: true,\n innerRef: formikModelMetadataRef,\n onSubmit: async (values) => {\n const tableName = generateTableName(values.module.displayName, values.singularName);\n\n try {\n const modelData = {\n ...modelMetaData,\n singularName: values.singularName,\n pluralName: values.pluralName,\n displayName: values.displayName,\n description: values.description,\n dataSource: values.dataSource,\n dataSourceType: values.dataSourceType,\n tableName: values?.tableName || tableName,\n moduleId: values.moduleId,\n module: values.module,\n isSystem: values.isSystem ? values.isSystem === true : '',\n enableSoftDelete: values.enableSoftDelete === true ? true : '',\n enableAuditTracking: values.enableAuditTracking === true ? true : '',\n internationalisation: values.internationalisation === true ? true : '',\n draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '',\n isChild: values.isChild === true ? true : '',\n ...(values.isChild == true && {\n parentModelId: values.parentModelId,\n parentModel: values.parentModel,\n }),\n isLegacyTable: values.isLegacyTable === true ? true : false,\n hasExistingId: values.hasExistingId === true ? true : false,\n \n };\n setModelMetaData(modelData);\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n });\n\n function generateTableName(moduleSlug: string, modelName: string): string {\n const snakeCaseModelName = snakeCase(modelName);\n const sankeCaseModuleName = snakeCase(moduleSlug);\n return `${sankeCaseModuleName}_${snakeCaseModelName}`;\n }\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n const searchModule = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n singularName: {\n $containsi: query,\n },\n },\n };\n\n // Add module filter dynamically\n if (selectedModule?.name) {\n (queryData.filters as any)[\"module\"] = {\n name: { $containsi: selectedModule.name },\n };\n }\n\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const serachDataSource = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.name.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.name, value: e.name, type: e.type }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n const serachDataSourceType = async (event: any) => {\n const query = event.query;\n try {\n\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.type.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.type, value: e.type }))\n return transformedData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return [];\n\n }\n };\n\n\n // useEffect(() => {\n // if (modelMetaData) {\n // setModelMetaData(modelMetaData.parentCategoryId);\n\n // // formik.setFieldValue(\"parentCategoryId\", modelMetaData.parentCategoryId);\n // }\n // }, [modelMetaData])\n\n\n // Set the formik reference to the formik instance\n // Set the formik reference to the formik instance\n useEffect(() => {\n if (formikModelMetadataRef) {\n formikModelMetadataRef.current = formik; // Assign the formik instance to the ref\n }\n }, [formik, formikModelMetadataRef]);\n\n\n const renderCount = useRef(0);\n\n useEffect(() => {\n renderCount.current += 1; // Increment count on every render\n });\n\n\n useEffect(() => {\n formik.validateForm();\n setModelMetaData(formik.values);\n\n }, [formik.values])\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const moduleField = useSolidAutocompleteField({\n formik,\n fieldName: \"module\",\n fieldNameId: \"moduleId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModule,\n existingData: formik.values.module,\n relationField: true,\n additionalAction: (e: any) => setSelectedModule(e.value),\n });\n\n const dataSourceField = useSolidAutocompleteField({\n formik,\n fieldName: \"dataSource\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: serachDataSource,\n existingData: formik.values.dataSource,\n additionalAction: (e: any) => formik.setFieldValue(\"dataSourceType\", e.target.value.type),\n });\n\n const parentModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"parentModel\",\n fieldNameId: \"parentModelId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModel,\n existingData: formik.values.parentModel,\n relationField: true,\n });\n\n return (\n\n <>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pr-4\">\n <SolidPanel header={\"Basic Info\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"moduleId\" className={styles.fieldLabel}>\n Module\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"module\", \"moduleId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={moduleField.selectedItem}\n suggestions={moduleField.filteredItems}\n completeMethod={moduleField.searchItems}\n onChange={moduleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"module\", \"moduleId\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"dataSource\" className={styles.fieldLabel}>\n Data Source\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"dataSource\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={dataSourceField.selectedItem}\n suggestions={dataSourceField.filteredItems}\n completeMethod={dataSourceField.searchItems}\n onChange={dataSourceField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {formik.values.dataSourceType && (\n <p className=\"form-field-label text-sm\">\n Your datasource will connect to a {formik.values.dataSourceType} database\n </p>\n )}\n {renderFieldError(\"dataSource\")}\n </div>\n </SolidPanel>\n\n <SolidPanel header={\"Configurations\"} className=\"solid-column-panel mt-3 mb-3 lg:mt-5\">\n <div className=\"mt-2\">\n <SolidCheckbox\n name=\"enableSoftDelete\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableSoftDelete}\n onChange={(event) => {\n formik.setFieldValue(\"enableSoftDelete\", event.currentTarget.checked);\n }}\n label=\"Enable Soft Delete\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Soft-delete can only be set during initial creation to maintain data integrity\n </p>\n )}\n {renderFieldError(\"enableSoftDelete\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isChild\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isChild}\n onChange={(event) => {\n formik.setFieldValue(\"isChild\", event.currentTarget.checked);\n }}\n label=\"Is Child\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Is Current Model child of another Model\n </p>\n )}\n {renderFieldError(\"isChild\")}\n </div>\n\n {showParentModel && (\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"parentModelId\" className={styles.fieldLabel}>\n Parent Model\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"parentModel\", \"parentModelId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={parentModelField.selectedItem}\n suggestions={parentModelField.filteredItems}\n completeMethod={parentModelField.searchItems}\n onChange={parentModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"parentModel\", \"parentModelId\")}\n </div>\n )}\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"enableAuditTracking\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableAuditTracking}\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n label=\"Enable Audit Tracking\"\n />\n {renderFieldError(\"enableAuditTracking\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"internationalisation\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.internationalisation}\n onChange={(event) => {\n formik.setFieldValue(\"internationalisation\", event.currentTarget.checked);\n }}\n label=\"Is Internationalisation Enabled\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"draftPublishWorkflow\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.draftPublishWorkflow}\n onChange={(event) => {\n formik.setFieldValue(\"draftPublishWorkflow\", event.currentTarget.checked);\n }}\n label=\"Draft/Publish Workflow\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isLegacyTable\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isLegacyTable}\n onChange={(event) => {\n const isChecked = event.currentTarget.checked;\n formik.setFieldValue(\"isLegacyTable\", isChecked);\n if (!isChecked) {\n formik.setFieldValue(\"hasExistingId\", false);\n }\n }}\n label=\"Is Legacy Table\"\n />\n </div>\n\n {formik.values.isLegacyTable && (\n <>\n <div className=\"ml-4 mt-2\">\n <SolidCheckbox\n name=\"hasExistingId\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.hasExistingId}\n onChange={(event) => {\n formik.setFieldValue(\"hasExistingId\", event.currentTarget.checked);\n }}\n label=\"Has existing Id\"\n />\n </div>\n <p className=\"form-field-label mt-2 text-sm\">\n Note: Legacy tables require at least one field marked as Primary Key during model creation\n </p>\n </>\n )}\n </SolidPanel>\n </div>\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pl-4\">\n <SolidPanel header={\"Basic Settings\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"displayName\" className={styles.fieldLabel}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"displayName\"\n name=\"displayName\"\n className={styles.fieldInput}\n value={formik.values.displayName}\n disabled={params.id !== \"new\"}\n onChange={(e) => {\n formik.handleChange(e);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n if (params.id === \"new\") {\n formik.setFieldValue(\"singularName\", toCamelCase);\n formik.setFieldValue(\"pluralName\", toPluralCamelCase);\n formik.setFieldValue(\"tableName\", toSnakeCase);\n }\n }}\n />\n {renderFieldError(\"displayName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"singularName\" className={styles.fieldLabel}>\n Singular Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"singularName\"\n name=\"singularName\"\n className={styles.fieldInput}\n value={formik.values.singularName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"singularName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"pluralName\" className={styles.fieldLabel}>\n Plural Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"pluralName\"\n name=\"pluralName\"\n className={styles.fieldInput}\n value={formik.values.pluralName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"pluralName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"tableName\" className={styles.fieldLabel}>\n Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"tableName\"\n name=\"tableName\"\n className={styles.fieldInput}\n value={formik.values.tableName}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"tableName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"description\" className={styles.fieldLabel}>\n Description\n </label>\n <SolidTextarea\n id=\"description\"\n name=\"description\"\n className={styles.fieldTextarea}\n value={formik.values.description}\n rows={5}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"description\")}\n </div>\n </SolidPanel>\n </div>\n </div>\n </div>\n </form>\n </>\n );\n});\n\nexport default ModelMetaData;\n"]}
@@ -30,7 +30,7 @@ const cx = (...parts: Array<string | false | null | undefined | Record<string, b
30
30
  return classes.join(" ");
31
31
  };
32
32
 
33
- const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, nextTab, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {
33
+ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {
34
34
 
35
35
  // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => {
36
36
 
@@ -200,8 +200,6 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
200
200
 
201
201
  };
202
202
  setModelMetaData(modelData);
203
- nextTab()
204
-
205
203
  } catch (err) {
206
204
  console.error(ERROR_MESSAGES.CREATE_MODEL, err);
207
205
  }
@@ -1,7 +1,13 @@
1
1
  .solid-module-form-workspace {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- gap: 0.25rem;
4
+ gap: 0;
5
+ }
6
+
7
+ .solid-module-workspace-header {
8
+ padding: 0.55rem 0.9rem 0.2rem;
9
+ background: transparent;
10
+ border-bottom: none;
5
11
  }
6
12
 
7
13
  .solid-module-form-workspace .solid-module-form-tabs {
@@ -12,10 +18,16 @@
12
18
 
13
19
  .solid-module-form-workspace .solid-module-form-tablist {
14
20
  width: 100% !important;
15
- padding: 0 0.25rem;
21
+ padding: 0 0.35rem;
16
22
  border-bottom: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
17
23
  }
18
24
 
25
+ .solid-module-form-tab-extra {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ padding-right: 0.35rem;
29
+ }
30
+
19
31
  .solid-module-form-workspace .solid-module-form-tabpanel {
20
32
  padding-top: 0.65rem;
21
33
  }
@@ -31,6 +43,14 @@
31
43
  padding: 0.9rem 0.95rem 0.8rem;
32
44
  }
33
45
 
46
+ .solid-module-workspace-header .solid-form-toolbar-left {
47
+ min-height: 0;
48
+ }
49
+
50
+ .solid-module-workspace-header .solid-form-toolbar-actions {
51
+ flex: 0 0 auto;
52
+ }
53
+
34
54
  .solid-module-general-info-content.is-tabbed {
35
55
  padding: 0 0.9rem 1rem;
36
56
  }
@@ -42,3 +62,51 @@
42
62
  gap: 0.5rem;
43
63
  margin-bottom: 0.75rem;
44
64
  }
65
+
66
+ .solid-module-upload-card {
67
+ margin: 1rem 0 0;
68
+ padding: 0.9rem 1rem;
69
+ border-color: color-mix(in srgb, var(--border, #d6dae5) 90%, transparent);
70
+ background: color-mix(in srgb, var(--card, #ffffff) 94%, var(--background, #f8fafc) 6%);
71
+ }
72
+
73
+ .solid-module-upload-row {
74
+ display: flex;
75
+ align-items: flex-start;
76
+ gap: 0.8rem;
77
+ }
78
+
79
+ .solid-module-upload-copy {
80
+ flex: 1;
81
+ min-width: 0;
82
+ display: flex;
83
+ flex-direction: column;
84
+ gap: 0.35rem;
85
+ }
86
+
87
+ .solid-module-upload-header {
88
+ display: flex;
89
+ align-items: flex-start;
90
+ justify-content: space-between;
91
+ gap: 0.75rem;
92
+ }
93
+
94
+ .solid-module-upload-name {
95
+ min-width: 0;
96
+ line-height: 1.35;
97
+ }
98
+
99
+ .solid-module-upload-remove {
100
+ flex: 0 0 auto;
101
+ margin-top: 0.1rem;
102
+ }
103
+
104
+ .solid-module-upload-status {
105
+ display: flex;
106
+ flex-wrap: wrap;
107
+ align-items: center;
108
+ gap: 0.45rem;
109
+ color: color-mix(in srgb, var(--foreground, #111827) 78%, var(--muted-foreground, #6b7280));
110
+ font-size: 0.875rem;
111
+ line-height: 1.4;
112
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"CreateModule.d.ts","sourceRoot":"","sources":["../../../../src/components/core/module/CreateModule.tsx"],"names":[],"mappings":"AA+BA,OAAO,oBAAoB,CAAC;AAK5B,QAAA,MAAM,YAAY,qBAAsB,GAAG,4CAogB1C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"CreateModule.d.ts","sourceRoot":"","sources":["../../../../src/components/core/module/CreateModule.tsx"],"names":[],"mappings":"AA+BA,OAAO,oBAAoB,CAAC;AAK5B,QAAA,MAAM,YAAY,qBAAsB,GAAG,4CAghB1C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -306,8 +306,8 @@ var CreateModule = function (_a) {
306
306
  if (pathname.includes('new')) {
307
307
  formik.setFieldValue("name", toKebabCase);
308
308
  }
309
- }, value: formik.values.displayName, className: styles.fieldInput }), isFormFieldValid(formik, "displayName") && (_jsx("p", { className: styles.fieldError, children: (_c = (_b = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _b === void 0 ? void 0 : _b.displayName) === null || _c === void 0 ? void 0 : _c.toString() }))] }) }), _jsx("div", { className: "field w-full px-2 pt-2 lg:w-1/2", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsxs("label", { htmlFor: "name", className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Name ", _jsx("span", { className: "text-red-500", children: "*" })] }), _jsx(SolidInput, { disabled: true, type: "text", id: "name", name: "name", onChange: formik.handleChange, value: formik.values.name, className: styles.fieldInput }), isFormFieldValid(formik, "name") && (_jsx("p", { className: styles.fieldError, children: (_e = (_d = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _d === void 0 ? void 0 : _d.name) === null || _e === void 0 ? void 0 : _e.toString() }))] }) })] }), _jsxs("div", { className: "mt-4 flex flex-wrap -mx-2 -mt-2", children: [_jsx("div", { className: "field w-full px-2 pt-2 pb-3 lg:w-1/2 lg:pb-0", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsx("label", { htmlFor: "menuSequenceNumber", className: "".concat(styles.fieldLabel, " form-field-label"), children: "Menu Sequence Number" }), _jsx(SolidInput, { id: "menuSequenceNumber", type: "number", onChange: formik.handleChange, min: 0, value: formik.values.menuSequenceNumber, className: styles.fieldInput }), isFormFieldValid(formik, "menuSequenceNumber") && (_jsx("p", { className: styles.fieldError, children: (_g = (_f = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _f === void 0 ? void 0 : _f.menuSequenceNumber) === null || _g === void 0 ? void 0 : _g.toString() }))] }) }), _jsx("div", { className: "field w-full px-2 pt-2 lg:w-1/2", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsxs("label", { htmlFor: "description", className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Description ", _jsx("span", { className: "text-red-500", children: "*" })] }), _jsx(SolidTextarea, { id: "description", name: "description", onChange: formik.handleChange, value: formik.values.description, className: styles.fieldTextarea, rows: 5, cols: 30 }), isFormFieldValid(formik, "description") && (_jsx("p", { className: styles.fieldError, children: (_j = (_h = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _h === void 0 ? void 0 : _h.description) === null || _j === void 0 ? void 0 : _j.toString() }))] }) })] })] }), _jsx(SolidPanel, { header: "Configurations", className: "solid-column-panel mt-4", children: _jsxs("div", { className: "mt-3 flex flex-wrap -mx-2 -mt-2", children: [_jsx("div", { className: "field w-full px-2 pt-2 pb-3 lg:w-1/2 lg:pb-0", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsx("label", { htmlFor: "defaultDataSource", className: "".concat(styles.fieldLabel, " form-field-label"), children: "Default Data Source" }), _jsx("div", { className: "solid-standard-autocomplete w-full", children: _jsx(SolidAutocomplete, { disabled: !!data, value: defaultDataSourceField.selectedItem, suggestions: defaultDataSourceField.filteredItems, completeMethod: defaultDataSourceField.searchItems, onChange: defaultDataSourceField.handleChange, dropdown: true, field: "label", className: "w-full" }) }), isFormFieldValid(formik, "defaultDataSource") && (_jsx("p", { className: styles.fieldError, children: (_l = (_k = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _k === void 0 ? void 0 : _k.defaultDataSource) === null || _l === void 0 ? void 0 : _l.toString() }))] }) }), _jsx("div", { className: "field w-full px-2 pt-2 lg:w-1/2", children: _jsxs("div", { className: "".concat(styles.fieldWrapper, " relative"), children: [_jsxs("label", { htmlFor: "menuIconUrl", className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Menu Icon ", _jsx("small", { className: "text-red-500 helper-text", children: "(only svg, png and jpeg are allowed)" })] }), _jsxs("div", __assign({}, getRootPropsmenuIcon(), { className: "solid-dropzone-wrapper", children: [_jsx("input", __assign({}, getInputPropsmenuIcon())), _jsx(DropzonePlaceholder, {})] })), isFormFieldValid(formik, "menuIconUrl") && (_jsx(SolidMessage, { severity: "error", text: (_o = (_m = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _m === void 0 ? void 0 : _m.menuIconUrl) === null || _o === void 0 ? void 0 : _o.toString(), className: "mt-2" })), fileDetails && (_jsxs("div", { className: "solid-file-upload-wrapper mt-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FileReaderExt, { fileDetails: fileDetails }), _jsxs("div", { className: "flex w-full flex-col gap-1", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "font-bold solid-module-mobile-text-wrapper", children: fileDetails.name }), _jsx("button", { type: "button", className: "solid-file-icon-btn is-danger", onClick: handleCancelUpload, children: _jsx(SolidIcon, { name: "si-times", "aria-hidden": true }) })] }), uploadCompleted ? (_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [totalSize, " of ", totalSize, _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "4", height: "4", viewBox: "0 0 4 4", fill: "none", children: _jsx("circle", { cx: "2", cy: "2", r: "2", fill: "#C1C1C1" }) }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("mask", { id: "mask0_2480_8635", style: { maskType: 'alpha' }, maskUnits: "userSpaceOnUse", x: "0", y: "0", width: "20", height: "20", children: _jsx("rect", { width: "20", height: "20", fill: "#D9D9D9" }) }), _jsx("g", { mask: "url(#mask0_2480_8635)", children: _jsx("path", { d: "M9.16 12.76L13.39 8.53L12.55 7.69L9.16 11.08L7.45 9.37L6.61 10.21L9.16 12.76ZM10 16C9.17 16 8.39 15.8424 7.66 15.5272C6.93 15.2124 6.295 14.785 5.755 14.245C5.215 13.705 4.7876 13.07 4.4728 12.34C4.1576 11.61 4 10.83 4 10C4 9.17 4.1576 8.39 4.4728 7.66C4.7876 6.93 5.215 5.215 5.755 5.755C6.295 5.215 6.93 4.7874 7.66 4.4722C8.39 4.1574 9.17 4 10 4C10.83 4 11.61 4.1574 12.34 4.4722C13.07 4.7874 13.705 5.215 14.245 5.755C14.785 6.295 15.2124 6.93 15.5272 7.66C15.8424 8.39 16 9.17 16 10C16 10.83 15.8424 11.61 15.5272 12.34C15.2124 13.07 14.785 13.705 14.245 14.245C13.705 14.785 13.07 15.2124 12.34 15.5272C11.61 15.8424 10.83 16 10 16Z", fill: "var(--primary-color, var(--primary))" }) })] }), "Completed"] })) : (_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [uploadedSize, " of ", totalSize, _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "4", height: "4", viewBox: "0 0 4 4", fill: "none", children: _jsx("circle", { cx: "2", cy: "2", r: "2", fill: "#C1C1C1" }) }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M7.375 10.5V5.40625L5.75 7.03125L4.875 6.125L8 3L11.125 6.125L10.25 7.03125L8.625 5.40625V10.5H7.375ZM4.25 13C3.90625 13 3.61198 12.8776 3.36719 12.6328C3.1224 12.388 3 12.0938 3 11.75V9.875H4.25V11.75H11.75V9.875H13V11.75C13 12.0938 12.8776 12.388 12.6328 12.6328C12.388 12.8776 12.0938 13 11.75 13H4.25Z", fill: "black" }) }), "Uploading $", uploadProgress, "% Completed"] }))] })] }), _jsx(SolidProgressBar, { value: uploadProgress, showValue: false, style: { height: 4 }, className: "mt-2" })] }))] }) })] }) })] }) }), _jsx(SolidFormFooter, { params: params })] }));
310
- return (_jsx("div", { className: "solid-form-wrapper", children: _jsxs("div", { className: "solid-form-section", style: { borderRight: params.embeded !== true ? '1px solid var(--primary-light-color)' : '' }, children: [isCreateMode && (_jsxs("div", { className: "solid-form-header flex flex-wrap items-center justify-between gap-3", children: [_jsx("div", { className: "flex flex-col gap-1" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SolidButton, { variant: "outline", size: "sm", type: "button", onClick: handleCancel, className: "bg-[var(--primary-color-text)]", children: "Cancel" }), shouldShowGeneralSave && formik.dirty && (_jsx(SolidButton, { size: "sm", type: "submit", form: "module-general-info-form", onClick: function () { return showError(); }, children: "Save" }))] })] })), isCreateMode ? (generalInfoContent) : (_jsx("div", { className: "solid-module-form-workspace", children: _jsx(SolidTabGroup, { value: activeWorkspaceTab, onValueChange: setActiveWorkspaceTab, className: "solid-module-form-tabs", listClassName: "solid-module-form-tablist", panelClassName: "solid-module-form-tabpanel", tabs: [
309
+ }, value: formik.values.displayName, className: styles.fieldInput }), isFormFieldValid(formik, "displayName") && (_jsx("p", { className: styles.fieldError, children: (_c = (_b = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _b === void 0 ? void 0 : _b.displayName) === null || _c === void 0 ? void 0 : _c.toString() }))] }) }), _jsx("div", { className: "field w-full px-2 pt-2 lg:w-1/2", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsxs("label", { htmlFor: "name", className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Name ", _jsx("span", { className: "text-red-500", children: "*" })] }), _jsx(SolidInput, { disabled: true, type: "text", id: "name", name: "name", onChange: formik.handleChange, value: formik.values.name, className: styles.fieldInput }), isFormFieldValid(formik, "name") && (_jsx("p", { className: styles.fieldError, children: (_e = (_d = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _d === void 0 ? void 0 : _d.name) === null || _e === void 0 ? void 0 : _e.toString() }))] }) })] }), _jsxs("div", { className: "mt-4 flex flex-wrap -mx-2 -mt-2", children: [_jsx("div", { className: "field w-full px-2 pt-2 pb-3 lg:w-1/2 lg:pb-0", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsx("label", { htmlFor: "menuSequenceNumber", className: "".concat(styles.fieldLabel, " form-field-label"), children: "Menu Sequence Number" }), _jsx(SolidInput, { id: "menuSequenceNumber", type: "number", onChange: formik.handleChange, min: 0, value: formik.values.menuSequenceNumber, className: styles.fieldInput }), isFormFieldValid(formik, "menuSequenceNumber") && (_jsx("p", { className: styles.fieldError, children: (_g = (_f = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _f === void 0 ? void 0 : _f.menuSequenceNumber) === null || _g === void 0 ? void 0 : _g.toString() }))] }) }), _jsx("div", { className: "field w-full px-2 pt-2 lg:w-1/2", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsxs("label", { htmlFor: "description", className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Description ", _jsx("span", { className: "text-red-500", children: "*" })] }), _jsx(SolidTextarea, { id: "description", name: "description", onChange: formik.handleChange, value: formik.values.description, className: styles.fieldTextarea, rows: 5, cols: 30 }), isFormFieldValid(formik, "description") && (_jsx("p", { className: styles.fieldError, children: (_j = (_h = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _h === void 0 ? void 0 : _h.description) === null || _j === void 0 ? void 0 : _j.toString() }))] }) })] })] }), _jsx(SolidPanel, { header: "Configurations", className: "solid-column-panel mt-4", children: _jsxs("div", { className: "mt-3 flex flex-wrap -mx-2 -mt-2", children: [_jsx("div", { className: "field w-full px-2 pt-2 pb-3 lg:w-1/2 lg:pb-0", children: _jsxs("div", { className: styles.fieldWrapper, children: [_jsx("label", { htmlFor: "defaultDataSource", className: "".concat(styles.fieldLabel, " form-field-label"), children: "Default Data Source" }), _jsx("div", { className: "solid-standard-autocomplete w-full", children: _jsx(SolidAutocomplete, { disabled: !!data, value: defaultDataSourceField.selectedItem, suggestions: defaultDataSourceField.filteredItems, completeMethod: defaultDataSourceField.searchItems, onChange: defaultDataSourceField.handleChange, dropdown: true, field: "label", className: "w-full" }) }), isFormFieldValid(formik, "defaultDataSource") && (_jsx("p", { className: styles.fieldError, children: (_l = (_k = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _k === void 0 ? void 0 : _k.defaultDataSource) === null || _l === void 0 ? void 0 : _l.toString() }))] }) }), _jsx("div", { className: "field w-full px-2 pt-2 lg:w-1/2", children: _jsxs("div", { className: "".concat(styles.fieldWrapper, " relative"), children: [_jsxs("label", { htmlFor: "menuIconUrl", className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Menu Icon ", _jsx("small", { className: "text-red-500 helper-text", children: "(only svg, png and jpeg are allowed)" })] }), _jsxs("div", __assign({}, getRootPropsmenuIcon(), { className: "solid-dropzone-wrapper", children: [_jsx("input", __assign({}, getInputPropsmenuIcon())), _jsx(DropzonePlaceholder, {})] })), isFormFieldValid(formik, "menuIconUrl") && (_jsx(SolidMessage, { severity: "error", text: (_o = (_m = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _m === void 0 ? void 0 : _m.menuIconUrl) === null || _o === void 0 ? void 0 : _o.toString(), className: "mt-2" })), fileDetails && (_jsxs("div", { className: "solid-file-upload-wrapper mt-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FileReaderExt, { fileDetails: fileDetails }), _jsxs("div", { className: "flex w-full flex-col gap-1", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "font-bold solid-module-mobile-text-wrapper", children: fileDetails.name }), _jsx("button", { type: "button", className: "solid-file-icon-btn is-danger solid-module-upload-remove", "aria-label": "Remove uploaded menu icon", onClick: handleCancelUpload, children: _jsx(SolidIcon, { name: "si-times", "aria-hidden": true }) })] }), uploadCompleted ? (_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [totalSize, " of ", totalSize, _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "4", height: "4", viewBox: "0 0 4 4", fill: "none", children: _jsx("circle", { cx: "2", cy: "2", r: "2", fill: "#C1C1C1" }) }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("mask", { id: "mask0_2480_8635", style: { maskType: 'alpha' }, maskUnits: "userSpaceOnUse", x: "0", y: "0", width: "20", height: "20", children: _jsx("rect", { width: "20", height: "20", fill: "#D9D9D9" }) }), _jsx("g", { mask: "url(#mask0_2480_8635)", children: _jsx("path", { d: "M9.16 12.76L13.39 8.53L12.55 7.69L9.16 11.08L7.45 9.37L6.61 10.21L9.16 12.76ZM10 16C9.17 16 8.39 15.8424 7.66 15.5272C6.93 15.2124 6.295 14.785 5.755 14.245C5.215 13.705 4.7876 13.07 4.4728 12.34C4.1576 11.61 4 10.83 4 10C4 9.17 4.1576 8.39 4.4728 7.66C4.7876 6.93 5.215 5.215 5.755 5.755C6.295 5.215 6.93 4.7874 7.66 4.4722C8.39 4.1574 9.17 4 10 4C10.83 4 11.61 4.1574 12.34 4.4722C13.07 4.7874 13.705 5.215 14.245 5.755C14.785 6.295 15.2124 6.93 15.5272 7.66C15.8424 8.39 16 9.17 16 10C16 10.83 15.8424 11.61 15.5272 12.34C15.2124 13.07 14.785 13.705 14.245 14.245C13.705 14.785 13.07 15.2124 12.34 15.5272C11.61 15.8424 10.83 16 10 16Z", fill: "var(--primary-color, var(--primary))" }) })] }), "Completed"] })) : (_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [uploadedSize, " of ", totalSize, _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "4", height: "4", viewBox: "0 0 4 4", fill: "none", children: _jsx("circle", { cx: "2", cy: "2", r: "2", fill: "#C1C1C1" }) }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M7.375 10.5V5.40625L5.75 7.03125L4.875 6.125L8 3L11.125 6.125L10.25 7.03125L8.625 5.40625V10.5H7.375ZM4.25 13C3.90625 13 3.61198 12.8776 3.36719 12.6328C3.1224 12.388 3 12.0938 3 11.75V9.875H4.25V11.75H11.75V9.875H13V11.75C13 12.0938 12.8776 12.388 12.6328 12.6328C12.388 12.8776 12.0938 13 11.75 13H4.25Z", fill: "black" }) }), "Uploading $", uploadProgress, "% Completed"] }))] })] }), _jsx(SolidProgressBar, { value: uploadProgress, showValue: false, style: { height: 4 }, className: "mt-2" })] }))] }) })] }) })] }) }), _jsx(SolidFormFooter, { params: params })] }));
310
+ return (_jsx("div", { className: "solid-form-wrapper", children: _jsxs("div", { className: "solid-form-section", style: { borderRight: params.embeded !== true ? '1px solid var(--primary-light-color)' : '' }, children: [isCreateMode && (_jsxs("div", { className: "solid-form-header flex flex-wrap items-center justify-between gap-3", children: [_jsx("div", { className: "flex flex-col gap-1" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SolidButton, { variant: "outline", size: "sm", type: "button", onClick: handleCancel, className: "bg-[var(--primary-color-text)]", children: "Cancel" }), shouldShowGeneralSave && formik.dirty && (_jsx(SolidButton, { size: "sm", type: "submit", form: "module-general-info-form", onClick: function () { return showError(); }, children: "Save" }))] })] })), isCreateMode ? (generalInfoContent) : (_jsx("div", { className: "solid-module-form-workspace", children: _jsx(SolidTabGroup, { value: activeWorkspaceTab, onValueChange: setActiveWorkspaceTab, className: "solid-module-form-tabs", listClassName: "solid-module-form-tablist", panelClassName: "solid-module-form-tabpanel", extra: (_jsx("div", { className: "solid-module-form-tab-extra", children: _jsx(SolidButton, { type: "button", size: "sm", onClick: function () { return router.push("/admin/core/solid-core/modules/".concat(data === null || data === void 0 ? void 0 : data.id, "/datasource-introspection")); }, children: "Auto Map Tables" }) })), tabs: [
311
311
  {
312
312
  value: "general",
313
313
  label: _jsx("span", { className: "solid-module-form-tab-label", children: "General Info" }),