@solidstarters/solid-core-ui 1.1.17 → 1.1.19

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 (295) hide show
  1. package/dist/components/Svg/FileSvg.d.ts +4 -0
  2. package/dist/components/Svg/FileSvg.d.ts.map +1 -0
  3. package/dist/components/Svg/FileSvg.js +15 -0
  4. package/dist/components/Svg/FileSvg.js.map +1 -0
  5. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  6. package/dist/components/auth/AuthLayout.js +6 -6
  7. package/dist/components/auth/AuthLayout.js.map +1 -1
  8. package/dist/components/auth/SolidForgotPassword.js +1 -1
  9. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  10. package/dist/components/auth/SolidInitialLoginOtp.js +1 -1
  11. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  12. package/dist/components/auth/SolidInitiateRegisterOtp.js +1 -1
  13. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  14. package/dist/components/auth/SolidResetPassword.js +1 -1
  15. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  16. package/dist/components/common/DropzonePlaceholder.d.ts +6 -1
  17. package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
  18. package/dist/components/common/DropzonePlaceholder.js +8 -2
  19. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  20. package/dist/components/common/FileReaderExt.d.ts.map +1 -1
  21. package/dist/components/common/FileReaderExt.js +2 -1
  22. package/dist/components/common/FileReaderExt.js.map +1 -1
  23. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -1
  24. package/dist/components/common/SingleSelectAutoCompleteField.js +3 -1
  25. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
  26. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts.map +1 -1
  27. package/dist/components/core/common/SolidConfigureLayoutElement.js +28 -6
  28. package/dist/components/core/common/SolidConfigureLayoutElement.js.map +1 -1
  29. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  30. package/dist/components/core/common/SolidGlobalSearchElement.js +6 -6
  31. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  32. package/dist/components/core/form/SolidFormView.js +3 -5
  33. package/dist/components/core/form/SolidFormView.js.map +1 -1
  34. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  35. package/dist/components/core/form/fields/SolidBooleanField.js +9 -7
  36. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  37. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  38. package/dist/components/core/form/fields/SolidDateField.js +7 -5
  39. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  40. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  41. package/dist/components/core/form/fields/SolidDateTimeField.js +7 -5
  42. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  43. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  44. package/dist/components/core/form/fields/SolidDecimalField.js +9 -7
  45. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  46. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  47. package/dist/components/core/form/fields/SolidIntegerField.js +9 -7
  48. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  49. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  50. package/dist/components/core/form/fields/SolidJsonField.js +6 -4
  51. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  52. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  53. package/dist/components/core/form/fields/SolidLongTextField.js +8 -6
  54. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  55. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  56. package/dist/components/core/form/fields/SolidMediaMultipleField.js +61 -57
  57. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  58. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  59. package/dist/components/core/form/fields/SolidMediaSingleField.js +74 -91
  60. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  61. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  62. package/dist/components/core/form/fields/SolidRichTextField.js +9 -7
  63. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  64. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  65. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +10 -8
  66. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  67. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  68. package/dist/components/core/form/fields/SolidSelectionStaticField.js +10 -8
  69. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  70. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  71. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  72. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  73. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  74. package/dist/components/core/form/fields/SolidTimeField.js +7 -5
  75. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  76. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  77. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +15 -11
  78. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  79. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts +1 -0
  80. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  81. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +66 -7
  82. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  83. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  84. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +12 -10
  85. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  86. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  87. package/dist/components/core/list/SolidListView.js +42 -34
  88. package/dist/components/core/list/SolidListView.js.map +1 -1
  89. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  90. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +9 -2
  91. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  92. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  93. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +10 -3
  94. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  95. package/dist/components/core/model/CreateModel.js +3 -4
  96. package/dist/components/core/model/CreateModel.js.map +1 -1
  97. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  98. package/dist/components/core/model/FieldMetaData.js +54 -1
  99. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  100. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
  101. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  102. package/dist/components/core/model/FieldMetaDataForm.js +118 -51
  103. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  104. package/dist/components/core/module/CreateModule.js +5 -5
  105. package/dist/components/core/module/CreateModule.js.map +1 -1
  106. package/dist/components/core/users/CreateUser.js +1 -2
  107. package/dist/components/core/users/CreateUser.js.map +1 -1
  108. package/dist/components/layout/AppConfig.js +1 -1
  109. package/dist/components/layout/navbar-two-menu.js +1 -1
  110. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  111. package/dist/components/layout/user-profile-menu.js +1 -1
  112. package/dist/components/layout/user-profile-menu.js.map +1 -1
  113. package/dist/helpers/downloadMediaFile.d.ts +2 -0
  114. package/dist/helpers/downloadMediaFile.d.ts.map +1 -0
  115. package/dist/helpers/downloadMediaFile.js +66 -0
  116. package/dist/helpers/downloadMediaFile.js.map +1 -0
  117. package/dist/helpers/getAcceptedFileTypes.d.ts +4 -0
  118. package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -0
  119. package/dist/helpers/getAcceptedFileTypes.js +20 -0
  120. package/dist/helpers/getAcceptedFileTypes.js.map +1 -0
  121. package/dist/index.js +2 -2
  122. package/dist/nextAuth/authProviders.d.ts.map +1 -1
  123. package/dist/nextAuth/authProviders.js +15 -10
  124. package/dist/nextAuth/authProviders.js.map +1 -1
  125. package/dist/redux/api/modelApi.d.ts +2 -1
  126. package/dist/redux/api/modelApi.d.ts.map +1 -1
  127. package/dist/redux/api/modelApi.js +9 -2
  128. package/dist/redux/api/modelApi.js.map +1 -1
  129. package/dist/stylesheets/globals.css +2476 -0
  130. package/dist/stylesheets/styles/SF-Pro-Display-Regular.otf +0 -0
  131. package/dist/stylesheets/styles/layout/_config.scss +54 -0
  132. package/dist/stylesheets/styles/layout/_content.scss +77 -0
  133. package/dist/stylesheets/styles/layout/_footer.scss +8 -0
  134. package/dist/stylesheets/styles/layout/_main.scss +47 -0
  135. package/dist/stylesheets/styles/layout/_menu.scss +185 -0
  136. package/dist/stylesheets/styles/layout/_mixins.scss +13 -0
  137. package/dist/stylesheets/styles/layout/_responsive.scss +99 -0
  138. package/dist/stylesheets/styles/layout/_topbar.scss +149 -0
  139. package/dist/stylesheets/styles/layout/_typography.scss +63 -0
  140. package/dist/stylesheets/styles/layout/_utils.scss +27 -0
  141. package/dist/stylesheets/styles/layout/_variables.scss +3 -0
  142. package/dist/stylesheets/styles/layout/layout.scss +11 -0
  143. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Black.otf +0 -0
  144. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Bold.otf +0 -0
  145. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Heavy.otf +0 -0
  146. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Light.otf +0 -0
  147. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Medium.otf +0 -0
  148. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Regular.otf +0 -0
  149. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Semibold.otf +0 -0
  150. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Thin.otf +0 -0
  151. package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Ultralight.otf +0 -0
  152. package/dist/stylesheets/themes/solid-dark-purple/theme.css +9051 -0
  153. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Black.otf +0 -0
  154. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Bold.otf +0 -0
  155. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Heavy.otf +0 -0
  156. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Light.otf +0 -0
  157. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Medium.otf +0 -0
  158. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Regular.otf +0 -0
  159. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Semibold.otf +0 -0
  160. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Thin.otf +0 -0
  161. package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Ultralight.otf +0 -0
  162. package/dist/stylesheets/themes/solid-light-purple/theme.css +9077 -0
  163. package/package.json +1 -1
  164. package/src/components/Svg/FileSvg.tsx +18 -0
  165. package/src/components/auth/AuthLayout.tsx +7 -5
  166. package/src/components/auth/SolidForgotPassword.tsx +1 -1
  167. package/src/components/auth/SolidInitialLoginOtp.tsx +1 -1
  168. package/src/components/auth/SolidInitiateRegisterOtp.tsx +1 -1
  169. package/src/components/auth/SolidResetPassword.tsx +1 -1
  170. package/src/components/common/DropzonePlaceholder.tsx +22 -9
  171. package/src/components/common/FileReaderExt.tsx +5 -3
  172. package/src/components/common/SingleSelectAutoCompleteField.tsx +3 -1
  173. package/src/components/core/common/SolidConfigureLayoutElement.tsx +72 -31
  174. package/src/components/core/common/SolidGlobalSearchElement.tsx +7 -6
  175. package/src/components/core/form/SolidFormView.tsx +4 -4
  176. package/src/components/core/form/fields/SolidBooleanField.tsx +6 -3
  177. package/src/components/core/form/fields/SolidDateField.tsx +6 -3
  178. package/src/components/core/form/fields/SolidDateTimeField.tsx +6 -3
  179. package/src/components/core/form/fields/SolidDecimalField.tsx +6 -3
  180. package/src/components/core/form/fields/SolidIntegerField.tsx +6 -3
  181. package/src/components/core/form/fields/SolidJsonField.tsx +6 -3
  182. package/src/components/core/form/fields/SolidLongTextField.tsx +6 -3
  183. package/src/components/core/form/fields/SolidMediaMultipleField.tsx +122 -98
  184. package/src/components/core/form/fields/SolidMediaSingleField.tsx +115 -126
  185. package/src/components/core/form/fields/SolidRichTextField.tsx +7 -3
  186. package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +6 -3
  187. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +6 -3
  188. package/src/components/core/form/fields/SolidShortTextField.tsx +8 -4
  189. package/src/components/core/form/fields/SolidTimeField.tsx +7 -4
  190. package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +29 -25
  191. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +92 -2
  192. package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +5 -1
  193. package/src/components/core/list/SolidListView.tsx +12 -3
  194. package/src/components/core/list/columns/SolidMediaMultipleColumn.tsx +18 -0
  195. package/src/components/core/list/columns/SolidMediaSingleColumn.tsx +21 -0
  196. package/src/components/core/model/CreateModel.tsx +4 -4
  197. package/src/components/core/model/FieldMetaData.tsx +25 -1
  198. package/src/components/core/model/FieldMetaDataForm.tsx +108 -18
  199. package/src/components/core/module/CreateModule.tsx +5 -5
  200. package/src/components/core/users/CreateUser.tsx +2 -2
  201. package/src/components/layout/AppConfig.tsx +1 -1
  202. package/src/components/layout/navbar-two-menu.tsx +1 -1
  203. package/src/components/layout/user-profile-menu.tsx +7 -8
  204. package/src/helpers/downloadMediaFile.tsx +19 -0
  205. package/src/helpers/getAcceptedFileTypes.tsx +22 -0
  206. package/src/nextAuth/authProviders.tsx +3 -2
  207. package/src/redux/api/modelApi.ts +9 -2
  208. package/dist/components/common/FilterComponent.d.ts +0 -3
  209. package/dist/components/common/FilterComponent.d.ts.map +0 -1
  210. package/dist/components/common/FilterComponent.js +0 -214
  211. package/dist/components/common/FilterComponent.js.map +0 -1
  212. package/dist/components/core/filter/columns/SolidBigintField.d.ts +0 -4
  213. package/dist/components/core/filter/columns/SolidBigintField.d.ts.map +0 -1
  214. package/dist/components/core/filter/columns/SolidBigintField.js +0 -8
  215. package/dist/components/core/filter/columns/SolidBigintField.js.map +0 -1
  216. package/dist/components/core/filter/columns/SolidBooleanField.d.ts +0 -4
  217. package/dist/components/core/filter/columns/SolidBooleanField.d.ts.map +0 -1
  218. package/dist/components/core/filter/columns/SolidBooleanField.js +0 -27
  219. package/dist/components/core/filter/columns/SolidBooleanField.js.map +0 -1
  220. package/dist/components/core/filter/columns/SolidComputedField.d.ts +0 -4
  221. package/dist/components/core/filter/columns/SolidComputedField.d.ts.map +0 -1
  222. package/dist/components/core/filter/columns/SolidComputedField.js +0 -22
  223. package/dist/components/core/filter/columns/SolidComputedField.js.map +0 -1
  224. package/dist/components/core/filter/columns/SolidDateField.d.ts +0 -9
  225. package/dist/components/core/filter/columns/SolidDateField.d.ts.map +0 -1
  226. package/dist/components/core/filter/columns/SolidDateField.js +0 -35
  227. package/dist/components/core/filter/columns/SolidDateField.js.map +0 -1
  228. package/dist/components/core/filter/columns/SolidDatetimeField.d.ts +0 -4
  229. package/dist/components/core/filter/columns/SolidDatetimeField.d.ts.map +0 -1
  230. package/dist/components/core/filter/columns/SolidDatetimeField.js +0 -24
  231. package/dist/components/core/filter/columns/SolidDatetimeField.js.map +0 -1
  232. package/dist/components/core/filter/columns/SolidDecimalField.d.ts +0 -4
  233. package/dist/components/core/filter/columns/SolidDecimalField.d.ts.map +0 -1
  234. package/dist/components/core/filter/columns/SolidDecimalField.js +0 -8
  235. package/dist/components/core/filter/columns/SolidDecimalField.js.map +0 -1
  236. package/dist/components/core/filter/columns/SolidExternalIdField.d.ts +0 -4
  237. package/dist/components/core/filter/columns/SolidExternalIdField.d.ts.map +0 -1
  238. package/dist/components/core/filter/columns/SolidExternalIdField.js +0 -25
  239. package/dist/components/core/filter/columns/SolidExternalIdField.js.map +0 -1
  240. package/dist/components/core/filter/columns/SolidFloatField.d.ts +0 -4
  241. package/dist/components/core/filter/columns/SolidFloatField.d.ts.map +0 -1
  242. package/dist/components/core/filter/columns/SolidFloatField.js +0 -8
  243. package/dist/components/core/filter/columns/SolidFloatField.js.map +0 -1
  244. package/dist/components/core/filter/columns/SolidIdField.d.ts +0 -4
  245. package/dist/components/core/filter/columns/SolidIdField.d.ts.map +0 -1
  246. package/dist/components/core/filter/columns/SolidIdField.js +0 -25
  247. package/dist/components/core/filter/columns/SolidIdField.js.map +0 -1
  248. package/dist/components/core/filter/columns/SolidIntField.d.ts +0 -4
  249. package/dist/components/core/filter/columns/SolidIntField.d.ts.map +0 -1
  250. package/dist/components/core/filter/columns/SolidIntField.js +0 -34
  251. package/dist/components/core/filter/columns/SolidIntField.js.map +0 -1
  252. package/dist/components/core/filter/columns/SolidLongTextField.d.ts +0 -4
  253. package/dist/components/core/filter/columns/SolidLongTextField.d.ts.map +0 -1
  254. package/dist/components/core/filter/columns/SolidLongTextField.js +0 -8
  255. package/dist/components/core/filter/columns/SolidLongTextField.js.map +0 -1
  256. package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts +0 -4
  257. package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts.map +0 -1
  258. package/dist/components/core/filter/columns/SolidMediaMultipleField.js +0 -35
  259. package/dist/components/core/filter/columns/SolidMediaMultipleField.js.map +0 -1
  260. package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts +0 -4
  261. package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts.map +0 -1
  262. package/dist/components/core/filter/columns/SolidMediaSingleField.js +0 -35
  263. package/dist/components/core/filter/columns/SolidMediaSingleField.js.map +0 -1
  264. package/dist/components/core/filter/columns/SolidRelationField.d.ts +0 -4
  265. package/dist/components/core/filter/columns/SolidRelationField.d.ts.map +0 -1
  266. package/dist/components/core/filter/columns/SolidRelationField.js +0 -12
  267. package/dist/components/core/filter/columns/SolidRelationField.js.map +0 -1
  268. package/dist/components/core/filter/columns/SolidRichTextField.d.ts +0 -4
  269. package/dist/components/core/filter/columns/SolidRichTextField.d.ts.map +0 -1
  270. package/dist/components/core/filter/columns/SolidRichTextField.js +0 -8
  271. package/dist/components/core/filter/columns/SolidRichTextField.js.map +0 -1
  272. package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts +0 -4
  273. package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts.map +0 -1
  274. package/dist/components/core/filter/columns/SolidSelectionDynamicField.js +0 -25
  275. package/dist/components/core/filter/columns/SolidSelectionDynamicField.js.map +0 -1
  276. package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts +0 -4
  277. package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts.map +0 -1
  278. package/dist/components/core/filter/columns/SolidSelectionStaticField.js +0 -26
  279. package/dist/components/core/filter/columns/SolidSelectionStaticField.js.map +0 -1
  280. package/dist/components/core/filter/columns/SolidShortTextField.d.ts +0 -4
  281. package/dist/components/core/filter/columns/SolidShortTextField.d.ts.map +0 -1
  282. package/dist/components/core/filter/columns/SolidShortTextField.js +0 -33
  283. package/dist/components/core/filter/columns/SolidShortTextField.js.map +0 -1
  284. package/dist/components/core/filter/columns/SolidTimeField.d.ts +0 -4
  285. package/dist/components/core/filter/columns/SolidTimeField.d.ts.map +0 -1
  286. package/dist/components/core/filter/columns/SolidTimeField.js +0 -24
  287. package/dist/components/core/filter/columns/SolidTimeField.js.map +0 -1
  288. package/dist/components/core/filter/columns/SolidUuidField.d.ts +0 -4
  289. package/dist/components/core/filter/columns/SolidUuidField.d.ts.map +0 -1
  290. package/dist/components/core/filter/columns/SolidUuidField.js +0 -25
  291. package/dist/components/core/filter/columns/SolidUuidField.js.map +0 -1
  292. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts +0 -4
  293. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts.map +0 -1
  294. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js +0 -54
  295. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js.map +0 -1
@@ -12,6 +12,9 @@ import { Schema } from "yup";
12
12
  import { FormikObject, ISolidField, SolidFieldProps } from "./ISolidField";
13
13
  import { FileReaderExt } from "@/components/common/FileReaderExt";
14
14
  import { ProgressBar } from "primereact/progressbar";
15
+ import getAcceptedFileTypes from "@/helpers/getAcceptedFileTypes";
16
+ import Link from "next/link";
17
+ import { downloadMediaFile } from "@/helpers/downloadMediaFile";
15
18
  export class SolidMediaMultipleField implements ISolidField {
16
19
 
17
20
  private fieldContext: SolidFieldProps;
@@ -93,17 +96,17 @@ export class SolidMediaMultipleField implements ISolidField {
93
96
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
94
97
  const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
95
98
  const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
99
+ const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
96
100
 
97
- const [imagesPreview, setImagesPreview] = useState<Array<string | ArrayBuffer>>([]);
98
101
  const [isDeleteImageDialogVisible, setDeleteImageDialogVisible] = useState(false);
99
102
  const [imageToBeDeletedData, setImageToBeDeletedData] = useState<any>();
100
- const [uploadProgress, setUploadProgress] = useState<Record<string, number>>({});
101
103
  const [uploadCompleted, setUploadCompleted] = useState<Record<string, boolean>>({});
102
- const [fileDetails, setFileDetails] = useState<{ name: string; type: string; size: number, id: number }[]>([]);
104
+ const [fileDetails, setFileDetails] = useState<{ name: string; type: string; size: number, id: number, fileUrl: string }[]>([]);
103
105
  const [uploadedSize, setUploadedSize] = useState<Record<string, string>>({});
104
106
  const [totalSize, setTotalSize] = useState<Record<string, string>>({});
105
107
  const [selectedFileId, setSelectedFileId] = useState<string | null>(null);
106
108
 
109
+
107
110
  const formatFileSize = (size: number) => {
108
111
  return size >= 1024 * 1024
109
112
  ? `${(size / (1024 * 1024)).toFixed(1)} MB`
@@ -118,32 +121,29 @@ export class SolidMediaMultipleField implements ISolidField {
118
121
  const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];
119
122
  if (Array.isArray(fieldValue) && fieldValue.length > 0) {
120
123
  const urls: string[] = [];
121
- const details: { name: string; type: string; size: number, id: any }[] = [];
122
- const progress: Record<string, number> = {};
124
+ const details: { name: string; type: string; size: number, id: any, fileUrl: string }[] = [];
123
125
  const completed: Record<string, boolean> = {};
124
126
 
125
127
  fieldValue.forEach((file: File | any) => {
126
128
  if (file instanceof File) {
127
129
  // New file (from local upload)
128
130
  urls.push(URL.createObjectURL(file));
129
- details.push({ name: file.name, type: file.type, size: file.size, id: `${file.name}-${file.size}`, });
131
+ details.push({ name: file.name, type: file.type, size: file.size, id: `${file.name}-${file.size}`, fileUrl: "" });
130
132
  } else if (typeof file === "object" && file._full_url) {
131
133
  urls.push(file._full_url);
132
134
  details.push({
133
135
  name: file.relativeUri || "Unknown", // Use relativeUri or fallback
134
136
  type: file.mediaStorageProviderMetadata?.type || "Unknown", // Extract type if available
135
137
  size: 0, // API doesn't provide size, set 0 or fetch from metadata if available
136
- id: file.id
138
+ id: file.id,
139
+ fileUrl: file._full_url
137
140
  });
138
141
  }
139
142
  });
140
143
  details.forEach(file => {
141
- progress[`${file.name}-${file.size}`] = 100;
142
144
  completed[`${file.name}-${file.size}`] = true;
143
145
  });
144
- setUploadProgress(progress);
145
146
  setUploadCompleted(completed);
146
- setImagesPreview(urls);
147
147
  setFileDetails(details);
148
148
  }
149
149
  }, [formik.values, fieldLayoutInfo.attrs.name]);
@@ -152,7 +152,6 @@ export class SolidMediaMultipleField implements ISolidField {
152
152
  if (!acceptedFiles.length) return;
153
153
 
154
154
  const newFileDetails = [...fileDetails];
155
- const newUploadProgress = { ...uploadProgress };
156
155
  const newUploadedSize = { ...uploadedSize };
157
156
  const newTotalSize = { ...totalSize };
158
157
  const newUploadCompleted = { ...uploadCompleted };
@@ -160,8 +159,7 @@ export class SolidMediaMultipleField implements ISolidField {
160
159
  acceptedFiles.forEach((file) => {
161
160
  const fileId = `${file.name}-${file.size}`; // Unique identifier for tracking each file
162
161
 
163
- newFileDetails.push({ name: file.name, type: file.type, size: file.size, id: file.id });
164
- newUploadProgress[fileId] = 0;
162
+ newFileDetails.push({ name: file.name, type: file.type, size: file.size, id: file.id, fileUrl: file._full_url });
165
163
  newUploadedSize[fileId] = "0 KB";
166
164
  newTotalSize[fileId] = formatFileSize(file.size);
167
165
  newUploadCompleted[fileId] = false;
@@ -169,20 +167,16 @@ export class SolidMediaMultipleField implements ISolidField {
169
167
  const reader = new FileReader();
170
168
 
171
169
  reader.onloadstart = () => {
172
- setUploadProgress((prev) => ({ ...prev, [fileId]: 0 }));
173
170
  setUploadedSize((prev) => ({ ...prev, [fileId]: "0 KB" }));
174
171
  };
175
172
 
176
173
  reader.onprogress = (event) => {
177
174
  if (event.loaded && event.total) {
178
- const percent = Math.round((event.loaded / event.total) * 100);
179
- setUploadProgress((prev) => ({ ...prev, [fileId]: percent }));
180
175
  setUploadedSize((prev) => ({ ...prev, [fileId]: formatFileSize(event.loaded) }));
181
176
  }
182
177
  };
183
178
 
184
179
  reader.onloadend = () => {
185
- setUploadProgress((prev) => ({ ...prev, [fileId]: 100 }));
186
180
  setUploadCompleted((prev) => ({ ...prev, [fileId]: true }));
187
181
  setUploadedSize((prev) => ({ ...prev, [fileId]: newTotalSize[fileId] }));
188
182
  };
@@ -191,7 +185,6 @@ export class SolidMediaMultipleField implements ISolidField {
191
185
  });
192
186
 
193
187
  setFileDetails(newFileDetails);
194
- setUploadProgress(newUploadProgress);
195
188
  setUploadedSize(newUploadedSize);
196
189
  setTotalSize(newTotalSize);
197
190
  setUploadCompleted(newUploadCompleted);
@@ -202,11 +195,6 @@ export class SolidMediaMultipleField implements ISolidField {
202
195
 
203
196
  const handleCancelUpload = (fileId: string) => {
204
197
  setFileDetails((prev) => prev.filter((file) => fileId !== `${file.name}-${file.size}`));
205
- setUploadProgress((prev) => {
206
- const newProgress = { ...prev };
207
- delete newProgress[fileId];
208
- return newProgress;
209
- });
210
198
  setUploadCompleted((prev) => {
211
199
  const newCompleted = { ...prev };
212
200
  delete newCompleted[fileId];
@@ -233,57 +221,79 @@ export class SolidMediaMultipleField implements ISolidField {
233
221
 
234
222
  const deleteFile = () => {
235
223
  if (selectedFileId && imageToBeDeletedData) {
236
- handleCancelUpload(selectedFileId);
237
- deleteMedia(imageToBeDeletedData);
224
+ // Remove file from UI before making API call
225
+ setFileDetails((prev) => prev.filter((file) => `${file.name}-${file.size}` !== selectedFileId));
226
+
227
+ deleteMedia(imageToBeDeletedData)
228
+ .unwrap()
229
+ .then(() => {
230
+ // Ensure UI state updates only after successful deletion
231
+ setUploadCompleted((prev) => {
232
+ const newCompleted = { ...prev };
233
+ delete newCompleted[selectedFileId];
234
+ return newCompleted;
235
+ });
236
+
237
+ setUploadedSize((prev) => {
238
+ const newSize = { ...prev };
239
+ delete newSize[selectedFileId];
240
+ return newSize;
241
+ });
242
+
243
+ setTotalSize((prev) => {
244
+ const newSize = { ...prev };
245
+ delete newSize[selectedFileId];
246
+ return newSize;
247
+ });
248
+
249
+ // Update form state
250
+ formik.setFieldValue(
251
+ fieldLayoutInfo.attrs.name,
252
+ fileDetails.filter((file) => `${file.name}-${file.size}` !== selectedFileId)
253
+ );
254
+ })
255
+ .catch((error) => {
256
+ console.error("Error deleting file:", error);
257
+ });
258
+
238
259
  setDeleteImageDialogVisible(false);
239
- setShowAllFiles(false)
260
+ setShowAllFiles(false);
240
261
  setSelectedFileId(null);
241
262
  }
242
263
  };
243
264
 
265
+
244
266
  const {
245
267
  getRootProps,
246
268
  getInputProps,
247
269
  isDragActive,
248
270
  } = useDropzone({
249
271
  onDrop: handleDropImages,
250
- accept: {
251
- "image/jpeg": [],
252
- "image/png": [],
253
- },
254
- maxSize: 2 * 1024 * 1024, // 2MB
272
+ accept: getAcceptedFileTypes(fieldMetadata.mediaTypes),
273
+ maxSize: fieldMetadata.mediaMaxSizeKb * 1024,
255
274
  });
256
275
 
257
276
  const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
258
277
 
259
-
260
- const imageFormatHandler = (preview: any) => {
261
- if (typeof preview === 'string') {
262
- return preview; // Existing URLs
263
- }
264
- if (preview instanceof File) {
265
- return URL.createObjectURL(preview); // Generate preview URL for File
266
- }
267
- if (typeof preview === "object") {
268
- return preview._full_url
269
- }
270
- return ""; // Fallback for invalid cases
271
- }
272
-
273
278
  const [isShowAllFiles, setShowAllFiles] = useState(false);
274
279
  return (
275
280
  <div className={className}>
276
281
  <div className="flex flex-column gap-2 mt-4">
277
- <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
282
+ {showFieldLabel != false &&
283
+ <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
278
284
 
279
- &nbsp; {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
280
- </label>
285
+ &nbsp; {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
286
+ </label>
287
+ }
281
288
  <div
282
289
  {...getRootProps()}
283
290
  className="solid-dropzone-wrapper"
284
291
  >
285
292
  <input {...getInputProps()} />
286
- <DropzonePlaceholder />
293
+ <DropzonePlaceholder
294
+ mediaTypes={fieldMetadata.mediaTypes}
295
+ mediaMaxSizeKb={fieldMetadata.mediaMaxSizeKb}
296
+ />
287
297
  </div>
288
298
  </div>
289
299
  {fileDetails.length > 0 &&
@@ -292,17 +302,39 @@ export class SolidMediaMultipleField implements ISolidField {
292
302
  <FileReaderExt fileDetails={fileDetails[0]} />
293
303
  <div className="w-full flex flex-column gap-1">
294
304
  <div className="flex align-items-center justify-content-between">
295
- <div className="font-bold">{fileDetails[0].name}</div>
296
- <div
297
- className="cancel-upload-button"
298
- onClick={() => confirmDeleteFile(`${fileDetails[0].name}-${fileDetails[0].size}`, fileDetails[0].id)}
299
- >
300
- <svg xmlns="http://www.w3.org/2000/svg" width="6" height="6" viewBox="0 0 6 6" fill="none">
301
- <path d="M0.6 6L0 5.4L2.4 3L0 0.6L0.6 0L3 2.4L5.4 0L6 0.6L3.6 3L6 5.4L5.4 6L3 3.6L0.6 6Z" fill="#4B4D52" />
302
- </svg>
305
+ <Link className="font-bold w-11" href={process.env.NEXT_PUBLIC_BACKEND_API_URL + `/${fileDetails[0]?.fileUrl}`} target="_blank">{fileDetails[0].name}</Link>
306
+ <div className="flex align-items-center gap-2">
307
+ <div>
308
+ <Button
309
+ type="button"
310
+ text
311
+ icon={"pi pi-download"}
312
+ size="small"
313
+ style={{
314
+ height: 16,
315
+ width: 16
316
+ }}
317
+ onClick={() => downloadMediaFile(fileDetails[0]?.fileUrl, fileDetails[0]?.name)}
318
+ />
319
+ </div>
320
+ <div>
321
+ <Button
322
+ type="button"
323
+ text
324
+ icon={"pi pi-times"}
325
+ size="small"
326
+ severity="secondary"
327
+ // className="p-2"
328
+ style={{
329
+ height: 16,
330
+ width: 16
331
+ }}
332
+ onClick={() => confirmDeleteFile(`${fileDetails[0].name}-${fileDetails[0].size}`, fileDetails[0].id)}
333
+ />
334
+ </div>
303
335
  </div>
304
336
  </div>
305
- {uploadCompleted[`${fileDetails[0].name}-${fileDetails[0].size}`] ? (
337
+ {uploadCompleted[`${fileDetails[0].name}-${fileDetails[0].size}`] && (
306
338
  <div className="flex align-items-center gap-2 text-sm">
307
339
  {totalSize[`${fileDetails[0].name}-${fileDetails[0].size}`]} of {totalSize[`${fileDetails[0].name}-${fileDetails[0].size}`]}
308
340
  <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
@@ -310,26 +342,13 @@ export class SolidMediaMultipleField implements ISolidField {
310
342
  </svg>
311
343
  Completed
312
344
  </div>
313
- ) : (
314
- <div className="flex align-items-center gap-2 text-sm">
315
- {uploadedSize[`${fileDetails[0].name}-${fileDetails[0].size}`]} of {totalSize[`${fileDetails[0].name}-${fileDetails[0].size}`]}
316
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
317
- <path d="M7.375 10.5V5.40625L5.75 7.03125L4.875 6.125L8 3L11.125 6.125L10.25 7.03125L8.625 5.40625V10.5H7.375ZM4.25 13C3.90625 13 3.61198 12.8776 3.36719 12.6328C3.1224 12.388 3 12.0938 3 11.75V9.875H4.25V11.75H11.75V9.875H13V11.75C13 12.0938 12.8776 12.388 12.6328 12.6328C12.388 12.8776 12.0938 13 11.75 13H4.25Z" fill="black" />
318
- </svg>
319
- Uploading {uploadProgress[`${fileDetails[0].name}-${fileDetails[0].size}`]}% Completed
320
- </div>
321
345
  )}
322
346
  </div>
323
347
  </div>
324
- <ProgressBar
325
- value={uploadProgress[`${fileDetails[0].name}-${fileDetails[0].size}`]}
326
- showValue={false}
327
- style={{ height: 4 }}
328
- className="mt-2"
329
- />
330
348
  </div>
331
349
  }
332
350
 
351
+
333
352
  {fileDetails.length > 1 &&
334
353
  <div className="flex align-items-center">
335
354
  <p className="m-0">
@@ -357,17 +376,39 @@ export class SolidMediaMultipleField implements ISolidField {
357
376
  <FileReaderExt fileDetails={file} />
358
377
  <div className="w-full flex flex-column gap-1">
359
378
  <div className="flex align-items-center justify-content-between">
360
- <div className="font-bold">{file.name}</div>
361
- <div
362
- className="cancel-upload-button"
363
- onClick={() => confirmDeleteFile(fileId, file?.id)}
364
- >
365
- <svg xmlns="http://www.w3.org/2000/svg" width="6" height="6" viewBox="0 0 6 6" fill="none">
366
- <path d="M0.6 6L0 5.4L2.4 3L0 0.6L0.6 0L3 2.4L5.4 0L6 0.6L3.6 3L6 5.4L5.4 6L3 3.6L0.6 6Z" fill="#4B4D52" />
367
- </svg>
379
+ <Link className="font-bold w-11" href={process.env.NEXT_PUBLIC_BACKEND_API_URL + `/${file?.fileUrl}`} target="_blank">{file.name}</Link>
380
+ <div className="flex align-items-center gap-2">
381
+ <div>
382
+ <Button
383
+ type="button"
384
+ text
385
+ icon={"pi pi-download"}
386
+ size="small"
387
+ style={{
388
+ height: 16,
389
+ width: 16
390
+ }}
391
+ onClick={() => downloadMediaFile(file?.fileUrl, file?.name)}
392
+ />
393
+ </div>
394
+ <div>
395
+ <Button
396
+ type="button"
397
+ text
398
+ icon={"pi pi-times"}
399
+ size="small"
400
+ severity="secondary"
401
+ // className="p-2"
402
+ style={{
403
+ height: 16,
404
+ width: 16
405
+ }}
406
+ onClick={() => confirmDeleteFile(fileId, file?.id)}
407
+ />
408
+ </div>
368
409
  </div>
369
410
  </div>
370
- {uploadCompleted[fileId] ? (
411
+ {uploadCompleted[fileId] && (
371
412
  <div className="flex align-items-center gap-2 text-sm">
372
413
  {totalSize[fileId]} of {totalSize[fileId]}
373
414
  <svg xmlns="http://www.w3.org/2000/svg" width="4" height="4" viewBox="0 0 4 4" fill="none">
@@ -378,26 +419,9 @@ export class SolidMediaMultipleField implements ISolidField {
378
419
  </svg>
379
420
  Completed
380
421
  </div>
381
- ) : (
382
- <div className="flex align-items-center gap-2 text-sm">
383
- {uploadedSize[fileId]} of {totalSize[fileId]}
384
- <svg xmlns="http://www.w3.org/2000/svg" width="4" height="4" viewBox="0 0 4 4" fill="none">
385
- <circle cx="2" cy="2" r="2" fill="#C1C1C1" />
386
- </svg>
387
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
388
- <path d="M7.375 10.5V5.40625L5.75 7.03125L4.875 6.125L8 3L11.125 6.125L10.25 7.03125L8.625 5.40625V10.5H7.375ZM4.25 13C3.90625 13 3.61198 12.8776 3.36719 12.6328C3.1224 12.388 3 12.0938 3 11.75V9.875H4.25V11.75H11.75V9.875H13V11.75C13 12.0938 12.8776 12.388 12.6328 12.6328C12.388 12.8776 12.0938 13 11.75 13H4.25Z" fill="black" />
389
- </svg>
390
- Uploading {uploadProgress[fileId]}% Completed
391
- </div>
392
422
  )}
393
423
  </div>
394
424
  </div>
395
- <ProgressBar
396
- value={uploadProgress[fileId]}
397
- showValue={false}
398
- style={{ height: 4 }}
399
- className="mt-2"
400
- />
401
425
  </div>
402
426
  );
403
427
  })