@solidxai/core-ui 0.1.8-beta.0 → 0.1.8-beta.10

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 (301) hide show
  1. package/dist/components/Svg/FileSvg.js +1 -1
  2. package/dist/components/Svg/FileSvg.js.map +1 -1
  3. package/dist/components/Svg/FileSvg.tsx +1 -1
  4. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  5. package/dist/components/auth/AuthLayout.js +94 -38
  6. package/dist/components/auth/AuthLayout.js.map +1 -1
  7. package/dist/components/auth/AuthLayout.tsx +49 -39
  8. package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
  9. package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
  10. package/dist/components/auth/AuthSettingsContext.js +49 -0
  11. package/dist/components/auth/AuthSettingsContext.js.map +1 -0
  12. package/dist/components/auth/AuthSettingsContext.tsx +19 -0
  13. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  14. package/dist/components/auth/AuthTabs.js +9 -9
  15. package/dist/components/auth/AuthTabs.js.map +1 -1
  16. package/dist/components/auth/AuthTabs.tsx +14 -15
  17. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  18. package/dist/components/auth/ForgotPasswordThankYou.js +2 -6
  19. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  20. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -7
  21. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  22. package/dist/components/auth/SolidForgotPassword.js +3 -7
  23. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  24. package/dist/components/auth/SolidForgotPassword.tsx +3 -7
  25. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  26. package/dist/components/auth/SolidInitialLoginOtp.js +4 -7
  27. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  28. package/dist/components/auth/SolidInitialLoginOtp.tsx +2 -5
  29. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.js +4 -7
  31. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  32. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +2 -5
  33. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  34. package/dist/components/auth/SolidLogin.js +5 -8
  35. package/dist/components/auth/SolidLogin.js.map +1 -1
  36. package/dist/components/auth/SolidLogin.tsx +5 -6
  37. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  38. package/dist/components/auth/SolidRegister.js +9 -12
  39. package/dist/components/auth/SolidRegister.js.map +1 -1
  40. package/dist/components/auth/SolidRegister.tsx +21 -11
  41. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  42. package/dist/components/auth/SolidResetPassword.js +2 -6
  43. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  44. package/dist/components/auth/SolidResetPassword.tsx +2 -6
  45. package/dist/components/common/AuthBanner.js.map +1 -1
  46. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  47. package/dist/components/common/GeneralSettings.js +48 -51
  48. package/dist/components/common/GeneralSettings.js.map +1 -1
  49. package/dist/components/common/GeneralSettings.tsx +8 -25
  50. package/dist/components/common/SolidAdmin.js +1 -1
  51. package/dist/components/common/SolidAdmin.js.map +1 -1
  52. package/dist/components/common/SolidAdmin.tsx +1 -1
  53. package/dist/components/common/SolidFormStepper.js +1 -1
  54. package/dist/components/common/SolidFormStepper.js.map +1 -1
  55. package/dist/components/common/SolidFormStepper.tsx +1 -1
  56. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  57. package/dist/components/common/SolidThemeProvider.js +5 -21
  58. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  59. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  60. package/dist/components/common/solidModuleHome.module.css +1 -2
  61. package/dist/components/core/card/SolidCardView.js +1 -1
  62. package/dist/components/core/card/SolidCardView.js.map +1 -1
  63. package/dist/components/core/card/SolidCardView.tsx +1 -1
  64. package/dist/components/core/chatter/chatter.module.css +7 -7
  65. package/dist/components/core/common/PDFViewer.js +1 -1
  66. package/dist/components/core/common/PDFViewer.js.map +1 -1
  67. package/dist/components/core/common/PDFViewer.tsx +2 -2
  68. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +1 -1
  69. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +3 -4
  70. package/dist/components/core/common/SolidGlobalSearchElement.js +3 -3
  71. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  72. package/dist/components/core/common/SolidGlobalSearchElement.tsx +3 -3
  73. package/dist/components/core/common/dndCompat.d.ts +8 -0
  74. package/dist/components/core/common/dndCompat.d.ts.map +1 -0
  75. package/dist/components/core/common/dndCompat.js +5 -0
  76. package/dist/components/core/common/dndCompat.js.map +1 -0
  77. package/dist/components/core/common/dndCompat.ts +9 -0
  78. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -2
  79. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  80. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +2 -2
  81. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -2
  82. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  83. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +2 -2
  84. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +1 -1
  85. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -1
  86. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +1 -1
  87. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +1 -1
  88. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -1
  89. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +1 -1
  90. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +1 -1
  91. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -1
  92. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +1 -1
  93. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +1 -1
  94. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -1
  95. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +1 -1
  96. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  97. package/dist/components/core/form/SolidFormActionHeader.js +4 -0
  98. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  99. package/dist/components/core/form/SolidFormActionHeader.tsx +12 -0
  100. package/dist/components/core/form/SolidFormView.js +42 -41
  101. package/dist/components/core/form/SolidFormView.js.map +1 -1
  102. package/dist/components/core/form/SolidFormView.tsx +16 -16
  103. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  104. package/dist/components/core/form/fields/SolidDateTimeField.js +8 -2
  105. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  106. package/dist/components/core/form/fields/SolidDateTimeField.tsx +8 -2
  107. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  108. package/dist/components/core/form/fields/SolidEmailField.js +5 -4
  109. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  110. package/dist/components/core/form/fields/SolidEmailField.tsx +17 -15
  111. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  112. package/dist/components/core/form/fields/SolidIntegerField.js +5 -4
  113. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  114. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -1
  115. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  116. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  117. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  118. package/dist/components/core/form/fields/SolidShortTextField.tsx +7 -1
  119. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  120. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  121. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  122. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  123. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
  124. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  125. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
  126. package/dist/components/core/form/fields/solidFields.module.css +0 -3
  127. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  128. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  129. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  130. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  131. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  132. package/dist/components/core/kanban/KanbanCard.js +2 -2
  133. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  134. package/dist/components/core/kanban/KanbanCard.tsx +4 -3
  135. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  136. package/dist/components/core/kanban/KanbanColumn.js +3 -3
  137. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  138. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  139. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  140. package/dist/components/core/kanban/SolidKanbanView.js +42 -45
  141. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  142. package/dist/components/core/kanban/SolidKanbanView.tsx +17 -26
  143. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  144. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  145. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
  146. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  147. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  148. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  149. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
  150. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  151. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  152. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  153. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
  154. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  155. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
  156. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  157. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
  158. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  159. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  160. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  161. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +4 -3
  162. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  163. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +13 -12
  164. package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
  165. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
  166. package/dist/components/core/list/SolidDataTablePagination.js +22 -0
  167. package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
  168. package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
  169. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  170. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +1 -1
  171. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  172. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +6 -4
  173. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  174. package/dist/components/core/list/SolidListView.js +5 -12
  175. package/dist/components/core/list/SolidListView.js.map +1 -1
  176. package/dist/components/core/list/SolidListView.tsx +29 -49
  177. package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
  178. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  179. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
  180. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  181. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  182. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
  183. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  184. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
  185. package/dist/components/core/module/CreateModule.js +1 -1
  186. package/dist/components/core/module/CreateModule.js.map +1 -1
  187. package/dist/components/core/module/CreateModule.tsx +1 -1
  188. package/dist/components/core/solid-ai/SolidAiChat.module.css +3 -3
  189. package/dist/components/core/tree/SolidTreeView.js +1 -1
  190. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  191. package/dist/components/core/tree/SolidTreeView.tsx +1 -1
  192. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  193. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  194. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  195. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  196. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  197. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  198. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  199. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  200. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  201. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  202. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  203. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  204. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  205. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  206. package/dist/components/core/users/CreateUser.css +114 -0
  207. package/dist/components/core/users/CreateUser.d.ts +1 -0
  208. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  209. package/dist/components/core/users/CreateUser.js +4 -3
  210. package/dist/components/core/users/CreateUser.js.map +1 -1
  211. package/dist/components/core/users/CreateUser.tsx +32 -26
  212. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  213. package/dist/components/layout/AdminTopHeader.js +25 -1
  214. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  215. package/dist/components/layout/AdminTopHeader.tsx +38 -1
  216. package/dist/components/layout/context/layoutcontext.js +2 -2
  217. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  218. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  219. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  220. package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
  221. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  222. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
  223. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  224. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  225. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  226. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  227. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  228. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  229. package/dist/components/shad-cn-ui/SolidDatePicker.js +12 -2
  230. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  231. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +13 -2
  232. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  233. package/dist/components/shad-cn-ui/SolidTabs.js +5 -2
  234. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  235. package/dist/components/shad-cn-ui/SolidTabs.tsx +51 -25
  236. package/dist/components/solid-ui/SolidButton.d.ts +14 -0
  237. package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
  238. package/dist/components/solid-ui/SolidButton.js +36 -0
  239. package/dist/components/solid-ui/SolidButton.js.map +1 -0
  240. package/dist/components/solid-ui/SolidButton.tsx +54 -0
  241. package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
  242. package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
  243. package/dist/components/solid-ui/SolidTabs.js +22 -0
  244. package/dist/components/solid-ui/SolidTabs.js.map +1 -0
  245. package/dist/components/solid-ui/SolidTabs.tsx +73 -0
  246. package/dist/components/solid-ui/index.d.ts +3 -0
  247. package/dist/components/solid-ui/index.d.ts.map +1 -0
  248. package/dist/components/solid-ui/index.js +3 -0
  249. package/dist/components/solid-ui/index.js.map +1 -0
  250. package/dist/components/solid-ui/index.ts +2 -0
  251. package/dist/helpers/downloadMediaFile.d.ts +1 -1
  252. package/dist/helpers/downloadMediaFile.d.ts.map +1 -1
  253. package/dist/helpers/downloadMediaFile.js +8 -66
  254. package/dist/helpers/downloadMediaFile.js.map +1 -1
  255. package/dist/helpers/downloadMediaFile.tsx +8 -18
  256. package/dist/resources/globals.css +104 -84
  257. package/dist/resources/images/Background.svg +5 -1
  258. package/dist/resources/images/Navigation/SolidSettinsIcon.svg +7 -1
  259. package/dist/resources/images/errors/error.svg +14 -10
  260. package/dist/resources/shadcn-base.css +120 -354
  261. package/dist/resources/themes/solid-dark-purple/theme.css +26 -36
  262. package/dist/resources/themes/solid-light-purple/theme.css +129 -129
  263. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -1
  264. package/dist/routes/SolidLayoutRegistry.js +3 -1
  265. package/dist/routes/SolidLayoutRegistry.js.map +1 -1
  266. package/dist/routes/SolidLayoutRegistry.tsx +3 -1
  267. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  268. package/dist/routes/guards/AuthGuard.js +4 -1
  269. package/dist/routes/guards/AuthGuard.js.map +1 -1
  270. package/dist/routes/guards/AuthGuard.tsx +6 -1
  271. package/package.json +1 -1
  272. package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
  273. package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
  274. package/dist/components/auth/SolidOTPVerify.js +0 -67
  275. package/dist/components/auth/SolidOTPVerify.js.map +0 -1
  276. package/dist/components/auth/SolidOTPVerify.tsx +0 -133
  277. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
  278. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
  279. package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
  280. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
  281. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
  282. package/dist/nextAuth/authProviders.d.ts +0 -4
  283. package/dist/nextAuth/authProviders.d.ts.map +0 -1
  284. package/dist/nextAuth/authProviders.js +0 -198
  285. package/dist/nextAuth/authProviders.js.map +0 -1
  286. package/dist/nextAuth/authProviders.tsx +0 -232
  287. package/dist/nextAuth/handleLogout.d.ts +0 -2
  288. package/dist/nextAuth/handleLogout.d.ts.map +0 -1
  289. package/dist/nextAuth/handleLogout.js +0 -36
  290. package/dist/nextAuth/handleLogout.js.map +0 -1
  291. package/dist/nextAuth/handleLogout.tsx +0 -39
  292. package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
  293. package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
  294. package/dist/nextAuth/refreshAccessToken.js +0 -24
  295. package/dist/nextAuth/refreshAccessToken.js.map +0 -1
  296. package/dist/nextAuth/refreshAccessToken.tsx +0 -28
  297. package/dist/redux/features/settingsSlice.d.ts +0 -20
  298. package/dist/redux/features/settingsSlice.d.ts.map +0 -1
  299. package/dist/redux/features/settingsSlice.js +0 -39
  300. package/dist/redux/features/settingsSlice.js.map +0 -1
  301. package/dist/redux/features/settingsSlice.ts +0 -60
@@ -196,7 +196,7 @@ var SolidShortTextField = /** @class */ (function () {
196
196
  }());
197
197
  export { SolidShortTextField };
198
198
  export var DefaultShortTextFormEditWidget = function (_a) {
199
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
199
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
200
200
  var formik = _a.formik, fieldContext = _a.fieldContext;
201
201
  var fieldMetadata = fieldContext.fieldMetadata;
202
202
  var fieldLayoutInfo = fieldContext.field;
@@ -211,8 +211,9 @@ export var DefaultShortTextFormEditWidget = function (_a) {
211
211
  var fieldReadonly = (_f = fieldLayoutInfo.attrs) === null || _f === void 0 ? void 0 : _f.readonly;
212
212
  var formDisabled = (_j = (_h = (_g = solidFormViewMetaData.data.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs) === null || _j === void 0 ? void 0 : _j.disabled;
213
213
  var formReadonly = (_m = (_l = (_k = solidFormViewMetaData.data.solidView) === null || _k === void 0 ? void 0 : _k.layout) === null || _l === void 0 ? void 0 : _l.attrs) === null || _m === void 0 ? void 0 : _m.readonly;
214
+ var autoComplete = ((_o = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _o === void 0 ? void 0 : _o.autoComplete) || 'on';
214
215
  return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel != false &&
215
- _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidInput, { type: "text", readOnly: formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey, disabled: formDisabled || fieldDisabled || isPrimaryKey, id: fieldLayoutInfo.attrs.name, name: fieldMetadata.name, "aria-describedby": "".concat(fieldLayoutInfo.attrs.name, "-help"), onChange: function (e) { return fieldContext.onChange(e, 'onFieldChange'); }, onBlur: function (e) { return fieldContext.onBlur(e, 'onFieldBlur'); }, value: formik.values[fieldLayoutInfo.attrs.name] || '', className: styles.fieldInput }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_o = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _o === void 0 ? void 0 : _o.toString() }))] }));
216
+ _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidInput, { type: "text", readOnly: formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey, disabled: formDisabled || fieldDisabled || isPrimaryKey, id: fieldLayoutInfo.attrs.name, name: fieldMetadata.name, "aria-describedby": "".concat(fieldLayoutInfo.attrs.name, "-help"), onChange: function (e) { return fieldContext.onChange(e, 'onFieldChange'); }, onBlur: function (e) { return fieldContext.onBlur(e, 'onFieldBlur'); }, value: formik.values[fieldLayoutInfo.attrs.name] || '', className: styles.fieldInput, autoComplete: autoComplete }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_p = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _p === void 0 ? void 0 : _p.toString() }))] }));
216
217
  };
217
218
  export var DefaultShortTextFormViewWidget = function (_a) {
218
219
  var _b, _c;
@@ -246,7 +247,7 @@ export var MaskedShortTextFormViewWidget = function (_a) {
246
247
  };
247
248
  // Masked ShortText - EDIT
248
249
  export var MaskedShortTextFormEditWidget = function (_a) {
249
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
250
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
250
251
  var formik = _a.formik, fieldContext = _a.fieldContext;
251
252
  var fieldMetadata = fieldContext.fieldMetadata;
252
253
  var fieldLayoutInfo = fieldContext.field;
@@ -260,8 +261,9 @@ export var MaskedShortTextFormEditWidget = function (_a) {
260
261
  };
261
262
  var fieldDisabled = (_d = fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.disabled;
262
263
  var fieldReadonly = (_e = fieldLayoutInfo.attrs) === null || _e === void 0 ? void 0 : _e.readonly;
263
- var formDisabled = (_h = (_g = (_f = solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
264
- var formReadonly = (_l = (_k = (_j = solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
265
- return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: styles.fieldLabel, children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidPasswordInput, { toggle: true, readOnly: formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey, disabled: formDisabled || fieldDisabled || isPrimaryKey, id: fieldLayoutInfo.attrs.name, name: fieldMetadata.name, "aria-describedby": "".concat(fieldLayoutInfo.attrs.name, "-help"), onChange: function (e) { return fieldContext.onChange(e, 'onFieldChange'); }, onBlur: function (e) { return fieldContext.onBlur(e, 'onFieldBlur'); }, value: formik.values[fieldLayoutInfo.attrs.name] || '', className: "w-full" }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_m = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _m === void 0 ? void 0 : _m.toString() }))] }));
264
+ var autoComplete = ((_f = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _f === void 0 ? void 0 : _f.autoComplete) || 'on';
265
+ var formDisabled = (_j = (_h = (_g = solidFormViewMetaData.data.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs) === null || _j === void 0 ? void 0 : _j.disabled;
266
+ var formReadonly = (_m = (_l = (_k = solidFormViewMetaData.data.solidView) === null || _k === void 0 ? void 0 : _k.layout) === null || _l === void 0 ? void 0 : _l.attrs) === null || _m === void 0 ? void 0 : _m.readonly;
267
+ return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: styles.fieldLabel, children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidPasswordInput, { toggle: true, readOnly: formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey, disabled: formDisabled || fieldDisabled || isPrimaryKey, id: fieldLayoutInfo.attrs.name, name: fieldMetadata.name, "aria-describedby": "".concat(fieldLayoutInfo.attrs.name, "-help"), onChange: function (e) { return fieldContext.onChange(e, 'onFieldChange'); }, onBlur: function (e) { return fieldContext.onBlur(e, 'onFieldBlur'); }, value: formik.values[fieldLayoutInfo.attrs.name] || '', className: "w-full", autoComplete: autoComplete }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_o = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _o === void 0 ? void 0 : _o.toString() }))] }));
266
268
  };
267
269
  //# sourceMappingURL=SolidShortTextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidShortTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidShortTextField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as Yup from 'yup';\nimport styles from './solidFields.module.css';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps, SolidListFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { useState } from \"react\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidInput, SolidPasswordInput } from \"../../../shad-cn-ui\";\n\nexport class SolidShortTextField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const editWidget = fieldLayoutInfo?.attrs?.editWidget;\n if (editWidget === \"PseudoRelationManyToOneFormWidget\") {\n if (value?.solidManyToOneValue) {\n formData.append(fieldLayoutInfo?.attrs?.name, value.solidManyToOneValue);\n }\n } else {\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo?.attrs?.name, value);\n }\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n const fieldLayoutInfo = this.fieldContext.field;\n\n const editWidget = fieldLayoutInfo?.attrs?.editWidget;\n\n if (this.fieldContext.parentData && this.fieldContext.parentData[fieldName]) {\n const parentDataForKey = this.fieldContext.parentData[fieldName];\n if (editWidget === \"PseudoRelationManyToOneFormWidget\") {\n if (parentDataForKey) {\n return { solidManyToOneLabel: this.fieldContext.parentData[fieldName], solidManyToOneValue: this.fieldContext.parentData[fieldName] };\n }\n } else {\n if (parentDataForKey && typeof parentDataForKey !== 'object') {\n return this.fieldContext.parentData[fieldName]\n }\n }\n }\n let existingValue = this.fieldContext.data[fieldName];\n\n if (editWidget === \"PseudoRelationManyToOneFormWidget\" && this.fieldContext.data[fieldName]) {\n existingValue = { solidManyToOneLabel: this.fieldContext.data[fieldName], solidManyToOneValue: this.fieldContext.data[fieldName] };\n\n }\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo?.attrs?.label ?? fieldMetadata.displayName;\n const editWidget = fieldLayoutInfo?.attrs?.editWidget;\n if (editWidget === \"PseudoRelationManyToOneFormWidget\") {\n let schema = Yup.mixed();\n\n // Custom validation for relation field\n if (fieldMetadata.required) {\n schema = schema.test(\n ERROR_MESSAGES.REQUIRED_REALTION,\n ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel),\n function (value: any) {\n // Handle empty values\n if (!value) return false;\n\n // If it's an object with solidManyToOneValue, check if it's valid\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid for required field\n if (typeof value === 'string') {\n return false;\n }\n\n return false;\n }\n );\n }\n\n // Add validation to ensure valid selection\n schema = schema.test(\n ERROR_MESSAGES.VALIDATE_SELECTION,\n ERROR_MESSAGES.SELECT_VALID_FROM_DROPDOWN(fieldLabel),\n function (value: any) {\n // If not required and empty, it's valid\n if (!fieldMetadata.required && (!value || value === '')) {\n return true;\n }\n\n // If it's an object with solidManyToOneValue, it's a valid selection\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid\n if (typeof value === 'string' && value.trim() !== '') {\n return false;\n }\n\n // Empty value for non-required field\n return !fieldMetadata.required;\n }\n );\n return schema;\n } else {\n\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n // 1. required \n // 1. required\n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? ERROR_MESSAGES.FIELD_INVALID_DATA(fieldLabel)\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n return schema;\n }\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultShortTextFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultShortTextFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultShortTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const isPrimaryKey = fieldMetadata.isPrimaryKey || false;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidInput\n type=\"text\"\n readOnly={formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey}\n disabled={formDisabled || fieldDisabled || isPrimaryKey}\n id={fieldLayoutInfo.attrs.name}\n name={fieldMetadata.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => fieldContext.onChange(e, 'onFieldChange')}\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => fieldContext.onBlur(e, 'onFieldBlur')}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n className={styles.fieldInput}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const DefaultShortTextFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{value && typeof value === \"string\" ? value : ''}</p>\n </div>\n );\n}\n\n// Masked ShortText - LIST\nexport const MaskedShortTextListViewWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const colVal = rowData[column.attrs.name];\n // Mask it (show same number of * as characters, or fixed length if you want)\n const maskedValue = colVal ? '*'.repeat(colVal.length) : '';\n return (\n <span>{maskedValue}</span>\n );\n};\n\n// Masked ShortText - VIEW\nexport const MaskedShortTextFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const rawValue: string = formik.values[fieldLayoutInfo.attrs.name] || '';\n const maskedValue = rawValue ? '*'.repeat(rawValue.length) : '';\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{maskedValue}</p>\n </div>\n );\n};\n\n// Masked ShortText - EDIT\nexport const MaskedShortTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const isPrimaryKey = fieldMetadata.isPrimaryKey || false;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldLayoutInfo.attrs.name} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n <SolidPasswordInput\n toggle\n readOnly={formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey}\n disabled={formDisabled || fieldDisabled || isPrimaryKey}\n id={fieldLayoutInfo.attrs.name}\n name={fieldMetadata.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}\n onBlur={(e) => fieldContext.onBlur(e, 'onFieldBlur')}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n className=\"w-full\"\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidShortTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidShortTextField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as Yup from 'yup';\nimport styles from './solidFields.module.css';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps, SolidListFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { useState } from \"react\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidInput, SolidPasswordInput } from \"../../../shad-cn-ui\";\n\nexport class SolidShortTextField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const editWidget = fieldLayoutInfo?.attrs?.editWidget;\n if (editWidget === \"PseudoRelationManyToOneFormWidget\") {\n if (value?.solidManyToOneValue) {\n formData.append(fieldLayoutInfo?.attrs?.name, value.solidManyToOneValue);\n }\n } else {\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo?.attrs?.name, value);\n }\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n const fieldLayoutInfo = this.fieldContext.field;\n\n const editWidget = fieldLayoutInfo?.attrs?.editWidget;\n\n if (this.fieldContext.parentData && this.fieldContext.parentData[fieldName]) {\n const parentDataForKey = this.fieldContext.parentData[fieldName];\n if (editWidget === \"PseudoRelationManyToOneFormWidget\") {\n if (parentDataForKey) {\n return { solidManyToOneLabel: this.fieldContext.parentData[fieldName], solidManyToOneValue: this.fieldContext.parentData[fieldName] };\n }\n } else {\n if (parentDataForKey && typeof parentDataForKey !== 'object') {\n return this.fieldContext.parentData[fieldName]\n }\n }\n }\n let existingValue = this.fieldContext.data[fieldName];\n\n if (editWidget === \"PseudoRelationManyToOneFormWidget\" && this.fieldContext.data[fieldName]) {\n existingValue = { solidManyToOneLabel: this.fieldContext.data[fieldName], solidManyToOneValue: this.fieldContext.data[fieldName] };\n\n }\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo?.attrs?.label ?? fieldMetadata.displayName;\n const editWidget = fieldLayoutInfo?.attrs?.editWidget;\n if (editWidget === \"PseudoRelationManyToOneFormWidget\") {\n let schema = Yup.mixed();\n\n // Custom validation for relation field\n if (fieldMetadata.required) {\n schema = schema.test(\n ERROR_MESSAGES.REQUIRED_REALTION,\n ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel),\n function (value: any) {\n // Handle empty values\n if (!value) return false;\n\n // If it's an object with solidManyToOneValue, check if it's valid\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid for required field\n if (typeof value === 'string') {\n return false;\n }\n\n return false;\n }\n );\n }\n\n // Add validation to ensure valid selection\n schema = schema.test(\n ERROR_MESSAGES.VALIDATE_SELECTION,\n ERROR_MESSAGES.SELECT_VALID_FROM_DROPDOWN(fieldLabel),\n function (value: any) {\n // If not required and empty, it's valid\n if (!fieldMetadata.required && (!value || value === '')) {\n return true;\n }\n\n // If it's an object with solidManyToOneValue, it's a valid selection\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid\n if (typeof value === 'string' && value.trim() !== '') {\n return false;\n }\n\n // Empty value for non-required field\n return !fieldMetadata.required;\n }\n );\n return schema;\n } else {\n\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n // 1. required \n // 1. required\n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? ERROR_MESSAGES.FIELD_INVALID_DATA(fieldLabel)\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n return schema;\n }\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultShortTextFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultShortTextFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultShortTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const isPrimaryKey = fieldMetadata.isPrimaryKey || false;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const autoComplete = fieldLayoutInfo?.attrs?.autoComplete || 'on';\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidInput\n type=\"text\"\n readOnly={formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey}\n disabled={formDisabled || fieldDisabled || isPrimaryKey}\n id={fieldLayoutInfo.attrs.name}\n name={fieldMetadata.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => fieldContext.onChange(e, 'onFieldChange')}\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => fieldContext.onBlur(e, 'onFieldBlur')}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n className={styles.fieldInput}\n autoComplete={autoComplete}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const DefaultShortTextFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{value && typeof value === \"string\" ? value : ''}</p>\n </div>\n );\n}\n\n// Masked ShortText - LIST\nexport const MaskedShortTextListViewWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const colVal = rowData[column.attrs.name];\n // Mask it (show same number of * as characters, or fixed length if you want)\n const maskedValue = colVal ? '*'.repeat(colVal.length) : '';\n return (\n <span>{maskedValue}</span>\n );\n};\n\n// Masked ShortText - VIEW\nexport const MaskedShortTextFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const rawValue: string = formik.values[fieldLayoutInfo.attrs.name] || '';\n const maskedValue = rawValue ? '*'.repeat(rawValue.length) : '';\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{maskedValue}</p>\n </div>\n );\n};\n\n// Masked ShortText - EDIT\nexport const MaskedShortTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const isPrimaryKey = fieldMetadata.isPrimaryKey || false;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const autoComplete = fieldLayoutInfo?.attrs?.autoComplete || 'on';\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldLayoutInfo.attrs.name} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n <SolidPasswordInput\n toggle\n readOnly={formReadonly || fieldReadonly || readOnlyPermission || isPrimaryKey}\n disabled={formDisabled || fieldDisabled || isPrimaryKey}\n id={fieldLayoutInfo.attrs.name}\n name={fieldMetadata.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}\n onBlur={(e) => fieldContext.onBlur(e, 'onFieldBlur')}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n className=\"w-full\"\n autoComplete={autoComplete}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n};\n"]}
@@ -53,7 +53,7 @@ export class SolidShortTextField implements ISolidField {
53
53
  let existingValue = this.fieldContext.data[fieldName];
54
54
 
55
55
  if (editWidget === "PseudoRelationManyToOneFormWidget" && this.fieldContext.data[fieldName]) {
56
- existingValue = { solidManyToOneLabel: this.fieldContext.data[fieldName], solidManyToOneValue: this.fieldContext.data[fieldName] };
56
+ existingValue = { solidManyToOneLabel: this.fieldContext.data[fieldName], solidManyToOneValue: this.fieldContext.data[fieldName] };
57
57
 
58
58
  }
59
59
 
@@ -213,6 +213,8 @@ export const DefaultShortTextFormEditWidget = ({ formik, fieldContext }: SolidFo
213
213
 
214
214
  const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;
215
215
  const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
216
+ const autoComplete = fieldLayoutInfo?.attrs?.autoComplete || 'on';
217
+
216
218
  return (
217
219
  <div className={styles.fieldWrapper}>
218
220
  {showFieldLabel != false &&
@@ -233,6 +235,7 @@ export const DefaultShortTextFormEditWidget = ({ formik, fieldContext }: SolidFo
233
235
  onBlur={(e: React.FocusEvent<HTMLInputElement>) => fieldContext.onBlur(e, 'onFieldBlur')}
234
236
  value={formik.values[fieldLayoutInfo.attrs.name] || ''}
235
237
  className={styles.fieldInput}
238
+ autoComplete={autoComplete}
236
239
  />
237
240
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
238
241
  <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>
@@ -302,6 +305,8 @@ export const MaskedShortTextFormEditWidget = ({ formik, fieldContext }: SolidFor
302
305
 
303
306
  const fieldDisabled = fieldLayoutInfo.attrs?.disabled;
304
307
  const fieldReadonly = fieldLayoutInfo.attrs?.readonly;
308
+ const autoComplete = fieldLayoutInfo?.attrs?.autoComplete || 'on';
309
+
305
310
  const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;
306
311
  const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
307
312
 
@@ -325,6 +330,7 @@ export const MaskedShortTextFormEditWidget = ({ formik, fieldContext }: SolidFor
325
330
  onBlur={(e) => fieldContext.onBlur(e, 'onFieldBlur')}
326
331
  value={formik.values[fieldLayoutInfo.attrs.name] || ''}
327
332
  className="w-full"
333
+ autoComplete={autoComplete}
328
334
  />
329
335
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
330
336
  <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>
@@ -189,7 +189,7 @@ export var DefaultTimeFormViewWidget = function (_a) {
189
189
  var fieldLabel = (_b = fieldLayoutInfo.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
190
190
  var showFieldLabel = (_c = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _c === void 0 ? void 0 : _c.showLabel;
191
191
  var rawValue = formik.values[fieldName];
192
- var format = (_d = fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.format;
192
+ var format = ((_d = fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.format) || "HH:mm:ss";
193
193
  var parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;
194
194
  var displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : "-";
195
195
  return (_jsxs("div", { className: styles.fieldViewWrapper, children: [showFieldLabel !== false && (_jsx("p", { className: "".concat(styles.fieldViewLabel, " form-field-label"), children: fieldLabel })), _jsx("p", { className: styles.fieldViewValue, children: _jsx(DateFieldViewComponent, { value: rawValue, format: format, fallback: "-" }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"SolidTimeField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidTimeField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useRef } from \"react\";\nimport * as Yup from 'yup';\nimport dayjs from 'dayjs';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport styles from \"./solidFields.module.css\";\n\n\n// Converts multiple time formats into a JavaScript Date object\nfunction parseTimeStringToDate(timeStr: string): Date | null {\n if (!timeStr) return null;\n\n // CASE 1: HH:mm:ss\n if (typeof timeStr === \"string\" && /^\\d{2}:\\d{2}:\\d{2}$/.test(timeStr)) {\n const [h, m, s] = timeStr.split(\":\").map(Number);\n const d = new Date();\n d.setHours(h, m, s, 0);\n return d;\n }\n\n // CASE 2: timestamp or timestamptz\n try {\n const d = new Date(timeStr); // ← AUTO UTC → LOCAL conversion\n if (!isNaN(d.getTime())) return d;\n } catch (e) {\n console.error(`${ERROR_MESSAGES.FIELD_INAVLID_FORMAT('Date')}:,${e}`)\n }\n\n return null;\n}\n\n// Formats a Date object to a HH:mm:ss string for display\nfunction formatTime(date: Date | null): string {\n if (!date) return \"\";\n return date.toLocaleTimeString();\n}\n\n\nexport class SolidTimeField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof Date) {\n // Use local date with selected time\n const now = new Date();\n const localDate = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n value.getHours(),\n value.getMinutes(),\n value.getSeconds()\n );\n\n formData.append(fieldLayoutInfo.attrs.name, localDate.toISOString());\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n const existingValue = this.fieldContext.data[fieldName];\n\n if (existingValue) {\n if (existingValue instanceof Date) {\n return existingValue;\n }\n if (typeof existingValue === \"string\") {\n const parsed = parseTimeStringToDate(existingValue);\n if (parsed) return parsed;\n }\n }\n\n return fieldDefaultValue ? new Date(fieldDefaultValue) : null;\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.date().nullable();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultTimeFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultTimeFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\nexport const DefaultTimeFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const calendarRef = useRef<any>(null); // Reference for the Calendar component\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n\n const fieldValue = formik.values[fieldLayoutInfo.attrs.name];\n\n\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* &nbsp; {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidDatePicker\n selected={fieldValue instanceof Date ? fieldValue : typeof fieldValue === \"string\" ? parseTimeStringToDate(fieldValue) ?? undefined : undefined}\n onChange={(date: Date | null) => {\n const nextValue = (date as Date | null) ?? null;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, nextValue, \"time\", nextValue ? true : undefined);\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={readOnlyPermission}\n timeOnly\n showTimeSelect\n dateFormat=\"HH:mm\"\n className=\"\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\nexport const DefaultTimeFormViewWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format;\n\n const parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;\n const displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : \"-\";\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidTimeField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidTimeField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useRef } from \"react\";\nimport * as Yup from 'yup';\nimport dayjs from 'dayjs';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport styles from \"./solidFields.module.css\";\n\n\n// Converts multiple time formats into a JavaScript Date object\nfunction parseTimeStringToDate(timeStr: string): Date | null {\n if (!timeStr) return null;\n\n // CASE 1: HH:mm:ss\n if (typeof timeStr === \"string\" && /^\\d{2}:\\d{2}:\\d{2}$/.test(timeStr)) {\n const [h, m, s] = timeStr.split(\":\").map(Number);\n const d = new Date();\n d.setHours(h, m, s, 0);\n return d;\n }\n\n // CASE 2: timestamp or timestamptz\n try {\n const d = new Date(timeStr); // ← AUTO UTC → LOCAL conversion\n if (!isNaN(d.getTime())) return d;\n } catch (e) {\n console.error(`${ERROR_MESSAGES.FIELD_INAVLID_FORMAT('Date')}:,${e}`)\n }\n\n return null;\n}\n\n// Formats a Date object to a HH:mm:ss string for display\nfunction formatTime(date: Date | null): string {\n if (!date) return \"\";\n return date.toLocaleTimeString();\n}\n\n\nexport class SolidTimeField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof Date) {\n // Use local date with selected time\n const now = new Date();\n const localDate = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n value.getHours(),\n value.getMinutes(),\n value.getSeconds()\n );\n\n formData.append(fieldLayoutInfo.attrs.name, localDate.toISOString());\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n const existingValue = this.fieldContext.data[fieldName];\n\n if (existingValue) {\n if (existingValue instanceof Date) {\n return existingValue;\n }\n if (typeof existingValue === \"string\") {\n const parsed = parseTimeStringToDate(existingValue);\n if (parsed) return parsed;\n }\n }\n\n return fieldDefaultValue ? new Date(fieldDefaultValue) : null;\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.date().nullable();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultTimeFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultTimeFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\nexport const DefaultTimeFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const calendarRef = useRef<any>(null); // Reference for the Calendar component\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n\n const fieldValue = formik.values[fieldLayoutInfo.attrs.name];\n\n\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* &nbsp; {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidDatePicker\n selected={fieldValue instanceof Date ? fieldValue : typeof fieldValue === \"string\" ? parseTimeStringToDate(fieldValue) ?? undefined : undefined}\n onChange={(date: Date | null) => {\n const nextValue = (date as Date | null) ?? null;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, nextValue, \"time\", nextValue ? true : undefined);\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={readOnlyPermission}\n timeOnly\n showTimeSelect\n dateFormat=\"HH:mm\"\n className=\"\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\nexport const DefaultTimeFormViewWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format || \"HH:mm:ss\";\n\n const parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;\n const displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : \"-\";\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n"]}
@@ -222,7 +222,7 @@ export const DefaultTimeFormViewWidget = ({
222
222
  const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
223
223
 
224
224
  const rawValue = formik.values[fieldName];
225
- const format = fieldLayoutInfo.attrs?.format;
225
+ const format = fieldLayoutInfo.attrs?.format || "HH:mm:ss";
226
226
 
227
227
  const parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;
228
228
  const displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : "-";
@@ -1 +1 @@
1
- {"version":3,"file":"InlineRelationEntityDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,0BAA0B,oDAAqD,GAAG,4CAmC9F,CAAC"}
1
+ {"version":3,"file":"InlineRelationEntityDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,0BAA0B,oDAAqD,GAAG,4CAgC9F,CAAC"}
@@ -9,8 +9,8 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogHeader, } from "../../../../../../shad-cn-ui/SolidDialog";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { SolidDialog, SolidDialogBody, } from "../../../../../../shad-cn-ui/SolidDialog";
14
14
  import { camelCase } from "lodash";
15
15
  import SolidFormView from "../../../../../../../components/core/form/SolidFormView";
16
16
  export var InlineRelationEntityDialog = function (_a) {
@@ -32,6 +32,6 @@ export var InlineRelationEntityDialog = function (_a) {
32
32
  };
33
33
  var dialogWidth = (_g = (_f = (_e = (_d = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.inlineCreateLayout) === null || _e === void 0 ? void 0 : _e.attrs) === null || _f === void 0 ? void 0 : _f.width) !== null && _g !== void 0 ? _g : "60vw";
34
34
  var dialogHeight = (_l = (_k = (_j = (_h = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _h === void 0 ? void 0 : _h.inlineCreateLayout) === null || _j === void 0 ? void 0 : _j.attrs) === null || _k === void 0 ? void 0 : _k.height) !== null && _l !== void 0 ? _l : "auto";
35
- return (_jsxs(SolidDialog, { open: visible, onOpenChange: setVisible, className: "solid-dialog", style: { width: dialogWidth, height: dialogHeight }, children: [_jsx(SolidDialogHeader, { children: _jsx(SolidDialogClose, { "aria-label": "Close dialog" }) }), _jsx(SolidDialogBody, { children: _jsx(SolidFormView, __assign({}, params)) })] }));
35
+ return (_jsx(SolidDialog, { open: visible, onOpenChange: setVisible, className: "solid-dialog", style: { width: dialogWidth, height: dialogHeight }, children: _jsx(SolidDialogBody, { children: _jsx(SolidFormView, __assign({}, params)) }) }));
36
36
  };
37
37
  //# sourceMappingURL=InlineRelationEntityDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineRelationEntityDialog.js","sourceRoot":"","sources":["../../../../../../../../src/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,aAAa,MAAM,yDAAyD,CAAC;AAEpF,MAAM,CAAC,IAAM,0BAA0B,GAAG,UAAC,EAAoD;;QAAlD,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA,EAAE,QAAQ,cAAA;IACtF,IAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAE3C,IAAM,MAAM,GAAG;QACb,UAAU,EAAE,YAAY,CAAC,aAAa,CAAC,uBAAuB;QAC9D,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,kBAAkB;QACxD,mBAAmB,EAAE,UAAC,MAAW;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,oBAAoB,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,oBAAoB;QAClE,gBAAgB,EAAE,cAAM,OAAA,UAAU,CAAC,KAAK,CAAC,EAAjB,CAAiB;QACzC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,2BAA2B,CAAC;KAC7E,CAAC;IAEF,IAAM,WAAW,GAAG,MAAA,MAAA,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,kBAAkB,0CAAE,KAAK,0CAAE,KAAK,mCAAI,MAAM,CAAC;IACvF,IAAM,YAAY,GAAG,MAAA,MAAA,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,kBAAkB,0CAAE,KAAK,0CAAE,MAAM,mCAAI,MAAM,CAAC;IAEzF,OAAO,CACL,MAAC,WAAW,IACV,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,UAAU,EACxB,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAEnD,KAAC,iBAAiB,cAChB,KAAC,gBAAgB,kBAAY,cAAc,GAAG,GAC5B,EACpB,KAAC,eAAe,cACd,KAAC,aAAa,eAAK,MAAM,EAAI,GACb,IACN,CACf,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogHeader,\n} from \"../../../../../../shad-cn-ui/SolidDialog\";\nimport { camelCase } from \"lodash\";\nimport SolidFormView from \"../../../../../../../components/core/form/SolidFormView\";\n\nexport const InlineRelationEntityDialog = ({ visible, setVisible, fieldContext, onCreate }: any) => {\n const fieldLayoutInfo = fieldContext.field;\n\n const params = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: \"new\",\n embeded: true,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n customCreateHandler: (values: any) => {\n setVisible(false);\n onCreate(values);\n },\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n handlePopupClose: () => setVisible(false),\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName)\n };\n\n const dialogWidth = fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? \"60vw\";\n const dialogHeight = fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? \"auto\";\n\n return (\n <SolidDialog\n open={visible}\n onOpenChange={setVisible}\n className=\"solid-dialog\"\n style={{ width: dialogWidth, height: dialogHeight }}\n >\n <SolidDialogHeader>\n <SolidDialogClose aria-label=\"Close dialog\" />\n </SolidDialogHeader>\n <SolidDialogBody>\n <SolidFormView {...params} />\n </SolidDialogBody>\n </SolidDialog>\n );\n};\n"]}
1
+ {"version":3,"file":"InlineRelationEntityDialog.js","sourceRoot":"","sources":["../../../../../../../../src/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,WAAW,EACX,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,aAAa,MAAM,yDAAyD,CAAC;AAEpF,MAAM,CAAC,IAAM,0BAA0B,GAAG,UAAC,EAAoD;;QAAlD,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA,EAAE,QAAQ,cAAA;IACtF,IAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAE3C,IAAM,MAAM,GAAG;QACb,UAAU,EAAE,YAAY,CAAC,aAAa,CAAC,uBAAuB;QAC9D,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,kBAAkB;QACxD,mBAAmB,EAAE,UAAC,MAAW;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,oBAAoB,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,oBAAoB;QAClE,gBAAgB,EAAE,cAAM,OAAA,UAAU,CAAC,KAAK,CAAC,EAAjB,CAAiB;QACzC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,2BAA2B,CAAC;KAC7E,CAAC;IAEF,IAAM,WAAW,GAAG,MAAA,MAAA,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,kBAAkB,0CAAE,KAAK,0CAAE,KAAK,mCAAI,MAAM,CAAC;IACvF,IAAM,YAAY,GAAG,MAAA,MAAA,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,kBAAkB,0CAAE,KAAK,0CAAE,MAAM,mCAAI,MAAM,CAAC;IAEzF,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,UAAU,EACxB,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAEnD,KAAC,eAAe,cACd,KAAC,aAAa,eAAK,MAAM,EAAI,GACb,GACN,CACf,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\n SolidDialog,\n SolidDialogBody,\n} from \"../../../../../../shad-cn-ui/SolidDialog\";\nimport { camelCase } from \"lodash\";\nimport SolidFormView from \"../../../../../../../components/core/form/SolidFormView\";\n\nexport const InlineRelationEntityDialog = ({ visible, setVisible, fieldContext, onCreate }: any) => {\n const fieldLayoutInfo = fieldContext.field;\n\n const params = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: \"new\",\n embeded: true,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n customCreateHandler: (values: any) => {\n setVisible(false);\n onCreate(values);\n },\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n handlePopupClose: () => setVisible(false),\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName)\n };\n\n const dialogWidth = fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? \"60vw\";\n const dialogHeight = fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? \"auto\";\n\n return (\n <SolidDialog\n open={visible}\n onOpenChange={setVisible}\n className=\"solid-dialog\"\n style={{ width: dialogWidth, height: dialogHeight }}\n >\n <SolidDialogBody>\n <SolidFormView {...params} />\n </SolidDialogBody>\n </SolidDialog>\n );\n};\n"]}
@@ -1,8 +1,6 @@
1
1
  import {
2
2
  SolidDialog,
3
3
  SolidDialogBody,
4
- SolidDialogClose,
5
- SolidDialogHeader,
6
4
  } from "../../../../../../shad-cn-ui/SolidDialog";
7
5
  import { camelCase } from "lodash";
8
6
  import SolidFormView from "../../../../../../../components/core/form/SolidFormView";
@@ -34,9 +32,6 @@ export const InlineRelationEntityDialog = ({ visible, setVisible, fieldContext,
34
32
  className="solid-dialog"
35
33
  style={{ width: dialogWidth, height: dialogHeight }}
36
34
  >
37
- <SolidDialogHeader>
38
- <SolidDialogClose aria-label="Close dialog" />
39
- </SolidDialogHeader>
40
35
  <SolidDialogBody>
41
36
  <SolidFormView {...params} />
42
37
  </SolidDialogBody>
@@ -44,7 +44,6 @@
44
44
  .fieldInput:focus-visible {
45
45
  outline: none !important;
46
46
  border-color: color-mix(in srgb, var(--primary-color, var(--primary)) 65%, var(--border)) !important;
47
- box-shadow: 0 0 0 3px var(--ring) !important;
48
47
  }
49
48
 
50
49
  .fieldInput:disabled {
@@ -71,7 +70,6 @@
71
70
  .fieldTextarea:focus-visible {
72
71
  outline: none !important;
73
72
  border-color: color-mix(in srgb, var(--primary-color, var(--primary)) 65%, var(--border)) !important;
74
- box-shadow: 0 0 0 3px var(--ring) !important;
75
73
  }
76
74
 
77
75
  .fieldTextarea:disabled {
@@ -105,7 +103,6 @@
105
103
  .fieldNumberWrapper :global(.p-inputnumber-input):focus {
106
104
  outline: none !important;
107
105
  border-color: color-mix(in srgb, var(--primary-color, var(--primary)) 65%, var(--border)) !important;
108
- box-shadow: 0 0 0 3px var(--ring) !important;
109
106
  }
110
107
 
111
108
  .fieldNumberWrapper :global(.p-inputnumber-input):disabled {
@@ -1,7 +1,7 @@
1
1
  import { SolidFormFieldWidgetProps } from "../../../../../types/solid-core";
2
2
  import "viewerjs/dist/viewer.css";
3
3
  /**
4
- * SolidS3FileViewerWidget (PrimeReact version)
4
+ * SolidS3FileViewerWidget
5
5
  */
6
6
  export declare const SolidS3FileViewerWidget: ({ formik, fieldContext }: SolidFormFieldWidgetProps) => import("react/jsx-runtime").JSX.Element;
7
7
  //# sourceMappingURL=SolidS3FileViewerWidget.d.ts.map
@@ -43,7 +43,7 @@ import "viewerjs/dist/viewer.css";
43
43
  import { SolidImageViewer } from "../../../../../components/core/common/SolidImageViewer";
44
44
  import { fetchS3Url } from "../../../../..//helpers/fetchS3Url";
45
45
  /**
46
- * SolidS3FileViewerWidget (PrimeReact version)
46
+ * SolidS3FileViewerWidget
47
47
  */
48
48
  export var SolidS3FileViewerWidget = function (_a) {
49
49
  var _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidS3FileViewerWidget.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useRef, useState } from \"react\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { SolidButton } from \"../../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"../../../../shad-cn-ui/SolidDialog\";\nimport { useResolveS3UrlMutation } from \"../../../../../redux/api/fieldApi\";\nimport Viewer from \"viewerjs\";\nimport \"viewerjs/dist/viewer.css\";\nimport { SolidImageViewer } from \"../../../../../components/core/common/SolidImageViewer\";\nimport { fetchS3Url, type FetchS3UrlOptions } from \"../../../../..//helpers/fetchS3Url\";\n\n/**\n * SolidS3FileViewerWidget (PrimeReact version)\n */\nexport const SolidS3FileViewerWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const fileType = fieldLayoutInfo.attrs.fileType?.toLowerCase();\n const downloadAllowed = fieldLayoutInfo.attrs.downloadAllowed !== false;\n const bucketName = fieldLayoutInfo.attrs.bucketName;\n const mediaStorageProviderUserKey = fieldLayoutInfo.attrs.mediaStorageProviderUserKey;\n const isPrivate = fieldLayoutInfo.attrs.isPrivate ? fieldLayoutInfo.attrs.isPrivate : \"false\";\n\n const imageRef = useRef<HTMLImageElement | null>(null);\n const viewerRef = useRef<Viewer | null>(null);\n\n const [previewUrl, setPreviewUrl] = useState<string>(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [open, setOpen] = useState(false);\n const [shouldShowViewer, setShouldShowViewer] = useState(false);\n\n const [resolveS3Url] = useResolveS3UrlMutation();\n\n const resolveFileUrl = async () => {\n setIsLoading(true);\n\n const options: FetchS3UrlOptions = {\n s3Key: value,\n fileType: fileType,\n bucketName: bucketName,\n mediaStorageProviderUserKey: mediaStorageProviderUserKey,\n isPrivate: isPrivate\n };\n\n const url = await fetchS3Url(resolveS3Url, options);\n setIsLoading(false);\n return url;\n };\n\n const handleDownload = async () => {\n if (isLoading) return;\n const url = await resolveFileUrl();\n if (!url) return;\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = value?.split(\"/\").pop() || \"file\";\n a.target = \"_blank\";\n a.rel = \"noopener noreferrer\";\n a.click();\n };\n\n const handleView = async () => {\n console.log(\"isLoading in view\", isLoading);\n if (isLoading) return;\n\n const url = await resolveFileUrl();\n console.log(\"url after fetch success\", url);\n if (!url) return;\n\n setPreviewUrl(url);\n\n if (isImage) {\n // Trigger viewer to show after state update\n setShouldShowViewer(true);\n } else {\n setOpen(true);\n }\n };\n\n const isImage = [\"jpeg\", \"jpg\", \"png\", \"gif\", \"webp\"].includes(fileType);\n const isPDF = fileType === \"pdf\";\n const isDownloadOnly = [\"xlsx\", \"xls\", \"csv\", \"doc\", \"docx\"].includes(fileType);\n\n // 🔹 Initialize Viewer.js once image exists\n // useEffect(() => {\n // if (imageRef.current && previewUrl && isImage) {\n // // Destroy existing viewer if any\n // if (viewerRef.current) {\n // viewerRef.current.destroy();\n // }\n\n // // Create new viewer instance\n // viewerRef.current = new Viewer(imageRef.current, {\n // toolbar: {\n // zoomIn: 1,\n // zoomOut: 1,\n // rotateLeft: 1,\n // rotateRight: 1,\n // reset: 1,\n // },\n // navbar: false,\n // title: false,\n // transition: true,\n // movable: true,\n // scalable: true,\n // rotatable: true,\n // zoomable: true,\n // zIndex: 9999,\n // // Add hidden event to reset state\n // hidden: () => {\n // setShouldShowViewer(false);\n // }\n // });\n\n // console.log(\"Viewer initialized\");\n // }\n\n // return () => {\n // if (viewerRef.current) {\n // viewerRef.current.destroy();\n // viewerRef.current = null;\n // }\n // };\n // }, [previewUrl, isImage]);\n\n // 🔹 Show viewer when shouldShowViewer becomes true\n // useEffect(() => {\n // if (shouldShowViewer && viewerRef.current) {\n // console.log(\"Showing viewer\");\n // viewerRef.current.show();\n // }\n // }, [shouldShowViewer]);\n\n return (\n <div className=\"mt-2 flex flex-col gap-2\">\n <p className=\"m-0 form-field-label font-medium\">{fieldLabel}</p>\n\n {value ? (\n <div className=\"flex gap-3 items-center\">\n {(isImage || isPDF) && (\n <SolidButton\n icon=\"si si-eye\"\n type=\"button\"\n style={{ minWidth: 66 }}\n loading={isLoading}\n tooltip={value}\n disabled={isLoading}\n size=\"sm\"\n iconPos=\"left\"\n onClick={handleView}\n >\n {`View ${fileType}`}\n </SolidButton>\n )}\n {downloadAllowed && (\n <SolidButton\n size=\"sm\"\n type=\"button\"\n icon=\"si si-download\"\n tooltip={`Download ${value?.split(\"/\").pop()}`}\n loading={isLoading}\n onClick={handleDownload}\n disabled={isLoading}\n className='solid-icon-button' />\n )}\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground\">No file uploaded</p>\n )}\n\n {/* Hidden image for Viewer.js - keep visibility hidden instead of display none */}\n {isImage && previewUrl && (\n // <img\n // ref={imageRef}\n // src={previewUrl}\n // alt={value}\n // style={{\n // position: \"absolute\",\n // visibility: \"hidden\",\n // width: \"1px\",\n // height: \"1px\"\n // }}\n // />\n <SolidImageViewer\n images={[previewUrl]}\n open={shouldShowViewer}\n onClose={() => setShouldShowViewer(false)}\n viewerOptions={{\n toolbar: {\n zoomIn: 1,\n zoomOut: 1,\n rotateLeft: 1,\n rotateRight: 1,\n reset: 1,\n },\n }}\n />\n\n )}\n\n <SolidDialog\n open={open}\n onOpenChange={setOpen}\n className=\"solid-confirm-dialog\"\n style={{ width: \"80vw\", maxHeight: \"90vh\" }}\n >\n <SolidDialogHeader className=\"p-1 form-wrapper-title\">\n <SolidDialogTitle>{value}</SolidDialogTitle>\n <SolidDialogClose aria-label=\"Close preview\" />\n </SolidDialogHeader>\n <SolidDialogBody className=\"p-0\">\n {previewUrl && isPDF && (\n <div\n style={{\n width: \"100%\",\n height: \"75vh\",\n overflow: \"hidden\",\n borderRadius: 6,\n }}\n >\n <iframe\n src={previewUrl}\n style={{ width: \"100%\", height: \"100%\", border: \"none\" }}\n />\n </div>\n )}\n </SolidDialogBody>\n </SolidDialog>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidS3FileViewerWidget.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useRef, useState } from \"react\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { SolidButton } from \"../../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"../../../../shad-cn-ui/SolidDialog\";\nimport { useResolveS3UrlMutation } from \"../../../../../redux/api/fieldApi\";\nimport Viewer from \"viewerjs\";\nimport \"viewerjs/dist/viewer.css\";\nimport { SolidImageViewer } from \"../../../../../components/core/common/SolidImageViewer\";\nimport { fetchS3Url, type FetchS3UrlOptions } from \"../../../../..//helpers/fetchS3Url\";\n\n/**\n * SolidS3FileViewerWidget\n */\nexport const SolidS3FileViewerWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const fileType = fieldLayoutInfo.attrs.fileType?.toLowerCase();\n const downloadAllowed = fieldLayoutInfo.attrs.downloadAllowed !== false;\n const bucketName = fieldLayoutInfo.attrs.bucketName;\n const mediaStorageProviderUserKey = fieldLayoutInfo.attrs.mediaStorageProviderUserKey;\n const isPrivate = fieldLayoutInfo.attrs.isPrivate ? fieldLayoutInfo.attrs.isPrivate : \"false\";\n\n const imageRef = useRef<HTMLImageElement | null>(null);\n const viewerRef = useRef<Viewer | null>(null);\n\n const [previewUrl, setPreviewUrl] = useState<string>(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [open, setOpen] = useState(false);\n const [shouldShowViewer, setShouldShowViewer] = useState(false);\n\n const [resolveS3Url] = useResolveS3UrlMutation();\n\n const resolveFileUrl = async () => {\n setIsLoading(true);\n\n const options: FetchS3UrlOptions = {\n s3Key: value,\n fileType: fileType,\n bucketName: bucketName,\n mediaStorageProviderUserKey: mediaStorageProviderUserKey,\n isPrivate: isPrivate\n };\n\n const url = await fetchS3Url(resolveS3Url, options);\n setIsLoading(false);\n return url;\n };\n\n const handleDownload = async () => {\n if (isLoading) return;\n const url = await resolveFileUrl();\n if (!url) return;\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = value?.split(\"/\").pop() || \"file\";\n a.target = \"_blank\";\n a.rel = \"noopener noreferrer\";\n a.click();\n };\n\n const handleView = async () => {\n console.log(\"isLoading in view\", isLoading);\n if (isLoading) return;\n\n const url = await resolveFileUrl();\n console.log(\"url after fetch success\", url);\n if (!url) return;\n\n setPreviewUrl(url);\n\n if (isImage) {\n // Trigger viewer to show after state update\n setShouldShowViewer(true);\n } else {\n setOpen(true);\n }\n };\n\n const isImage = [\"jpeg\", \"jpg\", \"png\", \"gif\", \"webp\"].includes(fileType);\n const isPDF = fileType === \"pdf\";\n const isDownloadOnly = [\"xlsx\", \"xls\", \"csv\", \"doc\", \"docx\"].includes(fileType);\n\n // 🔹 Initialize Viewer.js once image exists\n // useEffect(() => {\n // if (imageRef.current && previewUrl && isImage) {\n // // Destroy existing viewer if any\n // if (viewerRef.current) {\n // viewerRef.current.destroy();\n // }\n\n // // Create new viewer instance\n // viewerRef.current = new Viewer(imageRef.current, {\n // toolbar: {\n // zoomIn: 1,\n // zoomOut: 1,\n // rotateLeft: 1,\n // rotateRight: 1,\n // reset: 1,\n // },\n // navbar: false,\n // title: false,\n // transition: true,\n // movable: true,\n // scalable: true,\n // rotatable: true,\n // zoomable: true,\n // zIndex: 9999,\n // // Add hidden event to reset state\n // hidden: () => {\n // setShouldShowViewer(false);\n // }\n // });\n\n // console.log(\"Viewer initialized\");\n // }\n\n // return () => {\n // if (viewerRef.current) {\n // viewerRef.current.destroy();\n // viewerRef.current = null;\n // }\n // };\n // }, [previewUrl, isImage]);\n\n // 🔹 Show viewer when shouldShowViewer becomes true\n // useEffect(() => {\n // if (shouldShowViewer && viewerRef.current) {\n // console.log(\"Showing viewer\");\n // viewerRef.current.show();\n // }\n // }, [shouldShowViewer]);\n\n return (\n <div className=\"mt-2 flex flex-col gap-2\">\n <p className=\"m-0 form-field-label font-medium\">{fieldLabel}</p>\n\n {value ? (\n <div className=\"flex gap-3 items-center\">\n {(isImage || isPDF) && (\n <SolidButton\n icon=\"si si-eye\"\n type=\"button\"\n style={{ minWidth: 66 }}\n loading={isLoading}\n tooltip={value}\n disabled={isLoading}\n size=\"sm\"\n iconPos=\"left\"\n onClick={handleView}\n >\n {`View ${fileType}`}\n </SolidButton>\n )}\n {downloadAllowed && (\n <SolidButton\n size=\"sm\"\n type=\"button\"\n icon=\"si si-download\"\n tooltip={`Download ${value?.split(\"/\").pop()}`}\n loading={isLoading}\n onClick={handleDownload}\n disabled={isLoading}\n className='solid-icon-button' />\n )}\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground\">No file uploaded</p>\n )}\n\n {/* Hidden image for Viewer.js - keep visibility hidden instead of display none */}\n {isImage && previewUrl && (\n // <img\n // ref={imageRef}\n // src={previewUrl}\n // alt={value}\n // style={{\n // position: \"absolute\",\n // visibility: \"hidden\",\n // width: \"1px\",\n // height: \"1px\"\n // }}\n // />\n <SolidImageViewer\n images={[previewUrl]}\n open={shouldShowViewer}\n onClose={() => setShouldShowViewer(false)}\n viewerOptions={{\n toolbar: {\n zoomIn: 1,\n zoomOut: 1,\n rotateLeft: 1,\n rotateRight: 1,\n reset: 1,\n },\n }}\n />\n\n )}\n\n <SolidDialog\n open={open}\n onOpenChange={setOpen}\n className=\"solid-confirm-dialog\"\n style={{ width: \"80vw\", maxHeight: \"90vh\" }}\n >\n <SolidDialogHeader className=\"p-1 form-wrapper-title\">\n <SolidDialogTitle>{value}</SolidDialogTitle>\n <SolidDialogClose aria-label=\"Close preview\" />\n </SolidDialogHeader>\n <SolidDialogBody className=\"p-0\">\n {previewUrl && isPDF && (\n <div\n style={{\n width: \"100%\",\n height: \"75vh\",\n overflow: \"hidden\",\n borderRadius: 6,\n }}\n >\n <iframe\n src={previewUrl}\n style={{ width: \"100%\", height: \"100%\", border: \"none\" }}\n />\n </div>\n )}\n </SolidDialogBody>\n </SolidDialog>\n </div>\n );\n};\n"]}
@@ -16,7 +16,7 @@ import { SolidImageViewer } from "../../../../../components/core/common/SolidIma
16
16
  import { fetchS3Url, type FetchS3UrlOptions } from "../../../../..//helpers/fetchS3Url";
17
17
 
18
18
  /**
19
- * SolidS3FileViewerWidget (PrimeReact version)
19
+ * SolidS3FileViewerWidget
20
20
  */
21
21
  export const SolidS3FileViewerWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {
22
22
  const fieldMetadata = fieldContext.fieldMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanCard.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,uBAAuB,EAAE,GAAG,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuFzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"KanbanCard.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,uBAAuB,EAAE,GAAG,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuFzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { useRouter } from "../../../hooks/useRouter";
14
- import { Draggable } from "@hello-pangea/dnd";
14
+ import { CompatibleDraggable } from "../common/dndCompat";
15
15
  import { SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuTrigger, SolidIcon, } from "../../shad-cn-ui";
16
16
  var KanbanCard = function (_a) {
17
17
  var data = _a.data, solidKanbanViewMetaData = _a.solidKanbanViewMetaData, index = _a.index, _b = _a.isDragDisabled, isDragDisabled = _b === void 0 ? false : _b, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, editButtonUrl = _a.editButtonUrl, groupByFieldName = _a.groupByFieldName, group = _a.group, cardNode = _a.cardNode, DynamicCardWidget = _a.DynamicCardWidget;
@@ -28,7 +28,7 @@ var KanbanCard = function (_a) {
28
28
  var renderKanbanAction = function (data) {
29
29
  return (_jsx("div", { className: "solid-kanban-action", onClick: function (e) { return e.stopPropagation(); }, children: _jsxs(SolidDropdownMenu, { children: [_jsx(SolidDropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "solid-header-cog-trigger solid-kanban-action-trigger", "aria-label": "Open card actions", children: _jsx(SolidIcon, { name: "si-ellipsis-v", "aria-hidden": true }) }) }), _jsx(SolidDropdownMenuContent, { className: "solid-custom-overlay", align: "end", children: _jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () { return router.push("".concat(editButtonUrl, "/").concat(data === null || data === void 0 ? void 0 : data.id)); }, children: [_jsx(SolidIcon, { name: "si-pencil", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Edit" })] }) })] }) }));
30
30
  };
31
- return (_jsx(Draggable, { draggableId: String(data.id), index: index, isDragDisabled: isDragDisabled, children: function (provided, snapshot) {
31
+ return (_jsx(CompatibleDraggable, { draggableId: String(data.id), index: index, isDragDisabled: isDragDisabled, children: function (provided, snapshot) {
32
32
  var _a, _b;
33
33
  return (_jsx("div", __assign({ className: "", ref: provided.innerRef }, provided.draggableProps, (!isDragDisabled ? provided.dragHandleProps : {}), { style: __assign({ marginTop: "1rem" }, provided.draggableProps.style), className: "kanban-card-container", children: _jsxs("div", { style: {
34
34
  opacity: snapshot.isDragging ? 0.9 : 1,