@solidxai/core-ui 0.1.9-beta.17 → 0.1.9-beta.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 (258) hide show
  1. package/dist/adapters/auth/handleLogout.d.ts +1 -1
  2. package/dist/adapters/auth/handleLogout.d.ts.map +1 -1
  3. package/dist/adapters/auth/handleLogout.js +20 -32
  4. package/dist/adapters/auth/handleLogout.js.map +1 -1
  5. package/dist/adapters/auth/handleLogout.ts +7 -14
  6. package/dist/components/auth/SolidLogin.js +2 -2
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +2 -2
  9. package/dist/components/auth/SolidRegister.js +1 -1
  10. package/dist/components/auth/SolidRegister.js.map +1 -1
  11. package/dist/components/auth/SolidRegister.tsx +1 -1
  12. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  13. package/dist/components/common/SettingsComponent.js +3 -0
  14. package/dist/components/common/SettingsComponent.js.map +1 -1
  15. package/dist/components/common/SettingsComponent.tsx +3 -0
  16. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  17. package/dist/components/common/SocialMediaLogin.js +1 -1
  18. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  19. package/dist/components/common/SocialMediaLogin.tsx +4 -0
  20. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  21. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  22. package/dist/components/common/SolidFaviconProvider.js +102 -0
  23. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  24. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  25. package/dist/components/core/card/SolidCardView.js +1 -1
  26. package/dist/components/core/card/SolidCardView.js.map +1 -1
  27. package/dist/components/core/card/SolidCardView.tsx +1 -1
  28. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  29. package/dist/components/core/chatter/SolidMessageComposer.js +2 -1
  30. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  31. package/dist/components/core/chatter/SolidMessageComposer.tsx +2 -0
  32. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  33. package/dist/components/core/common/FilterComponent.js +4 -2
  34. package/dist/components/core/common/FilterComponent.js.map +1 -1
  35. package/dist/components/core/common/FilterComponent.tsx +5 -2
  36. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  37. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  38. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  39. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  40. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  41. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  42. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  43. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  44. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +1 -1
  45. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  46. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +2 -0
  47. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  48. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +2 -0
  49. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  50. package/dist/components/core/common/SolidGlobalSearchElement.js +47 -13
  51. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  52. package/dist/components/core/common/SolidGlobalSearchElement.tsx +38 -4
  53. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  54. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  55. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  56. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  57. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  58. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  59. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  60. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  61. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  62. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  63. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  64. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  65. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  66. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  67. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  68. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  69. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  70. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  71. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  72. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  73. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  74. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  75. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  76. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  77. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  78. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  79. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  80. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  81. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  82. package/dist/components/core/form/SolidFormView.js +1 -1
  83. package/dist/components/core/form/SolidFormView.js.map +1 -1
  84. package/dist/components/core/form/SolidFormView.tsx +1 -1
  85. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  86. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +12 -3
  87. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  88. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +21 -16
  89. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  90. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +15 -5
  91. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  92. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +21 -9
  93. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +12 -0
  94. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  95. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +168 -0
  96. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  97. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +241 -0
  98. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  99. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  100. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  101. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  102. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  103. package/dist/components/core/list/SolidListView.js +102 -87
  104. package/dist/components/core/list/SolidListView.js.map +1 -1
  105. package/dist/components/core/list/SolidListView.tsx +38 -19
  106. package/dist/components/core/list/SolidListViewColumn.d.ts +1 -0
  107. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  108. package/dist/components/core/list/SolidListViewColumn.js +25 -0
  109. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  110. package/dist/components/core/list/SolidListViewColumn.tsx +12 -0
  111. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  112. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  113. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  114. package/dist/components/core/list/SolidListViewConfigure.tsx +4 -2
  115. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  116. package/dist/components/core/list/SolidListViewHeaderButton.js +9 -3
  117. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  118. package/dist/components/core/list/SolidListViewHeaderButton.tsx +12 -7
  119. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  120. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  121. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  122. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  123. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  124. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  125. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  126. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  127. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  128. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  129. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  130. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  131. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  132. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  133. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  134. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  135. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  136. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +3 -2
  137. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  138. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +3 -2
  139. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  140. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -2
  141. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  142. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +3 -2
  143. package/dist/components/core/model/CreateModel.css +48 -0
  144. package/dist/components/core/model/CreateModel.d.ts +1 -0
  145. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  146. package/dist/components/core/model/CreateModel.js +69 -104
  147. package/dist/components/core/model/CreateModel.js.map +1 -1
  148. package/dist/components/core/model/CreateModel.tsx +92 -204
  149. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  150. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  151. package/dist/components/core/model/FieldMetaData.js +6 -22
  152. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  153. package/dist/components/core/model/FieldMetaData.tsx +6 -45
  154. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  155. package/dist/components/core/model/FieldMetaDataForm.js +196 -222
  156. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  157. package/dist/components/core/model/FieldMetaDataForm.tsx +0 -72
  158. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  159. package/dist/components/core/model/ModelMetaData.js +7 -7
  160. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  161. package/dist/components/core/model/ModelMetaData.tsx +7 -0
  162. package/dist/components/core/module/CreateModule.css +44 -0
  163. package/dist/components/core/module/CreateModule.d.ts +1 -0
  164. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  165. package/dist/components/core/module/CreateModule.js +40 -43
  166. package/dist/components/core/module/CreateModule.js.map +1 -1
  167. package/dist/components/core/module/CreateModule.tsx +243 -247
  168. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  169. package/dist/components/core/module/ModuleListViewData.js +47 -7
  170. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  171. package/dist/components/core/module/ModuleListViewData.tsx +58 -0
  172. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  173. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  174. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  175. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  176. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  177. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  178. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  179. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  180. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  181. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  182. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  183. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  184. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  185. package/dist/components/layout/AdminTopHeader.js +1 -1
  186. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  187. package/dist/components/layout/AdminTopHeader.tsx +2 -1
  188. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  189. package/dist/components/layout/user-profile-menu.js +57 -33
  190. package/dist/components/layout/user-profile-menu.js.map +1 -1
  191. package/dist/components/layout/user-profile-menu.tsx +11 -59
  192. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  193. package/dist/components/shad-cn-ui/SolidAutocomplete.js +15 -0
  194. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  195. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +13 -0
  196. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  197. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  198. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  199. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  200. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  201. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  202. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  203. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  204. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  205. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  206. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  207. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  208. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  209. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  210. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  211. package/dist/helpers/buttonEnvironment.js +30 -0
  212. package/dist/helpers/buttonEnvironment.js.map +1 -0
  213. package/dist/helpers/buttonEnvironment.ts +35 -0
  214. package/dist/helpers/buttonPresentation.d.ts +24 -0
  215. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  216. package/dist/helpers/buttonPresentation.js +28 -0
  217. package/dist/helpers/buttonPresentation.js.map +1 -0
  218. package/dist/helpers/buttonPresentation.ts +53 -0
  219. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  220. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  221. package/dist/helpers/fileTypeIcon.js +37 -0
  222. package/dist/helpers/fileTypeIcon.js.map +1 -0
  223. package/dist/helpers/fileTypeIcon.tsx +65 -0
  224. package/dist/helpers/registry.d.ts.map +1 -1
  225. package/dist/helpers/registry.js +10 -0
  226. package/dist/helpers/registry.js.map +1 -1
  227. package/dist/helpers/registry.ts +10 -0
  228. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  229. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  230. package/dist/helpers/waitForBackendAvailability.js +86 -0
  231. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  232. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  233. package/dist/index.d.ts +3 -1
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +3 -1
  236. package/dist/index.js.map +1 -1
  237. package/dist/index.ts +19 -0
  238. package/dist/redux/api/moduleApi.d.ts +26 -1
  239. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  240. package/dist/redux/api/moduleApi.js +237 -1
  241. package/dist/redux/api/moduleApi.js.map +1 -1
  242. package/dist/redux/api/moduleApi.ts +181 -1
  243. package/dist/redux/store/defaultStoreConfig.d.ts +22 -0
  244. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  245. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  246. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  247. package/dist/redux/store/solidEntityApiPool.js +4 -0
  248. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  249. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  250. package/dist/resources/globals.css +56 -0
  251. package/dist/resources/shadcn-base.css +29 -4
  252. package/dist/routes/AppEventListener.d.ts.map +1 -1
  253. package/dist/routes/AppEventListener.js +58 -8
  254. package/dist/routes/AppEventListener.js.map +1 -1
  255. package/dist/routes/AppEventListener.tsx +69 -8
  256. package/dist/types/index.d.ts +1 -0
  257. package/dist/types/jsoneditor.d.ts +4 -0
  258. package/package.json +2 -1
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useSession } from "../../../hooks/useSession";
3
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
3
4
  import { hasAnyRole } from "../../../helpers/rolesHelper";
4
- import { SquarePen } from "lucide-react";
5
+ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
5
6
  import { SolidButton } from "../../shad-cn-ui";
6
7
  export var SolidListViewHeaderButton = function (_a) {
7
8
  var _b, _c, _d, _e, _f, _g, _h;
@@ -9,9 +10,14 @@ export var SolidListViewHeaderButton = function (_a) {
9
10
  var _j = useSession(), session = _j.data, status = _j.status;
10
11
  var user = session === null || session === void 0 ? void 0 : session.user;
11
12
  var hasRole = !((_b = button === null || button === void 0 ? void 0 : button.attrs) === null || _b === void 0 ? void 0 : _b.roles) || ((_c = button === null || button === void 0 ? void 0 : button.attrs) === null || _c === void 0 ? void 0 : _c.roles.length) === 0 ? true : hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, (_d = button === null || button === void 0 ? void 0 : button.attrs) === null || _d === void 0 ? void 0 : _d.roles);
13
+ var presentation = resolveButtonPresentation(button === null || button === void 0 ? void 0 : button.attrs);
12
14
  if (!hasRole)
13
15
  return null;
14
- return (_jsx(SolidButton, { type: "button", className: "text-left ".concat((_f = (_e = button === null || button === void 0 ? void 0 : button.attrs) === null || _e === void 0 ? void 0 : _e.className) !== null && _f !== void 0 ? _f : "gap-2"), size: "small", icon: (_g = button === null || button === void 0 ? void 0 : button.attrs) === null || _g === void 0 ? void 0 : _g.icon, leftIcon: !((_h = button === null || button === void 0 ? void 0 : button.attrs) === null || _h === void 0 ? void 0 : _h.icon) ? _jsx(SquarePen, { size: 14 }) : undefined, onClick: function () {
16
+ if (!isButtonVisibleInCurrentEnv(button === null || button === void 0 ? void 0 : button.attrs))
17
+ return null;
18
+ if (!presentation.showIcon && !presentation.showLabel)
19
+ return null;
20
+ return (_jsx(SolidButton, { type: "button", className: "text-left ".concat((_e = presentation.buttonClassName) !== null && _e !== void 0 ? _e : "gap-2"), size: "small", icon: presentation.icon, iconPos: presentation.iconPos, label: presentation.label, tooltip: presentation.tooltip, "aria-label": presentation.isIconOnly ? ((_h = (_f = presentation.tooltip) !== null && _f !== void 0 ? _f : (_g = button === null || button === void 0 ? void 0 : button.attrs) === null || _g === void 0 ? void 0 : _g.action) !== null && _h !== void 0 ? _h : "Action") : undefined, onClick: function () {
15
21
  var event = {
16
22
  params: params,
17
23
  solidListViewMetaData: solidListViewMetaData.data,
@@ -19,6 +25,6 @@ export var SolidListViewHeaderButton = function (_a) {
19
25
  filters: filters
20
26
  };
21
27
  handleCustomButtonClick(button.attrs, event);
22
- }, children: button.attrs.label }));
28
+ } }));
23
29
  };
24
30
  //# sourceMappingURL=SolidListViewHeaderButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewHeaderButton.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,IAAM,yBAAyB,GAAG,UAAC,EAAiG;;QAA/F,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,qBAAqB,2BAAA,EAAE,uBAAuB,6BAAA,EAAE,eAAe,qBAAA,EAAE,OAAO,aAAA;IAC1H,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAC;IAC/C,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAE3B,IAAM,OAAO,GAAG,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAA,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,MAAM,MAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,CAAC;IAElI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACH,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oBAAa,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,SAAS,mCAAI,OAAO,CAAE,EAC7D,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI,EACzB,QAAQ,EAAE,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI,CAAA,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,EACpE,OAAO,EAAE;YACL,IAAM,KAAK,GAAG;gBACV,MAAM,QAAA;gBACN,qBAAqB,EAAE,qBAAqB,CAAC,IAAI;gBACjD,eAAe,EAAE,eAAe;gBAChC,OAAO,SAAA;aACV,CAAC;YACF,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,YAEA,MAAM,CAAC,KAAK,CAAC,KAAK,GACT,CACjB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { useSession } from \"../../../hooks/useSession\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { SquarePen } from \"lucide-react\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\nexport const SolidListViewHeaderButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, selectedRecords, filters }: any) => {\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n\n if (!hasRole) return null;\n\n return (\n <SolidButton\n type=\"button\"\n className={`text-left ${button?.attrs?.className ?? \"gap-2\"}`}\n size=\"small\"\n icon={button?.attrs?.icon}\n leftIcon={!button?.attrs?.icon ? <SquarePen size={14} /> : undefined}\n onClick={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data,\n selectedRecords: selectedRecords,\n filters\n };\n handleCustomButtonClick(button.attrs, event);\n }}\n >\n {button.attrs.label}\n </SolidButton>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidListViewHeaderButton.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,IAAM,yBAAyB,GAAG,UAAC,EAAiG;;QAA/F,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,qBAAqB,2BAAA,EAAE,uBAAuB,6BAAA,EAAE,eAAe,qBAAA,EAAE,OAAO,aAAA;IAC1H,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAC;IAC/C,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAE3B,IAAM,OAAO,GAAG,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAA,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,MAAM,MAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,CAAC;IAClI,IAAM,YAAY,GAAG,yBAAyB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC;IAE9D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,2BAA2B,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAEnE,OAAO,CACH,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oBAAa,MAAA,YAAY,CAAC,eAAe,mCAAI,OAAO,CAAE,EACjE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,KAAK,EAAE,YAAY,CAAC,KAAK,EACzB,OAAO,EAAE,YAAY,CAAC,OAAO,gBACjB,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,YAAY,CAAC,OAAO,mCAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,mCAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAC7G,OAAO,EAAE;YACL,IAAM,KAAK,GAAG;gBACV,MAAM,QAAA;gBACN,qBAAqB,EAAE,qBAAqB,CAAC,IAAI;gBACjD,eAAe,EAAE,eAAe;gBAChC,OAAO,SAAA;aACV,CAAC;YACF,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,GACH,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { useSession } from \"../../../hooks/useSession\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { resolveButtonPresentation } from \"../../../helpers/buttonPresentation\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\nexport const SolidListViewHeaderButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, selectedRecords, filters }: any) => {\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n const presentation = resolveButtonPresentation(button?.attrs);\n\n if (!hasRole) return null;\n if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;\n if (!presentation.showIcon && !presentation.showLabel) return null;\n\n return (\n <SolidButton\n type=\"button\"\n className={`text-left ${presentation.buttonClassName ?? \"gap-2\"}`}\n size=\"small\"\n icon={presentation.icon}\n iconPos={presentation.iconPos}\n label={presentation.label}\n tooltip={presentation.tooltip}\n aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? \"Action\") : undefined}\n onClick={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data,\n selectedRecords: selectedRecords,\n filters\n };\n handleCustomButtonClick(button.attrs, event);\n }}\n />\n );\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  import { useSession } from "../../../hooks/useSession";
2
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
2
3
  import { hasAnyRole } from "../../../helpers/rolesHelper";
3
- import { SquarePen } from "lucide-react";
4
+ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
4
5
  import { SolidButton } from "../../shad-cn-ui";
5
6
 
6
7
  export const SolidListViewHeaderButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, selectedRecords, filters }: any) => {
@@ -8,16 +9,22 @@ export const SolidListViewHeaderButton = ({ button, params, solidListViewMetaDat
8
9
  const user = session?.user;
9
10
 
10
11
  const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);
12
+ const presentation = resolveButtonPresentation(button?.attrs);
11
13
 
12
14
  if (!hasRole) return null;
15
+ if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;
16
+ if (!presentation.showIcon && !presentation.showLabel) return null;
13
17
 
14
18
  return (
15
19
  <SolidButton
16
20
  type="button"
17
- className={`text-left ${button?.attrs?.className ?? "gap-2"}`}
21
+ className={`text-left ${presentation.buttonClassName ?? "gap-2"}`}
18
22
  size="small"
19
- icon={button?.attrs?.icon}
20
- leftIcon={!button?.attrs?.icon ? <SquarePen size={14} /> : undefined}
23
+ icon={presentation.icon}
24
+ iconPos={presentation.iconPos}
25
+ label={presentation.label}
26
+ tooltip={presentation.tooltip}
27
+ aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? "Action") : undefined}
21
28
  onClick={() => {
22
29
  const event = {
23
30
  params,
@@ -27,8 +34,6 @@ export const SolidListViewHeaderButton = ({ button, params, solidListViewMetaDat
27
34
  };
28
35
  handleCustomButtonClick(button.attrs, event);
29
36
  }}
30
- >
31
- {button.attrs.label}
32
- </SolidButton>
37
+ />
33
38
  );
34
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewHeaderContextMenuButton.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,oCAAoC,yFAA0F,GAAG,mDA2B7I,CAAC"}
1
+ {"version":3,"file":"SolidListViewHeaderContextMenuButton.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,oCAAoC,yFAA0F,GAAG,mDAuC7I,CAAC"}
@@ -1,26 +1,38 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { hasAnyRole } from "../../../helpers/rolesHelper";
3
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
4
+ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
3
5
  import { useSession } from "../../../hooks/useSession";
4
- import { SquarePen } from "lucide-react";
5
6
  import { SolidDropdownMenuItem } from "../../shad-cn-ui";
6
7
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
7
8
  export var SolidListViewHeaderContextMenuButton = function (_a) {
8
- var _b, _c, _d, _e;
9
+ var _b, _c, _d, _e, _f, _g, _h;
9
10
  var button = _a.button, params = _a.params, solidListViewMetaData = _a.solidListViewMetaData, handleCustomButtonClick = _a.handleCustomButtonClick, onActionComplete = _a.onActionComplete;
10
- var _f = useSession(), session = _f.data, status = _f.status;
11
+ var _j = useSession(), session = _j.data, status = _j.status;
11
12
  var user = session === null || session === void 0 ? void 0 : session.user;
12
13
  var hasRole = !((_b = button === null || button === void 0 ? void 0 : button.attrs) === null || _b === void 0 ? void 0 : _b.roles) || ((_c = button === null || button === void 0 ? void 0 : button.attrs) === null || _c === void 0 ? void 0 : _c.roles.length) === 0 ? true : hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, (_d = button === null || button === void 0 ? void 0 : button.attrs) === null || _d === void 0 ? void 0 : _d.roles);
14
+ var presentation = resolveButtonPresentation(button === null || button === void 0 ? void 0 : button.attrs);
15
+ var iconNode = presentation.showIcon
16
+ ? (function () {
17
+ var m = parseSolidIconMeta(presentation.icon);
18
+ return m
19
+ ? _jsx(SolidIcon, { name: m.name, spin: m.spin, className: "solid-header-action-button-icon" })
20
+ : _jsx("i", { className: "".concat(presentation.icon, " solid-header-action-button-icon") });
21
+ })()
22
+ : null;
13
23
  if (!hasRole)
14
24
  return null;
15
- return (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
25
+ if (!isButtonVisibleInCurrentEnv(button === null || button === void 0 ? void 0 : button.attrs))
26
+ return null;
27
+ if (!presentation.showIcon && !presentation.showLabel)
28
+ return null;
29
+ return (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item ".concat((_e = presentation.buttonClassName) !== null && _e !== void 0 ? _e : ""), onSelect: function () {
16
30
  var event = {
17
31
  params: params,
18
32
  solidListViewMetaData: solidListViewMetaData.data,
19
33
  };
20
34
  handleCustomButtonClick(button.attrs, event);
21
35
  onActionComplete === null || onActionComplete === void 0 ? void 0 : onActionComplete();
22
- }, children: [((_e = button === null || button === void 0 ? void 0 : button.attrs) === null || _e === void 0 ? void 0 : _e.icon)
23
- ? (function () { var m = parseSolidIconMeta(button.attrs.icon); return m ? _jsx(SolidIcon, { name: m.name, spin: m.spin, className: "solid-header-action-button-icon" }) : _jsx("i", { className: "".concat(button.attrs.icon, " solid-header-action-button-icon") }); })()
24
- : _jsx(SquarePen, { size: 14, className: "solid-header-action-button-icon" }), _jsx("span", { className: "solid-header-action-button-label", children: button.attrs.label })] }));
36
+ }, title: presentation.tooltip, "aria-label": presentation.isIconOnly ? ((_h = (_f = presentation.tooltip) !== null && _f !== void 0 ? _f : (_g = button === null || button === void 0 ? void 0 : button.attrs) === null || _g === void 0 ? void 0 : _g.action) !== null && _h !== void 0 ? _h : "Action") : undefined, children: [presentation.iconPos === "left" ? iconNode : null, presentation.showLabel ? _jsx("span", { className: "solid-header-action-button-label", children: presentation.label }) : null, presentation.iconPos === "right" ? iconNode : null] }));
25
37
  };
26
38
  //# sourceMappingURL=SolidListViewHeaderContextMenuButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewHeaderContextMenuButton.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,CAAC,IAAM,oCAAoC,GAAG,UAAC,EAAyF;;QAAvF,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,qBAAqB,2BAAA,EAAE,uBAAuB,6BAAA,EAAE,gBAAgB,sBAAA;IAE7H,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAC;IAC/C,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAE3B,IAAM,OAAO,GAAG,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAA,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,MAAM,MAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,CAAC;IAElI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACH,MAAC,qBAAqB,IAClB,SAAS,EAAC,4BAA4B,EACtC,QAAQ,EAAE;YACN,IAAM,KAAK,GAAG;gBACV,MAAM,QAAA;gBACN,qBAAqB,EAAE,qBAAqB,CAAC,IAAI;aACpD,CAAC;YACF,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,EAAI,CAAC;QACzB,CAAC,aAEA,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI;gBAChB,CAAC,CAAC,CAAC,cAAQ,IAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAC,iCAAiC,GAAG,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,UAAG,MAAM,CAAC,KAAK,CAAC,IAAI,qCAAkC,GAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7O,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iCAAiC,GAAG,EACzE,eAAM,SAAS,EAAC,kCAAkC,YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,GAAQ,IAC1D,CAC3B,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { SquarePen } from \"lucide-react\";\nimport { SolidDropdownMenuItem } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidListViewHeaderContextMenuButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, onActionComplete }: any) => {\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n\n if (!hasRole) return null;\n\n return (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data,\n };\n handleCustomButtonClick(button.attrs, event);\n onActionComplete?.();\n }}\n >\n {button?.attrs?.icon\n ? (() => { const m = parseSolidIconMeta(button.attrs.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-header-action-button-icon\" /> : <i className={`${button.attrs.icon} solid-header-action-button-icon`} />; })()\n : <SquarePen size={14} className=\"solid-header-action-button-icon\" />}\n <span className=\"solid-header-action-button-label\">{button.attrs.label}</span>\n </SolidDropdownMenuItem>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidListViewHeaderContextMenuButton.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\nimport { resolveButtonPresentation } from \"../../../helpers/buttonPresentation\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { SolidDropdownMenuItem } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidListViewHeaderContextMenuButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, onActionComplete }: any) => {\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n const presentation = resolveButtonPresentation(button?.attrs);\n const iconNode = presentation.showIcon\n ? (() => {\n const m = parseSolidIconMeta(presentation.icon);\n return m\n ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-header-action-button-icon\" />\n : <i className={`${presentation.icon} solid-header-action-button-icon`} />;\n })()\n : null;\n\n if (!hasRole) return null;\n if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;\n if (!presentation.showIcon && !presentation.showLabel) return null;\n\n return (\n <SolidDropdownMenuItem\n className={`solid-header-dropdown-item ${presentation.buttonClassName ?? \"\"}`}\n onSelect={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data,\n };\n handleCustomButtonClick(button.attrs, event);\n onActionComplete?.();\n }}\n title={presentation.tooltip}\n aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? \"Action\") : undefined}\n >\n {presentation.iconPos === \"left\" ? iconNode : null}\n {presentation.showLabel ? <span className=\"solid-header-action-button-label\">{presentation.label}</span> : null}\n {presentation.iconPos === \"right\" ? iconNode : null}\n </SolidDropdownMenuItem>\n );\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  import { hasAnyRole } from "../../../helpers/rolesHelper";
2
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
3
+ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
2
4
  import { useSession } from "../../../hooks/useSession";
3
- import { SquarePen } from "lucide-react";
4
5
  import { SolidDropdownMenuItem } from "../../shad-cn-ui";
5
6
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
6
7
 
@@ -10,12 +11,23 @@ export const SolidListViewHeaderContextMenuButton = ({ button, params, solidList
10
11
  const user = session?.user;
11
12
 
12
13
  const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);
14
+ const presentation = resolveButtonPresentation(button?.attrs);
15
+ const iconNode = presentation.showIcon
16
+ ? (() => {
17
+ const m = parseSolidIconMeta(presentation.icon);
18
+ return m
19
+ ? <SolidIcon name={m.name} spin={m.spin} className="solid-header-action-button-icon" />
20
+ : <i className={`${presentation.icon} solid-header-action-button-icon`} />;
21
+ })()
22
+ : null;
13
23
 
14
24
  if (!hasRole) return null;
25
+ if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;
26
+ if (!presentation.showIcon && !presentation.showLabel) return null;
15
27
 
16
28
  return (
17
29
  <SolidDropdownMenuItem
18
- className="solid-header-dropdown-item"
30
+ className={`solid-header-dropdown-item ${presentation.buttonClassName ?? ""}`}
19
31
  onSelect={() => {
20
32
  const event = {
21
33
  params,
@@ -24,11 +36,12 @@ export const SolidListViewHeaderContextMenuButton = ({ button, params, solidList
24
36
  handleCustomButtonClick(button.attrs, event);
25
37
  onActionComplete?.();
26
38
  }}
39
+ title={presentation.tooltip}
40
+ aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? "Action") : undefined}
27
41
  >
28
- {button?.attrs?.icon
29
- ? (() => { const m = parseSolidIconMeta(button.attrs.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className="solid-header-action-button-icon" /> : <i className={`${button.attrs.icon} solid-header-action-button-icon`} />; })()
30
- : <SquarePen size={14} className="solid-header-action-button-icon" />}
31
- <span className="solid-header-action-button-label">{button.attrs.label}</span>
42
+ {presentation.iconPos === "left" ? iconNode : null}
43
+ {presentation.showLabel ? <span className="solid-header-action-button-label">{presentation.label}</span> : null}
44
+ {presentation.iconPos === "right" ? iconNode : null}
32
45
  </SolidDropdownMenuItem>
33
46
  );
34
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewRowActionMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionMenuItem.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,8BAA8B,kGAAmG,GAAG,mDAqChJ,CAAC"}
1
+ {"version":3,"file":"SolidListViewRowActionMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionMenuItem.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,8BAA8B,kGAAmG,GAAG,mDAgDhJ,CAAC"}
@@ -12,7 +12,7 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { useSession } from "../../../hooks/useSession";
14
14
  import { hasAnyRole } from "../../../helpers/rolesHelper";
15
- import { SquarePen } from "lucide-react";
15
+ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
16
16
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
17
17
  export var SolidListViewRowActionMenuItem = function (_a) {
18
18
  var _b, _c, _d, _e, _f, _g;
@@ -20,9 +20,20 @@ export var SolidListViewRowActionMenuItem = function (_a) {
20
20
  var _h = useSession(), session = _h.data, status = _h.status;
21
21
  var user = session === null || session === void 0 ? void 0 : session.user;
22
22
  var hasRole = !((_b = button === null || button === void 0 ? void 0 : button.attrs) === null || _b === void 0 ? void 0 : _b.roles) || ((_c = button === null || button === void 0 ? void 0 : button.attrs) === null || _c === void 0 ? void 0 : _c.roles.length) === 0 ? true : hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, (_d = button === null || button === void 0 ? void 0 : button.attrs) === null || _d === void 0 ? void 0 : _d.roles);
23
+ var presentation = resolveButtonPresentation(button === null || button === void 0 ? void 0 : button.attrs);
24
+ var iconNode = presentation.showIcon
25
+ ? (function () {
26
+ var m = parseSolidIconMeta(presentation.icon);
27
+ return m
28
+ ? _jsx(SolidIcon, { name: m.name, spin: m.spin, className: "solid-row-action-button-icon" })
29
+ : _jsx("i", { className: "".concat(presentation.icon, " solid-row-action-button-icon") });
30
+ })()
31
+ : null;
23
32
  if (!hasRole)
24
33
  return null;
25
- return (_jsxs("button", { type: "button", className: "solid-row-action-button ".concat(((_e = button === null || button === void 0 ? void 0 : button.attrs) === null || _e === void 0 ? void 0 : _e.className) ? (_f = button === null || button === void 0 ? void 0 : button.attrs) === null || _f === void 0 ? void 0 : _f.className : ''), onClick: function () {
34
+ if (!presentation.showIcon && !presentation.showLabel)
35
+ return null;
36
+ return (_jsxs("button", { type: "button", className: "solid-row-action-button ".concat(presentation.buttonClassName ? presentation.buttonClassName : ''), title: presentation.tooltip, "aria-label": presentation.isIconOnly ? ((_g = (_e = presentation.tooltip) !== null && _e !== void 0 ? _e : (_f = button === null || button === void 0 ? void 0 : button.attrs) === null || _f === void 0 ? void 0 : _f.action) !== null && _g !== void 0 ? _g : "Action") : undefined, onClick: function () {
26
37
  var event = {
27
38
  params: params,
28
39
  rowData: rowData,
@@ -35,8 +46,6 @@ export var SolidListViewRowActionMenuItem = function (_a) {
35
46
  }
36
47
  handleCustomButtonClick(modifiedButtonAttrs, event);
37
48
  onActionComplete === null || onActionComplete === void 0 ? void 0 : onActionComplete();
38
- }, children: [((_g = button === null || button === void 0 ? void 0 : button.attrs) === null || _g === void 0 ? void 0 : _g.icon)
39
- ? (function () { var m = parseSolidIconMeta(button.attrs.icon); return m ? _jsx(SolidIcon, { name: m.name, spin: m.spin, className: "solid-row-action-button-icon" }) : _jsx("i", { className: "".concat(button.attrs.icon, " solid-row-action-button-icon") }); })()
40
- : _jsx(SquarePen, { size: 14, className: "solid-row-action-button-icon" }), _jsx("span", { className: "solid-row-action-button-label", children: button.attrs.label })] }));
49
+ }, children: [presentation.iconPos === "left" ? iconNode : null, presentation.showLabel ? _jsx("span", { className: "solid-row-action-button-label", children: presentation.label }) : null, presentation.iconPos === "right" ? iconNode : null] }));
41
50
  };
42
51
  //# sourceMappingURL=SolidListViewRowActionMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewRowActionMenuItem.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionMenuItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,CAAC,IAAM,8BAA8B,GAAG,UAAC,EAAkG;;QAAhG,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,qBAAqB,2BAAA,EAAE,uBAAuB,6BAAA,EAAE,gBAAgB,sBAAA;IAEhI,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAC;IAC/C,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAE3B,IAAM,OAAO,GAAG,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAA,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,MAAM,MAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,CAAC,CAAC;IAElI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACH,kBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,kCAA2B,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,SAAS,EAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAE,EAChG,OAAO,EAAE;YACL,IAAM,KAAK,GAAG;gBACV,MAAM,QAAA;gBACN,OAAO,EAAE,OAAO;gBAChB,qBAAqB,EAAE,qBAAqB,CAAC,IAAI;aACpD,CAAC;YAEF,IAAM,mBAAmB,gBAAQ,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC,gBAAgB;YAEjE,oDAAoD;YACpD,IAAI,mBAAmB,CAAC,MAAM,KAAK,4BAA4B,IAAI,mBAAmB,CAAC,MAAM,KAAK,6BAA6B,EAAE;gBAC7H,mBAAmB,CAAC,UAAU,GAAG,MAAM,CAAC;aAC3C;YAED,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACpD,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,EAAI,CAAC;QACzB,CAAC,aAEA,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI;gBAChB,CAAC,CAAC,CAAC,cAAQ,IAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,UAAG,MAAM,CAAC,KAAK,CAAC,IAAI,kCAA+B,GAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvO,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,8BAA8B,GAAG,EACtE,eAAM,SAAS,EAAC,+BAA+B,YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,GAAQ,IACtE,CACZ,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { useSession } from \"../../../hooks/useSession\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { SquarePen } from \"lucide-react\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidListViewRowActionMenuItem = ({ button, params, rowData, solidListViewMetaData, handleCustomButtonClick, onActionComplete }: any) => {\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n\n if (!hasRole) return null;\n\n return (\n <button\n type=\"button\"\n className={`solid-row-action-button ${button?.attrs?.className ? button?.attrs?.className : ''}`}\n onClick={() => {\n const event = {\n params,\n rowData: rowData,\n solidListViewMetaData: solidListViewMetaData.data,\n };\n\n const modifiedButtonAttrs = { ...button.attrs }; // Create a copy\n\n // Conditionally add popupWidth for specific actions\n if (modifiedButtonAttrs.action === 'GenerateModelCodeRowAction' || modifiedButtonAttrs.action === 'GenerateModuleCodeRowAction') {\n modifiedButtonAttrs.popupWidth = '30vw';\n }\n\n handleCustomButtonClick(modifiedButtonAttrs, event);\n onActionComplete?.();\n }}\n >\n {button?.attrs?.icon\n ? (() => { const m = parseSolidIconMeta(button.attrs.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${button.attrs.icon} solid-row-action-button-icon`} />; })()\n : <SquarePen size={14} className=\"solid-row-action-button-icon\" />}\n <span className=\"solid-row-action-button-label\">{button.attrs.label}</span>\n </button>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidListViewRowActionMenuItem.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionMenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useSession } from \"../../../hooks/useSession\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { resolveButtonPresentation } from \"../../../helpers/buttonPresentation\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidListViewRowActionMenuItem = ({ button, params, rowData, solidListViewMetaData, handleCustomButtonClick, onActionComplete }: any) => {\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n const presentation = resolveButtonPresentation(button?.attrs);\n const iconNode = presentation.showIcon\n ? (() => {\n const m = parseSolidIconMeta(presentation.icon);\n return m\n ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" />\n : <i className={`${presentation.icon} solid-row-action-button-icon`} />;\n })()\n : null;\n\n if (!hasRole) return null;\n if (!presentation.showIcon && !presentation.showLabel) return null;\n\n return (\n <button\n type=\"button\"\n className={`solid-row-action-button ${presentation.buttonClassName ? presentation.buttonClassName : ''}`}\n title={presentation.tooltip}\n aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? \"Action\") : undefined}\n onClick={() => {\n const event = {\n params,\n rowData: rowData,\n solidListViewMetaData: solidListViewMetaData.data,\n };\n\n const modifiedButtonAttrs = { ...button.attrs }; // Create a copy\n\n // Conditionally add popupWidth for specific actions\n if (modifiedButtonAttrs.action === 'GenerateModelCodeRowAction' || modifiedButtonAttrs.action === 'GenerateModuleCodeRowAction') {\n modifiedButtonAttrs.popupWidth = '30vw';\n }\n\n handleCustomButtonClick(modifiedButtonAttrs, event);\n onActionComplete?.();\n }}\n >\n {presentation.iconPos === \"left\" ? iconNode : null}\n {presentation.showLabel ? <span className=\"solid-row-action-button-label\">{presentation.label}</span> : null}\n {presentation.iconPos === \"right\" ? iconNode : null}\n </button>\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { useSession } from "../../../hooks/useSession";
2
2
  import { hasAnyRole } from "../../../helpers/rolesHelper";
3
- import { SquarePen } from "lucide-react";
3
+ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
4
4
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
5
5
 
6
6
  export const SolidListViewRowActionMenuItem = ({ button, params, rowData, solidListViewMetaData, handleCustomButtonClick, onActionComplete }: any) => {
@@ -9,13 +9,25 @@ export const SolidListViewRowActionMenuItem = ({ button, params, rowData, solidL
9
9
  const user = session?.user;
10
10
 
11
11
  const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);
12
+ const presentation = resolveButtonPresentation(button?.attrs);
13
+ const iconNode = presentation.showIcon
14
+ ? (() => {
15
+ const m = parseSolidIconMeta(presentation.icon);
16
+ return m
17
+ ? <SolidIcon name={m.name} spin={m.spin} className="solid-row-action-button-icon" />
18
+ : <i className={`${presentation.icon} solid-row-action-button-icon`} />;
19
+ })()
20
+ : null;
12
21
 
13
22
  if (!hasRole) return null;
23
+ if (!presentation.showIcon && !presentation.showLabel) return null;
14
24
 
15
25
  return (
16
26
  <button
17
27
  type="button"
18
- className={`solid-row-action-button ${button?.attrs?.className ? button?.attrs?.className : ''}`}
28
+ className={`solid-row-action-button ${presentation.buttonClassName ? presentation.buttonClassName : ''}`}
29
+ title={presentation.tooltip}
30
+ aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? "Action") : undefined}
19
31
  onClick={() => {
20
32
  const event = {
21
33
  params,
@@ -34,10 +46,9 @@ export const SolidListViewRowActionMenuItem = ({ button, params, rowData, solidL
34
46
  onActionComplete?.();
35
47
  }}
36
48
  >
37
- {button?.attrs?.icon
38
- ? (() => { const m = parseSolidIconMeta(button.attrs.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className="solid-row-action-button-icon" /> : <i className={`${button.attrs.icon} solid-row-action-button-icon`} />; })()
39
- : <SquarePen size={14} className="solid-row-action-button-icon" />}
40
- <span className="solid-row-action-button-label">{button.attrs.label}</span>
49
+ {presentation.iconPos === "left" ? iconNode : null}
50
+ {presentation.showLabel ? <span className="solid-row-action-button-label">{presentation.label}</span> : null}
51
+ {presentation.iconPos === "right" ? iconNode : null}
41
52
  </button>
42
53
  );
43
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewRowActionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionsMenu.tsx"],"names":[],"mappings":"AAKA,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACN,uBAAuB,EACvB,WAAW,EACX,MAAM,EACN,QAAQ,EACR,gBAAgB,GACjB,EAAE,GAAG,kDAuFL"}
1
+ {"version":3,"file":"SolidListViewRowActionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionsMenu.tsx"],"names":[],"mappings":"AAMA,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACN,uBAAuB,EACvB,WAAW,EACX,MAAM,EACN,QAAQ,EACR,gBAAgB,GACjB,EAAE,GAAG,kDA0FL"}
@@ -3,6 +3,7 @@ import { useState } from "react";
3
3
  import { EllipsisVertical, SquarePen, Trash2 } from "lucide-react";
4
4
  import { SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../../shad-cn-ui/SolidPopover";
5
5
  import { SolidListViewRowActionMenuItem } from "./SolidListViewRowActionMenuItem";
6
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
6
7
  export function SolidListViewRowActionsMenu(_a) {
7
8
  var _b, _c, _d;
8
9
  var rowData = _a.rowData, hasEditInContextMenu = _a.hasEditInContextMenu, hasDeleteInContextMenu = _a.hasDeleteInContextMenu, hasCustomContextMenuButtons = _a.hasCustomContextMenuButtons, solidListViewLayout = _a.solidListViewLayout, solidListViewMetaData = _a.solidListViewMetaData, params = _a.params, handleCustomButtonClick = _a.handleCustomButtonClick, onSelectRow = _a.onSelectRow, onEdit = _a.onEdit, onDelete = _a.onDelete, contentClassName = _a.contentClassName;
@@ -13,7 +14,12 @@ export function SolidListViewRowActionsMenu(_a) {
13
14
  }
14
15
  setOpen(nextOpen);
15
16
  };
16
- var visibleCustomButtons = (_d = (_c = (_b = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.rowButtons) === null || _c === void 0 ? void 0 : _c.filter(function (rb) { var _a, _b; return ((_a = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) === true && ((_b = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _b === void 0 ? void 0 : _b.visible) !== false; })) !== null && _d !== void 0 ? _d : [];
17
+ var visibleCustomButtons = (_d = (_c = (_b = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.rowButtons) === null || _c === void 0 ? void 0 : _c.filter(function (rb) {
18
+ var _a, _b;
19
+ return ((_a = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) === true &&
20
+ ((_b = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _b === void 0 ? void 0 : _b.visible) !== false &&
21
+ isButtonVisibleInCurrentEnv(rb === null || rb === void 0 ? void 0 : rb.attrs);
22
+ })) !== null && _d !== void 0 ? _d : [];
17
23
  var hasAnyItems = hasEditInContextMenu || (hasDeleteInContextMenu && !params.embeded) || visibleCustomButtons.length > 0;
18
24
  if (!hasAnyItems)
19
25
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewRowActionsMenu.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionsMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport { EllipsisVertical, SquarePen, Trash2 } from \"lucide-react\";\nimport { SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../../shad-cn-ui/SolidPopover\";\nimport { SolidListViewRowActionMenuItem } from \"./SolidListViewRowActionMenuItem\";\n\nexport function SolidListViewRowActionsMenu({\n rowData,\n hasEditInContextMenu,\n hasDeleteInContextMenu,\n hasCustomContextMenuButtons,\n solidListViewLayout,\n solidListViewMetaData,\n params,\n handleCustomButtonClick,\n onSelectRow,\n onEdit,\n onDelete,\n contentClassName,\n}: any) {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n onSelectRow?.(rowData);\n }\n setOpen(nextOpen);\n };\n\n const visibleCustomButtons =\n solidListViewLayout?.attrs?.rowButtons?.filter(\n (rb: any) => rb?.attrs?.actionInContextMenu === true && rb?.attrs?.visible !== false\n ) ?? [];\n\n const hasAnyItems =\n hasEditInContextMenu || (hasDeleteInContextMenu && !params.embeded) || visibleCustomButtons.length > 0;\n\n if (!hasAnyItems) return null;\n\n return (\n <SolidPopover open={open} onOpenChange={handleOpenChange} autoCloseGroup=\"solid-list-row-actions\">\n <SolidPopoverTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-row-menu-trigger\"\n data-no-row-click=\"true\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onSelectRow?.(rowData);\n }}\n aria-label=\"Open row actions\"\n >\n <EllipsisVertical size={16} />\n </button>\n </SolidPopoverTrigger>\n <SolidPopoverContent\n side=\"left\"\n align=\"center\"\n className={contentClassName}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"solid-row-actions-menu\">\n {hasEditInContextMenu && (\n <button\n type=\"button\"\n className=\"solid-row-action-button\"\n onClick={() => {\n onEdit?.(rowData);\n setOpen(false);\n }}\n >\n <SquarePen size={14} className=\"solid-row-action-button-icon\" />\n <span className=\"solid-row-action-button-label\">Edit</span>\n </button>\n )}\n\n {hasDeleteInContextMenu && !params.embeded && (\n <button\n type=\"button\"\n className=\"solid-row-action-button solid-row-action-button-danger\"\n onClick={() => {\n onDelete?.(rowData);\n setOpen(false);\n }}\n >\n <Trash2 size={14} className=\"solid-row-action-button-icon\" />\n <span className=\"solid-row-action-button-label\">Delete</span>\n </button>\n )}\n\n {hasCustomContextMenuButtons &&\n visibleCustomButtons.map((button: any, index: number) => (\n <SolidListViewRowActionMenuItem\n key={`${index}-${rowData?.id || \"\"}`}\n button={button}\n params={params}\n rowData={rowData}\n solidListViewMetaData={solidListViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n onActionComplete={() => setOpen(false)}\n />\n ))}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidListViewRowActionsMenu.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewRowActionsMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport { EllipsisVertical, SquarePen, Trash2 } from \"lucide-react\";\nimport { SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../../shad-cn-ui/SolidPopover\";\nimport { SolidListViewRowActionMenuItem } from \"./SolidListViewRowActionMenuItem\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\n\nexport function SolidListViewRowActionsMenu({\n rowData,\n hasEditInContextMenu,\n hasDeleteInContextMenu,\n hasCustomContextMenuButtons,\n solidListViewLayout,\n solidListViewMetaData,\n params,\n handleCustomButtonClick,\n onSelectRow,\n onEdit,\n onDelete,\n contentClassName,\n}: any) {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n onSelectRow?.(rowData);\n }\n setOpen(nextOpen);\n };\n\n const visibleCustomButtons =\n solidListViewLayout?.attrs?.rowButtons?.filter(\n (rb: any) =>\n rb?.attrs?.actionInContextMenu === true &&\n rb?.attrs?.visible !== false &&\n isButtonVisibleInCurrentEnv(rb?.attrs)\n ) ?? [];\n\n const hasAnyItems =\n hasEditInContextMenu || (hasDeleteInContextMenu && !params.embeded) || visibleCustomButtons.length > 0;\n\n if (!hasAnyItems) return null;\n\n return (\n <SolidPopover open={open} onOpenChange={handleOpenChange} autoCloseGroup=\"solid-list-row-actions\">\n <SolidPopoverTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-row-menu-trigger\"\n data-no-row-click=\"true\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onSelectRow?.(rowData);\n }}\n aria-label=\"Open row actions\"\n >\n <EllipsisVertical size={16} />\n </button>\n </SolidPopoverTrigger>\n <SolidPopoverContent\n side=\"left\"\n align=\"center\"\n className={contentClassName}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"solid-row-actions-menu\">\n {hasEditInContextMenu && (\n <button\n type=\"button\"\n className=\"solid-row-action-button\"\n onClick={() => {\n onEdit?.(rowData);\n setOpen(false);\n }}\n >\n <SquarePen size={14} className=\"solid-row-action-button-icon\" />\n <span className=\"solid-row-action-button-label\">Edit</span>\n </button>\n )}\n\n {hasDeleteInContextMenu && !params.embeded && (\n <button\n type=\"button\"\n className=\"solid-row-action-button solid-row-action-button-danger\"\n onClick={() => {\n onDelete?.(rowData);\n setOpen(false);\n }}\n >\n <Trash2 size={14} className=\"solid-row-action-button-icon\" />\n <span className=\"solid-row-action-button-label\">Delete</span>\n </button>\n )}\n\n {hasCustomContextMenuButtons &&\n visibleCustomButtons.map((button: any, index: number) => (\n <SolidListViewRowActionMenuItem\n key={`${index}-${rowData?.id || \"\"}`}\n button={button}\n params={params}\n rowData={rowData}\n solidListViewMetaData={solidListViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n onActionComplete={() => setOpen(false)}\n />\n ))}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n );\n}\n"]}
@@ -2,6 +2,7 @@ import React, { useState } from "react";
2
2
  import { EllipsisVertical, SquarePen, Trash2 } from "lucide-react";
3
3
  import { SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../../shad-cn-ui/SolidPopover";
4
4
  import { SolidListViewRowActionMenuItem } from "./SolidListViewRowActionMenuItem";
5
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
5
6
 
6
7
  export function SolidListViewRowActionsMenu({
7
8
  rowData,
@@ -28,7 +29,10 @@ export function SolidListViewRowActionsMenu({
28
29
 
29
30
  const visibleCustomButtons =
30
31
  solidListViewLayout?.attrs?.rowButtons?.filter(
31
- (rb: any) => rb?.attrs?.actionInContextMenu === true && rb?.attrs?.visible !== false
32
+ (rb: any) =>
33
+ rb?.attrs?.actionInContextMenu === true &&
34
+ rb?.attrs?.visible !== false &&
35
+ isButtonVisibleInCurrentEnv(rb?.attrs)
32
36
  ) ?? [];
33
37
 
34
38
  const hasAnyItems =
@@ -1 +1 @@
1
- {"version":3,"file":"SolidBooleanColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidBooleanColumn.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,QAAA,MAAM,kBAAkB,qDAAsD,yBAAyB,4CAqCtG,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,eAAO,MAAM,wBAAwB,8DAA+D,yBAAyB,QAa5H,CAAA"}
1
+ {"version":3,"file":"SolidBooleanColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidBooleanColumn.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,QAAA,MAAM,kBAAkB,qDAAsD,yBAAyB,4CAqCtG,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,eAAO,MAAM,wBAAwB,8DAA+D,yBAAyB,QAW5H,CAAA"}
@@ -35,13 +35,11 @@ var SolidBooleanColumn = function (_a) {
35
35
  };
36
36
  export default SolidBooleanColumn;
37
37
  export var DefaultBooleanListWidget = function (_a) {
38
- var _b, _c, _d;
38
+ var _b, _c;
39
39
  var rowData = _a.rowData, solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column;
40
- var fieldKey = (_b = column.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.name;
41
- var trueLabel = (_c = column.attrs.trueLabel) !== null && _c !== void 0 ? _c : 'Yes';
42
- var falseLabel = (_d = column.attrs.falseLabel) !== null && _d !== void 0 ? _d : 'No';
43
- // console.log(`rendering boolean column ${fieldKey} with value ${rowData[fieldKey]}, trueLabel=${trueLabel}, falseLabel=${falseLabel}`);
44
- var value = rowData[fieldKey];
40
+ var trueLabel = (_b = column.attrs.trueLabel) !== null && _b !== void 0 ? _b : 'Yes';
41
+ var falseLabel = (_c = column.attrs.falseLabel) !== null && _c !== void 0 ? _c : 'No';
42
+ var value = rowData[fieldMetadata.name];
45
43
  if (value === true) {
46
44
  return trueLabel;
47
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidBooleanColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidBooleanColumn.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,IAAM,kBAAkB,GAAG,UAAC,EAA2E;;QAAzE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IAEtE,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAG/D,OAAO,CACH,KAAC,MAAM,IAEH,KAAK,EAAE,aAAa,CAAC,IAAI,EACzB,MAAM,EAAE,MAAM;QACd,sBAAsB;QACtB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC/B,IAAI,EACA,UAAC,OAAO;YACJ,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,0BAA0B,CAAC;aAC3C;YACD,IAAI,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAM,WAAW,GAA8B;gBAC3C,OAAO,SAAA;gBACP,qBAAqB,uBAAA;gBACrB,aAAa,eAAA;gBACb,MAAM,QAAA;aACT,CAAA;YACD,OAAO,CACH,4BACK,aAAa,IAAI,KAAC,aAAa,eAAK,WAAW,EAAI,GACrD,CACN,CAAA;QACL,CAAC,EAEL,iBAAiB,EAAE,oBAAa,aAAa,CAAC,WAAW,CAAE,EAC3D,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,eAAe,EAAC,iBAAiB,IA3B5B,aAAa,CAAC,IAAI,CA4BjB,CACb,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,EAAoF;;QAAlF,OAAO,aAAA,EAAE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IAC5F,IAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,IAAI,CAAC;IAC1D,IAAM,SAAS,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;IAClD,IAAM,UAAU,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,UAAU,mCAAI,IAAI,CAAC;IACnD,yIAAyI;IACzI,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,KAAK,KAAK,KAAK,EAAE;QACjB,OAAO,UAAU,CAAC;KACrB;IACD,OAAO,EAAE,CAAC;AACd,CAAC,CAAA","sourcesContent":["import { Column } from \"../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport { SolidListFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\n\nconst SolidBooleanColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={\n (rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultBooleanListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n};\n\nexport default SolidBooleanColumn;\n\nexport const DefaultBooleanListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const fieldKey = column.attrs.label ?? fieldMetadata.name;\n const trueLabel = column.attrs.trueLabel ?? 'Yes';\n const falseLabel = column.attrs.falseLabel ?? 'No';\n // console.log(`rendering boolean column ${fieldKey} with value ${rowData[fieldKey]}, trueLabel=${trueLabel}, falseLabel=${falseLabel}`);\n const value = rowData[fieldKey];\n if (value === true) {\n return trueLabel;\n }\n if (value === false) {\n return falseLabel;\n }\n return '';\n}\n"]}
1
+ {"version":3,"file":"SolidBooleanColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidBooleanColumn.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,IAAM,kBAAkB,GAAG,UAAC,EAA2E;;QAAzE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IAEtE,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAG/D,OAAO,CACH,KAAC,MAAM,IAEH,KAAK,EAAE,aAAa,CAAC,IAAI,EACzB,MAAM,EAAE,MAAM;QACd,sBAAsB;QACtB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC/B,IAAI,EACA,UAAC,OAAO;YACJ,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,0BAA0B,CAAC;aAC3C;YACD,IAAI,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAM,WAAW,GAA8B;gBAC3C,OAAO,SAAA;gBACP,qBAAqB,uBAAA;gBACrB,aAAa,eAAA;gBACb,MAAM,QAAA;aACT,CAAA;YACD,OAAO,CACH,4BACK,aAAa,IAAI,KAAC,aAAa,eAAK,WAAW,EAAI,GACrD,CACN,CAAA;QACL,CAAC,EAEL,iBAAiB,EAAE,oBAAa,aAAa,CAAC,WAAW,CAAE,EAC3D,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,eAAe,EAAC,iBAAiB,IA3B5B,aAAa,CAAC,IAAI,CA4BjB,CACb,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,EAAoF;;QAAlF,OAAO,aAAA,EAAE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IAC5F,IAAM,SAAS,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;IAClD,IAAM,UAAU,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,UAAU,mCAAI,IAAI,CAAC;IACnD,IAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,KAAK,KAAK,KAAK,EAAE;QACjB,OAAO,UAAU,CAAC;KACrB;IACD,OAAO,EAAE,CAAC;AACd,CAAC,CAAA","sourcesContent":["import { Column } from \"../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport { SolidListFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\n\nconst SolidBooleanColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={\n (rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultBooleanListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n};\n\nexport default SolidBooleanColumn;\n\nexport const DefaultBooleanListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const trueLabel = column.attrs.trueLabel ?? 'Yes';\n const falseLabel = column.attrs.falseLabel ?? 'No';\n const value = rowData[fieldMetadata.name];\n if (value === true) {\n return trueLabel;\n }\n if (value === false) {\n return falseLabel;\n }\n return '';\n}\n"]}
@@ -45,11 +45,9 @@ const SolidBooleanColumn = ({ solidListViewMetaData, fieldMetadata, column }: So
45
45
  export default SolidBooleanColumn;
46
46
 
47
47
  export const DefaultBooleanListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {
48
- const fieldKey = column.attrs.label ?? fieldMetadata.name;
49
48
  const trueLabel = column.attrs.trueLabel ?? 'Yes';
50
49
  const falseLabel = column.attrs.falseLabel ?? 'No';
51
- // console.log(`rendering boolean column ${fieldKey} with value ${rowData[fieldKey]}, trueLabel=${trueLabel}, falseLabel=${falseLabel}`);
52
- const value = rowData[fieldKey];
50
+ const value = rowData[fieldMetadata.name];
53
51
  if (value === true) {
54
52
  return trueLabel;
55
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidMediaMultipleColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaMultipleColumn.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAqG9E,QAAA,MAAM,wBAAwB,uFAAwF,yBAAyB,4CAmC9I,CAAC;AAEF,eAAe,wBAAwB,CAAC;AAGxC,eAAO,MAAM,8BAA8B,iEAAkE,8BAA8B,mDAgJ1I,CAAC"}
1
+ {"version":3,"file":"SolidMediaMultipleColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaMultipleColumn.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAsG9E,QAAA,MAAM,wBAAwB,uFAAwF,yBAAyB,4CAmC9I,CAAC;AAEF,eAAe,wBAAwB,CAAC;AAGxC,eAAO,MAAM,8BAA8B,iEAAkE,8BAA8B,mDAgJ1I,CAAC"}
@@ -11,11 +11,12 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { useState } from 'react';
14
- import { Download, File, Volume2 } from "lucide-react";
14
+ import { Download, Volume2 } from "lucide-react";
15
15
  import { Column } from "../SolidDataTable";
16
16
  import { getExtensionComponent } from '../../../../helpers/registry';
17
17
  import { FileReaderExt } from '../../../../components/common/FileReaderExt';
18
18
  import { SolidButton, SolidDialog } from "../../../shad-cn-ui";
19
+ import { SolidFileTypeIcon } from '../../../../helpers/fileTypeIcon';
19
20
  var getCleanUrl = function (url) { return url.split("?")[0]; };
20
21
  var isImageFile = function (url) { return /\.(jpg|jpeg|png|gif|bmp|webp)$/i.test(getCleanUrl(url)); };
21
22
  var isVideoFile = function (url) { return /\.(mp4|webm|ogg)$/i.test(getCleanUrl(url)); };
@@ -60,7 +61,7 @@ var MediaPreview = function (_a) {
60
61
  return (_jsx("div", { className: "shadow-2 border-round flex align-items-center justify-content-center bg-gray-100", style: { width: 40, height: 40 }, onClick: handleClick, children: _jsx(Volume2, { size: 18, className: "text-gray-600" }) }));
61
62
  }
62
63
  }
63
- return (_jsx("div", { style: { width: 40, height: 40, display: "flex", alignItems: "center", justifyContent: "center" }, onClick: handleClick, children: _jsx(File, { size: 24, className: "text-gray-400" }) }));
64
+ return (_jsx("div", { style: { width: 40, height: 40, display: "flex", alignItems: "center", justifyContent: "center" }, onClick: handleClick, children: _jsx(SolidFileTypeIcon, { fileUrl: src, size: 24 }) }));
64
65
  };
65
66
  var SolidMediaMultipleColumn = function (_a) {
66
67
  var _b;