@solidxai/core-ui 0.1.12-beta.7 → 0.1.12-beta.9

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 (233) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +19 -17
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +59 -34
  5. package/dist/components/common/BackendReconnectIndicator.d.ts +6 -0
  6. package/dist/components/common/BackendReconnectIndicator.d.ts.map +1 -0
  7. package/dist/components/common/BackendReconnectIndicator.js +25 -0
  8. package/dist/components/common/BackendReconnectIndicator.js.map +1 -0
  9. package/dist/components/common/BackendReconnectIndicator.tsx +45 -0
  10. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  11. package/dist/components/common/SettingsComponent.js +7 -3
  12. package/dist/components/common/SettingsComponent.js.map +1 -1
  13. package/dist/components/common/SettingsComponent.module.css +144 -12
  14. package/dist/components/common/SettingsComponent.tsx +22 -3
  15. package/dist/components/common/SolidAdmin.d.ts.map +1 -1
  16. package/dist/components/common/SolidAdmin.js +7 -2
  17. package/dist/components/common/SolidAdmin.js.map +1 -1
  18. package/dist/components/common/SolidAdmin.tsx +7 -2
  19. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  20. package/dist/components/common/SolidBreadcrumb.js +1 -6
  21. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  22. package/dist/components/common/SolidBreadcrumb.tsx +1 -8
  23. package/dist/components/common/SolidMaterialSymbol.d.ts +10 -0
  24. package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -0
  25. package/dist/components/common/SolidMaterialSymbol.js +69 -0
  26. package/dist/components/common/SolidMaterialSymbol.js.map +1 -0
  27. package/dist/components/common/SolidMaterialSymbol.tsx +96 -0
  28. package/dist/components/common/SolidToastProvider.d.ts.map +1 -1
  29. package/dist/components/common/SolidToastProvider.js +14 -1
  30. package/dist/components/common/SolidToastProvider.js.map +1 -1
  31. package/dist/components/common/SolidToastProvider.tsx +19 -1
  32. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +3 -1
  33. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  34. package/dist/components/core/common/SolidGlobalSearchElement.js +3 -2
  35. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  36. package/dist/components/core/common/SolidGlobalSearchElement.tsx +14 -18
  37. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  38. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +43 -16
  39. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  40. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +24 -2
  41. package/dist/components/core/form/SolidFormFooter.js +1 -1
  42. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  43. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  44. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  45. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  46. package/dist/components/core/form/SolidFormLayouts.tsx +2 -2
  47. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  48. package/dist/components/core/form/fields/SolidMediaMultipleField.js +120 -56
  49. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  50. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +63 -50
  51. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  52. package/dist/components/core/form/fields/SolidMediaSingleField.js +115 -37
  53. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  54. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +36 -35
  55. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  56. package/dist/components/core/form/fields/SolidRichTextField.js +54 -5
  57. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  58. package/dist/components/core/form/fields/SolidRichTextField.tsx +71 -7
  59. package/dist/components/core/form/fields/mediaFieldUtils.d.ts +3 -0
  60. package/dist/components/core/form/fields/mediaFieldUtils.d.ts.map +1 -0
  61. package/dist/components/core/form/fields/mediaFieldUtils.js +30 -0
  62. package/dist/components/core/form/fields/mediaFieldUtils.js.map +1 -0
  63. package/dist/components/core/form/fields/mediaFieldUtils.ts +45 -0
  64. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  65. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +1 -1
  66. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  67. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +3 -1
  68. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  69. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +22 -23
  70. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  71. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +13 -7
  72. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  73. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +16 -11
  74. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  75. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +32 -18
  76. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.d.ts.map +1 -1
  77. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js +3 -1
  78. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js.map +1 -1
  79. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.tsx +11 -5
  80. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  81. package/dist/components/core/list/SolidDataTable.js +3 -2
  82. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  83. package/dist/components/core/list/SolidDataTable.tsx +3 -2
  84. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  85. package/dist/components/core/list/SolidListView.js +11 -5
  86. package/dist/components/core/list/SolidListView.js.map +1 -1
  87. package/dist/components/core/list/SolidListView.tsx +15 -8
  88. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  89. package/dist/components/core/list/SolidListViewColumn.js +1 -0
  90. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  91. package/dist/components/core/list/SolidListViewColumn.tsx +1 -0
  92. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  93. package/dist/components/core/list/columns/SolidShortTextColumn.js +7 -2
  94. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  95. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +7 -2
  96. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.d.ts.map +1 -1
  97. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +4 -1
  98. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  99. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +5 -2
  100. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  101. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +2 -1
  102. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  103. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +2 -1
  104. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.d.ts.map +1 -1
  105. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +4 -1
  106. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  107. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +5 -2
  108. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  109. package/dist/components/core/locales/SolidLocale.js +1 -1
  110. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  111. package/dist/components/core/locales/SolidLocale.tsx +1 -0
  112. package/dist/components/core/model/CreateModel.css +26 -0
  113. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  114. package/dist/components/core/model/FieldMetaData.js +21 -3
  115. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  116. package/dist/components/core/model/FieldMetaData.tsx +45 -4
  117. package/dist/components/core/model/FieldMetaDataForm.css +82 -0
  118. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -0
  119. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  120. package/dist/components/core/model/FieldMetaDataForm.js +246 -235
  121. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  122. package/dist/components/core/model/FieldMetaDataForm.tsx +46 -34
  123. package/dist/components/core/model/FieldSelector.js +1 -1
  124. package/dist/components/core/model/FieldSelector.js.map +1 -1
  125. package/dist/components/core/model/FieldSelector.tsx +1 -1
  126. package/dist/components/core/model/ModelMetaData.js +1 -1
  127. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  128. package/dist/components/core/model/ModelMetaData.tsx +1 -1
  129. package/dist/components/core/module/CreateModule.css +55 -2
  130. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  131. package/dist/components/core/module/CreateModule.js +2 -2
  132. package/dist/components/core/module/CreateModule.js.map +1 -1
  133. package/dist/components/core/module/CreateModule.tsx +3 -2
  134. package/dist/components/core/module/ModuleMetadataExplorer.css +27 -0
  135. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
  136. package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
  137. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
  138. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1 -0
  139. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  140. package/dist/components/core/tree/SolidTreeView.js +6 -1
  141. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  142. package/dist/components/core/tree/SolidTreeView.tsx +7 -1
  143. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  144. package/dist/components/layout/AdminHeaderActions.js +10 -9
  145. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  146. package/dist/components/layout/AdminHeaderActions.tsx +2 -0
  147. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  148. package/dist/components/layout/AppSidebar.js +2 -1
  149. package/dist/components/layout/AppSidebar.js.map +1 -1
  150. package/dist/components/layout/AppSidebar.tsx +12 -5
  151. package/dist/components/layout/SolidMenuItemIcon.d.ts +9 -0
  152. package/dist/components/layout/SolidMenuItemIcon.d.ts.map +1 -0
  153. package/dist/components/layout/SolidMenuItemIcon.js +20 -0
  154. package/dist/components/layout/SolidMenuItemIcon.js.map +1 -0
  155. package/dist/components/layout/SolidMenuItemIcon.tsx +45 -0
  156. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  157. package/dist/components/layout/navbar-two-menu.js +6 -7
  158. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  159. package/dist/components/layout/navbar-two-menu.tsx +4 -12
  160. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  161. package/dist/components/shad-cn-ui/SolidCodeEditor.js +30 -2
  162. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  163. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +38 -1
  164. package/dist/helpers/backendHealthMonitor.d.ts +39 -0
  165. package/dist/helpers/backendHealthMonitor.d.ts.map +1 -0
  166. package/dist/helpers/backendHealthMonitor.js +255 -0
  167. package/dist/helpers/backendHealthMonitor.js.map +1 -0
  168. package/dist/helpers/backendHealthMonitor.ts +177 -0
  169. package/dist/helpers/helpers.d.ts +1 -0
  170. package/dist/helpers/helpers.d.ts.map +1 -1
  171. package/dist/helpers/helpers.js +9 -0
  172. package/dist/helpers/helpers.js.map +1 -1
  173. package/dist/helpers/helpers.ts +11 -1
  174. package/dist/helpers/menuItemIcons.d.ts +34 -0
  175. package/dist/helpers/menuItemIcons.d.ts.map +1 -0
  176. package/dist/helpers/menuItemIcons.js +144 -0
  177. package/dist/helpers/menuItemIcons.js.map +1 -0
  178. package/dist/helpers/menuItemIcons.ts +191 -0
  179. package/dist/helpers/relationDisplay.d.ts +3 -0
  180. package/dist/helpers/relationDisplay.d.ts.map +1 -0
  181. package/dist/helpers/relationDisplay.js +92 -0
  182. package/dist/helpers/relationDisplay.js.map +1 -0
  183. package/dist/helpers/relationDisplay.ts +101 -0
  184. package/dist/helpers/settingsPayload.d.ts +1 -0
  185. package/dist/helpers/settingsPayload.d.ts.map +1 -1
  186. package/dist/helpers/settingsPayload.js.map +1 -1
  187. package/dist/helpers/settingsPayload.ts +1 -0
  188. package/dist/helpers/solidIcons.d.ts +2 -0
  189. package/dist/helpers/solidIcons.d.ts.map +1 -1
  190. package/dist/helpers/solidIcons.js +8 -0
  191. package/dist/helpers/solidIcons.js.map +1 -1
  192. package/dist/helpers/solidIcons.tsx +10 -1
  193. package/dist/helpers/waitForBackendAvailability.d.ts +1 -0
  194. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -1
  195. package/dist/helpers/waitForBackendAvailability.js +35 -22
  196. package/dist/helpers/waitForBackendAvailability.js.map +1 -1
  197. package/dist/helpers/waitForBackendAvailability.ts +18 -12
  198. package/dist/http/solidHttp.d.ts.map +1 -1
  199. package/dist/http/solidHttp.js +10 -4
  200. package/dist/http/solidHttp.js.map +1 -1
  201. package/dist/http/solidHttp.ts +9 -4
  202. package/dist/redux/api/datasourceIntrospectionApi.d.ts +4 -0
  203. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  204. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  205. package/dist/redux/api/datasourceIntrospectionApi.ts +4 -0
  206. package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
  207. package/dist/redux/api/fetchBaseQuery.js +9 -3
  208. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  209. package/dist/redux/api/fetchBaseQuery.tsx +9 -3
  210. package/dist/redux/store/StoreProvider.d.ts.map +1 -1
  211. package/dist/redux/store/StoreProvider.js +4 -3
  212. package/dist/redux/store/StoreProvider.js.map +1 -1
  213. package/dist/redux/store/StoreProvider.tsx +4 -3
  214. package/dist/resources/globals.css +341 -49
  215. package/dist/resources/solid-custom.css +410 -12
  216. package/dist/resources/solid-responsive.css +27 -16
  217. package/dist/resources/solid-tailwind-generated.css +1 -1
  218. package/dist/routes/AppEventListener.d.ts.map +1 -1
  219. package/dist/routes/AppEventListener.js +23 -0
  220. package/dist/routes/AppEventListener.js.map +1 -1
  221. package/dist/routes/AppEventListener.tsx +29 -0
  222. package/dist/routes/pages/admin/core/DashboardPage.module.css +12 -0
  223. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +306 -3
  224. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  225. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +745 -393
  226. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  227. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1074 -420
  228. package/dist/routes/pages/admin/core/DatasourcesPage.css +15 -0
  229. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -1
  230. package/dist/routes/pages/admin/core/DatasourcesPage.js +7 -188
  231. package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -1
  232. package/dist/routes/pages/admin/core/DatasourcesPage.tsx +3 -393
  233. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIconEditWidget.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidIconEditWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { solidIcons } from \"../../../../../helpers/solidIcons\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { SolidButton } from \"../../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"../../../../shad-cn-ui/SolidDialog\";\nimport { SolidInput } from \"../../../../shad-cn-ui/SolidInput\";\nimport { useEffect, useState } from \"react\";\n\nexport const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldName = fieldLayoutInfo?.attrs?.name;\n\n const [openIconDialog, setOpenIconDialog] = useState(false);\n const [selectedCategory, setSelectedCategory] = useState(\"All\");\n const [searchIcon, setSearchIcon] = useState(\"\");\n const [selectedIcon, setSelectedIcon] = useState(formik.values?.[fieldName] || \"\");\n\n // const [iconVariant, setIconVariant] = useState(formik.values.iconVariant || \"outlined\");\n\n // const iconVariants = [\n // { label: \"Outlined\", value: \"outlined\" },\n // { label: \"Rounded\", value: \"rounded\" },\n // { label: \"Sharp\", value: \"sharp\" }\n // ];\n\n const allIcons = solidIcons.flatMap(({ category, icons }) =>\n icons.map((icon) => ({ icon, category }))\n );\n\n const filteredIcons = (selectedCategory === \"All\" ? allIcons :\n allIcons.filter((i) => i.category === selectedCategory)\n ).filter(({ icon }) => icon.toLowerCase().includes(searchIcon.toLowerCase()));\n\n const tabs = [\"All\", ...solidIcons.map((c) => c.category)];\n\n useEffect(() => {\n if (openIconDialog) {\n setSelectedIcon(formik?.values?.[fieldName] ?? \"\");\n // setIconVariant(formik.values.iconVariant ?? \"outlined\");\n }\n }, [openIconDialog]);\n\n const handleSelectIcon = (icon: string) => {\n setSelectedIcon(icon);\n // setIconVariant(variant)\n fieldContext.onChange(\n {\n target: {\n name: fieldName,\n value: icon,\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n // formik.setFieldValue(\"iconVariant\", variant);\n };\n\n const handleRemoveIcon = () => {\n setSelectedIcon(\"\");\n // setIconVariant(null)\n fieldContext.onChange(\n {\n target: {\n name: fieldName,\n value: \"\",\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n // formik.setFieldValue(\"iconVariant\", null);\n };\n\n const formatIconLabel = (icon: string) =>\n icon\n .split('_')\n .map((word: string) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n\n return (\n <div>\n <label className=\"form-field-label\">{fieldLabel}</label>\n <div className=\"flex items-end gap-4 mt-2\">\n <div style={{ display: 'inline-block' }}>\n {selectedIcon ? (\n // <Button\n // type=\"button\"\n // icon={<span className={`material-symbols-outlined`}>{selectedIcon}</span>}\n // onClick={() => setOpenIconDialog(true)}\n // outlined\n // />\n <div>\n <span className={`material-symbols-outlined`} style={{ fontSize: 48, cursor: 'pointer' }} onClick={() => setOpenIconDialog(true)}>\n {selectedIcon}\n </span>\n <p className=\"mb-0 text-center\">\n {formatIconLabel(selectedIcon)}\n </p>\n </div>\n ) : (\n <SolidButton\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={() => setOpenIconDialog(true)}\n >\n Select Icon\n </SolidButton>\n )}\n </div>\n {selectedIcon && (\n <div>\n <SolidButton\n type=\"button\"\n variant=\"ghost\"\n className=\"ml-2\"\n onClick={handleRemoveIcon}\n >\n Remove\n </SolidButton>\n </div>\n )}\n </div>\n <SolidDialog\n open={openIconDialog}\n onOpenChange={setOpenIconDialog}\n className=\"solid-icon-dialog p-0\"\n style={{ width: '70vw', height: '70vh', borderRadius: 6 }}\n showHeader={false}\n breakpoints={{ '1024px': '75vw','991px': '90vw','767px':'94w', '250px': '96vw'}}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Select Icon</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody className=\"p-0\">\n <div className=\"flex flex-wrap -mx-2 -mt-2 m-0 flex-col md:flex-row\">\n <div className=\"w-full lg:w-1/4 px-0 pt-0\">\n <div className=\"flex flex-col justify-between p-4 lg:p-6\" style={{ height: '100%' }}>\n <div className=\"\">\n {/* <p className=\"font-medium\">Variant</p>\n <Dropdown\n value={iconVariant}\n onChange={(e) => setIconVariant(e.value)}\n options={iconVariants}\n optionLabel=\"label\"\n className=\"w-full mb-3\"\n checkmark\n highlightOnSelect={false}\n placeholder=\"Select Variant\"\n /> */}\n\n <p className=\"font-medium\">Category</p>\n <div style={{ marginBottom: \"1rem\", display: \"flex\", gap: \"1rem\", flexWrap: \"wrap\" }} className=\"solid-icon-category-wrapper\">\n {tabs.map((tab) => (\n <SolidButton\n type='button'\n key={tab}\n size=\"sm\"\n onClick={() => {\n setSelectedCategory(tab);\n setSearchIcon(\"\");\n }}\n variant={selectedCategory === tab ? \"primary\" : \"outline\"}\n style={{\n padding: \"8px 16px\",\n fontSize: 12\n }}\n className=\"solid-icon-category\"\n >\n {tab}\n </SolidButton>\n ))}\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"w-1/2 px-0 pt-0 flex lg:hidden\">\n <div className=\"p-4 lg:p-6\">\n <p className=\"font-medium\">Selected Icon</p>\n {selectedIcon && (\n <>\n <div className=\"flex justify-center\">\n <span className={`material-symbols-outlined`} style={{ fontSize: 100 }}>\n {selectedIcon}\n </span>\n </div>\n <p className='mt-2 text-center'>{formatIconLabel(selectedIcon)}</p>\n {/* <code className=\"mt-2 d-block\">\n {`<span class=\"material-symbols-${iconVariant || \"outlined\"}\">${selectedIcon}</span>`}\n </code> */}\n </>\n )}\n </div>\n\n </div>\n <div className=\"w-full lg:w-1/2 px-0 pt-0\" style={{ borderLeft: '1px solid var(--primary-light-color)', borderRight: '1px solid var(--primary-light-color)' }}>\n <div className=\"px-4 lg:px-6 pt-4 lg:pt-6\">\n <div>\n <p className=\"font-medium\">Select Icon</p>\n <SolidInput\n type=\"text\"\n placeholder={`Search icons in \"${selectedCategory}\"`}\n value={searchIcon}\n onChange={(e) => setSearchIcon(e.target.value)}\n className=\"w-full\"\n />\n </div>\n </div>\n <div style={{ height: 'calc(70vh - 125px)', overflowY: 'auto', overflowX: 'hidden' }} className=\"px-6 pb-4 mt-6\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n {filteredIcons.length > 0 ? (\n filteredIcons.map(({ icon, category }) => (\n <div className=\"w-1/4 px-2 pt-2\" key={icon}>\n <div className=\"w-full flex flex-col items-center justify-center gap-4\">\n <span\n className={`material-symbols-outlined`}\n style={{\n fontSize: 32,\n cursor: \"pointer\",\n padding: \"8px\",\n border: selectedIcon === icon ? \"2px solid var(--primary-color)\" : \"2px solid transparent\",\n borderRadius: \"6px\",\n }}\n onClick={() => handleSelectIcon(icon)}\n title={`${icon} (${category})`}\n >\n {icon}\n </span>\n <p className='mb-0 mt-1 text-center'>\n {formatIconLabel(icon)}\n </p>\n </div>\n </div>\n ))\n ) : (\n <p className=\"mt\">No icons found.</p>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"w-1/4 px-0 pt-0 hidden lg:flex\">\n <div className=\"p-4 lg:p-6\">\n <p className=\"font-medium\">Selected Icon</p>\n {selectedIcon && (\n <>\n <div className=\"flex justify-center\">\n <span className={`material-symbols-outlined`} style={{ fontSize: 100 }}>\n {selectedIcon}\n </span>\n </div>\n <p className='mt-2 text-center'>{formatIconLabel(selectedIcon)}</p>\n {/* <code className=\"mt-2 d-block\">\n {`<span class=\"material-symbols-${iconVariant || \"outlined\"}\">${selectedIcon}</span>`}\n </code> */}\n </>\n )}\n </div>\n\n </div>\n </div>\n </SolidDialogBody>\n <SolidDialogFooter className=\"gap-4\">\n <SolidButton type=\"button\" size=\"sm\" onClick={() => setOpenIconDialog(false)}>\n Select\n </SolidButton>\n <SolidButton type=\"button\" size=\"sm\" variant=\"outline\" onClick={() => setOpenIconDialog(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidIconEditWidget.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidIconEditWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { solidIcons } from \"../../../../../helpers/solidIcons\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { SolidButton } from \"../../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"../../../../shad-cn-ui/SolidDialog\";\nimport { SolidInput } from \"../../../../shad-cn-ui/SolidInput\";\nimport { useEffect, useState } from \"react\";\nimport { SolidIcon } from \"../../../../shad-cn-ui/SolidIcon\";\nimport { SolidMaterialSymbol } from \"../../../../common/SolidMaterialSymbol\";\n\nexport const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldName = fieldLayoutInfo?.attrs?.name;\n\n const [openIconDialog, setOpenIconDialog] = useState(false);\n const [selectedCategory, setSelectedCategory] = useState(\"All\");\n const [searchIcon, setSearchIcon] = useState(\"\");\n const [selectedIcon, setSelectedIcon] = useState(formik.values?.[fieldName] || \"\");\n\n // const [iconVariant, setIconVariant] = useState(formik.values.iconVariant || \"outlined\");\n\n // const iconVariants = [\n // { label: \"Outlined\", value: \"outlined\" },\n // { label: \"Rounded\", value: \"rounded\" },\n // { label: \"Sharp\", value: \"sharp\" }\n // ];\n\n useEffect(() => {\n setSelectedIcon(formik.values?.[fieldName] ?? \"\");\n }, [formik.values?.[fieldName]]);\n\n const allIcons = solidIcons.flatMap(({ category, icons }) =>\n icons.map((icon) => ({ icon, category }))\n );\n\n const filteredIcons = (selectedCategory === \"All\" ? allIcons :\n allIcons.filter((i) => i.category === selectedCategory)\n ).filter(({ icon }) => icon.toLowerCase().includes(searchIcon.toLowerCase()));\n\n const tabs = [\"All\", ...solidIcons.map((c) => c.category)];\n\n useEffect(() => {\n if (openIconDialog) {\n setSelectedIcon(formik?.values?.[fieldName] ?? \"\");\n // setIconVariant(formik.values.iconVariant ?? \"outlined\");\n }\n }, [openIconDialog]);\n\n const handleSelectIcon = (icon: string) => {\n setSelectedIcon(icon);\n // setIconVariant(variant)\n fieldContext.onChange(\n {\n target: {\n name: fieldName,\n value: icon,\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n // formik.setFieldValue(\"iconVariant\", variant);\n };\n\n const handleRemoveIcon = () => {\n setSelectedIcon(\"\");\n // setIconVariant(null)\n fieldContext.onChange(\n {\n target: {\n name: fieldName,\n value: \"\",\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n // formik.setFieldValue(\"iconVariant\", null);\n };\n\n const formatIconLabel = (icon: string) =>\n icon\n .split('_')\n .map((word: string) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n\n return (\n <div>\n <label className=\"form-field-label\">{fieldLabel}</label>\n <div className=\"flex items-end gap-4 mt-2\">\n <div style={{ display: 'inline-block' }}>\n {selectedIcon ? (\n // <Button\n // type=\"button\"\n // icon={<span className={`material-symbols-outlined`}>{selectedIcon}</span>}\n // onClick={() => setOpenIconDialog(true)}\n // outlined\n // />\n <div>\n <SolidMaterialSymbol\n className=\"cursor-pointer\"\n fallback={<SolidIcon name=\"si-th-large\" size={48} />}\n name={selectedIcon}\n onClick={() => setOpenIconDialog(true)}\n size={48}\n style={{ cursor: \"pointer\" }}\n />\n <p className=\"mb-0 text-center\">\n {formatIconLabel(selectedIcon)}\n </p>\n </div>\n ) : (\n <SolidButton\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={() => setOpenIconDialog(true)}\n >\n Select Icon\n </SolidButton>\n )}\n </div>\n {selectedIcon && (\n <div>\n <SolidButton\n type=\"button\"\n variant=\"ghost\"\n className=\"ml-2\"\n onClick={handleRemoveIcon}\n >\n Remove\n </SolidButton>\n </div>\n )}\n </div>\n <SolidDialog\n open={openIconDialog}\n onOpenChange={setOpenIconDialog}\n className=\"solid-icon-dialog p-0\"\n style={{ minWidth: '70vw', minHeight: '70vh', borderRadius: 6 }}\n showHeader={false}\n breakpoints={{ '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Select Icon</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody className=\"p-0\">\n <div className=\"flex flex-wrap -mx-2 -mt-2 m-0 flex-col md:flex-row\">\n <div className=\"w-full lg:w-1/4 px-0 pt-0\">\n <div className=\"flex flex-col justify-between p-4 lg:p-6\" style={{ height: '100%' }}>\n <div className=\"\">\n {/* <p className=\"font-medium\">Variant</p>\n <Dropdown\n value={iconVariant}\n onChange={(e) => setIconVariant(e.value)}\n options={iconVariants}\n optionLabel=\"label\"\n className=\"w-full mb-3\"\n checkmark\n highlightOnSelect={false}\n placeholder=\"Select Variant\"\n /> */}\n\n <p className=\"font-medium\">Category</p>\n <div style={{ marginBottom: \"1rem\", display: \"flex\", gap: \"1rem\", flexWrap: \"wrap\" }} className=\"solid-icon-category-wrapper\">\n {tabs.map((tab) => (\n <SolidButton\n type='button'\n key={tab}\n size=\"sm\"\n onClick={() => {\n setSelectedCategory(tab);\n setSearchIcon(\"\");\n }}\n variant={selectedCategory === tab ? \"primary\" : \"outline\"}\n style={{\n padding: \"8px 16px\",\n fontSize: 12\n }}\n className=\"solid-icon-category\"\n >\n {tab}\n </SolidButton>\n ))}\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"w-1/2 px-0 pt-0 flex lg:hidden\">\n <div className=\"p-4 lg:p-6\">\n <p className=\"font-medium\">Selected Icon</p>\n {selectedIcon && (\n <>\n <div className=\"flex justify-center\">\n <SolidMaterialSymbol\n fallback={<SolidIcon name=\"si-th-large\" size={100} />}\n name={selectedIcon}\n size={100}\n />\n </div>\n <p className='mt-2 text-center'>{formatIconLabel(selectedIcon)}</p>\n {/* <code className=\"mt-2 d-block\">\n {`<span class=\"material-symbols-${iconVariant || \"outlined\"}\">${selectedIcon}</span>`}\n </code> */}\n </>\n )}\n </div>\n\n </div>\n <div className=\"w-full lg:w-1/2 px-0 pt-0\" style={{ borderLeft: '1px solid var(--primary-light-color)', borderRight: '1px solid var(--primary-light-color)' }}>\n <div className=\"px-4 lg:px-6 pt-4 lg:pt-6\">\n <div>\n <p className=\"font-medium\">Select Icon</p>\n <SolidInput\n type=\"text\"\n placeholder={`Search icons in \"${selectedCategory}\"`}\n value={searchIcon}\n onChange={(e) => setSearchIcon(e.target.value)}\n className=\"w-full\"\n />\n </div>\n </div>\n <div style={{ height: 'calc(70vh - 125px)', overflowY: 'auto', overflowX: 'hidden' }} className=\"px-6 pb-4 mt-6\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n {filteredIcons.length > 0 ? (\n filteredIcons.map(({ icon, category }) => (\n <div className=\"w-1/4 px-2 pt-2\" key={icon}>\n <div className=\"w-full flex flex-col items-center justify-center gap-4\">\n <SolidMaterialSymbol\n fallback={null}\n name={icon}\n onClick={() => handleSelectIcon(icon)}\n size={32}\n style={{\n cursor: \"pointer\",\n padding: \"8px\",\n border: selectedIcon === icon ? \"2px solid var(--primary-color)\" : \"2px solid transparent\",\n borderRadius: \"6px\",\n }}\n title={`${icon} (${category})`}\n />\n <p className='mb-0 mt-1 text-center'>\n {formatIconLabel(icon)}\n </p>\n </div>\n </div>\n ))\n ) : (\n <p className=\"mt\">No icons found.</p>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"w-1/4 px-0 pt-0 hidden lg:flex\">\n <div className=\"p-4 lg:p-6\">\n <p className=\"font-medium\">Selected Icon</p>\n {selectedIcon && (\n <>\n <div className=\"flex justify-center\">\n <SolidMaterialSymbol\n fallback={<SolidIcon name=\"si-th-large\" size={100} />}\n name={selectedIcon}\n size={100}\n />\n </div>\n <p className='mt-2 text-center'>{formatIconLabel(selectedIcon)}</p>\n {/* <code className=\"mt-2 d-block\">\n {`<span class=\"material-symbols-${iconVariant || \"outlined\"}\">${selectedIcon}</span>`}\n </code> */}\n </>\n )}\n </div>\n\n </div>\n </div>\n </SolidDialogBody>\n <SolidDialogFooter className=\"gap-4\">\n <SolidButton type=\"button\" size=\"sm\" onClick={() => setOpenIconDialog(false)}>\n Select\n </SolidButton>\n <SolidButton type=\"button\" size=\"sm\" variant=\"outline\" onClick={() => setOpenIconDialog(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n );\n};\n"]}
@@ -12,6 +12,8 @@ import {
12
12
  } from "../../../../shad-cn-ui/SolidDialog";
13
13
  import { SolidInput } from "../../../../shad-cn-ui/SolidInput";
14
14
  import { useEffect, useState } from "react";
15
+ import { SolidIcon } from "../../../../shad-cn-ui/SolidIcon";
16
+ import { SolidMaterialSymbol } from "../../../../common/SolidMaterialSymbol";
15
17
 
16
18
  export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {
17
19
  const fieldMetadata = fieldContext.fieldMetadata;
@@ -32,6 +34,10 @@ export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidg
32
34
  // { label: "Sharp", value: "sharp" }
33
35
  // ];
34
36
 
37
+ useEffect(() => {
38
+ setSelectedIcon(formik.values?.[fieldName] ?? "");
39
+ }, [formik.values?.[fieldName]]);
40
+
35
41
  const allIcons = solidIcons.flatMap(({ category, icons }) =>
36
42
  icons.map((icon) => ({ icon, category }))
37
43
  );
@@ -100,9 +106,14 @@ export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidg
100
106
  // outlined
101
107
  // />
102
108
  <div>
103
- <span className={`material-symbols-outlined`} style={{ fontSize: 48, cursor: 'pointer' }} onClick={() => setOpenIconDialog(true)}>
104
- {selectedIcon}
105
- </span>
109
+ <SolidMaterialSymbol
110
+ className="cursor-pointer"
111
+ fallback={<SolidIcon name="si-th-large" size={48} />}
112
+ name={selectedIcon}
113
+ onClick={() => setOpenIconDialog(true)}
114
+ size={48}
115
+ style={{ cursor: "pointer" }}
116
+ />
106
117
  <p className="mb-0 text-center">
107
118
  {formatIconLabel(selectedIcon)}
108
119
  </p>
@@ -135,9 +146,9 @@ export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidg
135
146
  open={openIconDialog}
136
147
  onOpenChange={setOpenIconDialog}
137
148
  className="solid-icon-dialog p-0"
138
- style={{ width: '70vw', height: '70vh', borderRadius: 6 }}
149
+ style={{ minWidth: '70vw', minHeight: '70vh', borderRadius: 6 }}
139
150
  showHeader={false}
140
- breakpoints={{ '1024px': '75vw','991px': '90vw','767px':'94w', '250px': '96vw'}}
151
+ breakpoints={{ '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }}
141
152
  >
142
153
  <SolidDialogHeader>
143
154
  <SolidDialogTitle>Select Icon</SolidDialogTitle>
@@ -192,9 +203,11 @@ export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidg
192
203
  {selectedIcon && (
193
204
  <>
194
205
  <div className="flex justify-center">
195
- <span className={`material-symbols-outlined`} style={{ fontSize: 100 }}>
196
- {selectedIcon}
197
- </span>
206
+ <SolidMaterialSymbol
207
+ fallback={<SolidIcon name="si-th-large" size={100} />}
208
+ name={selectedIcon}
209
+ size={100}
210
+ />
198
211
  </div>
199
212
  <p className='mt-2 text-center'>{formatIconLabel(selectedIcon)}</p>
200
213
  {/* <code className="mt-2 d-block">
@@ -224,20 +237,19 @@ export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidg
224
237
  filteredIcons.map(({ icon, category }) => (
225
238
  <div className="w-1/4 px-2 pt-2" key={icon}>
226
239
  <div className="w-full flex flex-col items-center justify-center gap-4">
227
- <span
228
- className={`material-symbols-outlined`}
240
+ <SolidMaterialSymbol
241
+ fallback={null}
242
+ name={icon}
243
+ onClick={() => handleSelectIcon(icon)}
244
+ size={32}
229
245
  style={{
230
- fontSize: 32,
231
246
  cursor: "pointer",
232
247
  padding: "8px",
233
248
  border: selectedIcon === icon ? "2px solid var(--primary-color)" : "2px solid transparent",
234
249
  borderRadius: "6px",
235
250
  }}
236
- onClick={() => handleSelectIcon(icon)}
237
251
  title={`${icon} (${category})`}
238
- >
239
- {icon}
240
- </span>
252
+ />
241
253
  <p className='mb-0 mt-1 text-center'>
242
254
  {formatIconLabel(icon)}
243
255
  </p>
@@ -257,9 +269,11 @@ export const SolidIconEditWidget = ({ formik, fieldContext }: SolidFormFieldWidg
257
269
  {selectedIcon && (
258
270
  <>
259
271
  <div className="flex justify-center">
260
- <span className={`material-symbols-outlined`} style={{ fontSize: 100 }}>
261
- {selectedIcon}
262
- </span>
272
+ <SolidMaterialSymbol
273
+ fallback={<SolidIcon name="si-th-large" size={100} />}
274
+ name={selectedIcon}
275
+ size={100}
276
+ />
263
277
  </div>
264
278
  <p className='mt-2 text-center'>{formatIconLabel(selectedIcon)}</p>
265
279
  {/* <code className="mt-2 d-block">
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIconViewWidget.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidIconViewWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,eAAO,MAAM,mBAAmB,6BAA8B,yBAAyB,4CA6BtF,CAAC"}
1
+ {"version":3,"file":"SolidIconViewWidget.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidIconViewWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAI5E,eAAO,MAAM,mBAAmB,6BAA8B,yBAAyB,4CAiCtF,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { SolidIcon } from "../../../../shad-cn-ui/SolidIcon";
3
+ import { SolidMaterialSymbol } from "../../../../common/SolidMaterialSymbol";
2
4
  export var SolidIconViewWidget = function (_a) {
3
5
  var _b, _c, _d;
4
6
  var formik = _a.formik, fieldContext = _a.fieldContext;
@@ -13,6 +15,6 @@ export var SolidIconViewWidget = function (_a) {
13
15
  .map(function (word) { return word.charAt(0).toUpperCase() + word.slice(1); })
14
16
  .join(' ')
15
17
  : '';
16
- return (_jsxs("div", { children: [_jsx("label", { className: "form-field-label", children: fieldLabel }), selectedIcon ? (_jsxs("div", { className: "mt-2", style: { display: 'inline-block' }, children: [_jsx("span", { className: "material-symbols-outlined", style: { fontSize: 48, cursor: 'pointer' }, children: selectedIcon }), _jsx("p", { className: "mb-0 text-center", children: formattedIconName })] })) : (_jsx("p", { className: "mt-2", children: "No icon selected." }))] }));
18
+ return (_jsxs("div", { children: [_jsx("label", { className: "form-field-label", children: fieldLabel }), selectedIcon ? (_jsxs("div", { className: "mt-2", style: { display: 'inline-block' }, children: [_jsx(SolidMaterialSymbol, { fallback: _jsx(SolidIcon, { name: "si-th-large", size: 48 }), name: selectedIcon, size: 48, style: { cursor: "pointer" } }), _jsx("p", { className: "mb-0 text-center", children: formattedIconName })] })) : (_jsx("p", { className: "mt-2", children: "No icon selected." }))] }));
17
19
  };
18
20
  //# sourceMappingURL=SolidIconViewWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIconViewWidget.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidIconViewWidget.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAmD;;QAAjD,MAAM,YAAA,EAAE,YAAY,kBAAA;IACtD,IAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACjD,IAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAC3C,IAAM,UAAU,GAAG,MAAA,eAAe,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAC5E,IAAM,SAAS,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,IAAI,CAAC;IAC/C,IAAM,YAAY,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAG,SAAS,CAAC,CAAC;IAEhD,IAAM,iBAAiB,GAAG,YAAY;QAClC,CAAC,CAAC,YAAY;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAA5C,CAA4C,CAAC;aACnE,IAAI,CAAC,GAAG,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACH,0BACI,gBAAO,SAAS,EAAC,kBAAkB,YAAE,UAAU,GAAS,EACvD,YAAY,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,EAAC,OAAO,EAAC,cAAc,EAAC,aACjD,eAAM,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAG,MAAM,EAAC,SAAS,EAAC,YAChF,YAAY,GACV,EACP,YAAG,SAAS,EAAC,kBAAkB,YAAE,iBAAiB,GAAK,IACrD,CACT,CAAC,CAAC,CAAC,CACA,YAAG,SAAS,EAAC,MAAM,kCAAsB,CAC5C,IACC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\n\nexport const SolidIconViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldName = fieldLayoutInfo?.attrs?.name;\n const selectedIcon = formik.values?.[fieldName];\n\n const formattedIconName = selectedIcon\n ? selectedIcon\n .split('_')\n .map((word: string) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n : '';\n\n return (\n <div>\n <label className=\"form-field-label\">{fieldLabel}</label>\n {selectedIcon ? (\n <div className=\"mt-2\" style={{display:'inline-block'}}>\n <span className=\"material-symbols-outlined\" style={{ fontSize: 48 , cursor:'pointer'}}>\n {selectedIcon}\n </span>\n <p className=\"mb-0 text-center\">{formattedIconName}</p>\n </div>\n ) : (\n <p className=\"mt-2\">No icon selected.</p>\n )}\n </div>\n );\n};"]}
1
+ {"version":3,"file":"SolidIconViewWidget.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/widgets/SolidIconViewWidget.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAmD;;QAAjD,MAAM,YAAA,EAAE,YAAY,kBAAA;IACtD,IAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACjD,IAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAC3C,IAAM,UAAU,GAAG,MAAA,eAAe,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAC5E,IAAM,SAAS,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,IAAI,CAAC;IAC/C,IAAM,YAAY,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAG,SAAS,CAAC,CAAC;IAEhD,IAAM,iBAAiB,GAAG,YAAY;QAClC,CAAC,CAAC,YAAY;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAA5C,CAA4C,CAAC;aACnE,IAAI,CAAC,GAAG,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IAGT,OAAO,CACH,0BACI,gBAAO,SAAS,EAAC,kBAAkB,YAAE,UAAU,GAAS,EACvD,YAAY,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,aACpD,KAAC,mBAAmB,IAChB,QAAQ,EAAE,KAAC,SAAS,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAE,EAAE,GAAI,EACpD,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAC9B,EACF,YAAG,SAAS,EAAC,kBAAkB,YAAE,iBAAiB,GAAK,IACrD,CACT,CAAC,CAAC,CAAC,CACA,YAAG,SAAS,EAAC,MAAM,kCAAsB,CAC5C,IACC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { SolidIcon } from \"../../../../shad-cn-ui/SolidIcon\";\nimport { SolidMaterialSymbol } from \"../../../../common/SolidMaterialSymbol\";\n\nexport const SolidIconViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldName = fieldLayoutInfo?.attrs?.name;\n const selectedIcon = formik.values?.[fieldName];\n\n const formattedIconName = selectedIcon\n ? selectedIcon\n .split('_')\n .map((word: string) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n : '';\n\n\n return (\n <div>\n <label className=\"form-field-label\">{fieldLabel}</label>\n {selectedIcon ? (\n <div className=\"mt-2\" style={{ display: 'inline-block' }}>\n <SolidMaterialSymbol\n fallback={<SolidIcon name=\"si-th-large\" size={48} />}\n name={selectedIcon}\n size={48}\n style={{ cursor: \"pointer\" }}\n />\n <p className=\"mb-0 text-center\">{formattedIconName}</p>\n </div>\n ) : (\n <p className=\"mt-2\">No icon selected.</p>\n )}\n </div>\n );\n};\n"]}
@@ -1,4 +1,6 @@
1
1
  import { SolidFormFieldWidgetProps } from "../../../../../types/solid-core";
2
+ import { SolidIcon } from "../../../../shad-cn-ui/SolidIcon";
3
+ import { SolidMaterialSymbol } from "../../../../common/SolidMaterialSymbol";
2
4
 
3
5
  export const SolidIconViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {
4
6
  const fieldMetadata = fieldContext.fieldMetadata;
@@ -14,14 +16,18 @@ export const SolidIconViewWidget = ({ formik, fieldContext }: SolidFormFieldWidg
14
16
  .join(' ')
15
17
  : '';
16
18
 
19
+
17
20
  return (
18
21
  <div>
19
22
  <label className="form-field-label">{fieldLabel}</label>
20
23
  {selectedIcon ? (
21
- <div className="mt-2" style={{display:'inline-block'}}>
22
- <span className="material-symbols-outlined" style={{ fontSize: 48 , cursor:'pointer'}}>
23
- {selectedIcon}
24
- </span>
24
+ <div className="mt-2" style={{ display: 'inline-block' }}>
25
+ <SolidMaterialSymbol
26
+ fallback={<SolidIcon name="si-th-large" size={48} />}
27
+ name={selectedIcon}
28
+ size={48}
29
+ style={{ cursor: "pointer" }}
30
+ />
25
31
  <p className="mb-0 text-center">{formattedIconName}</p>
26
32
  </div>
27
33
  ) : (
@@ -29,4 +35,4 @@ export const SolidIconViewWidget = ({ formik, fieldContext }: SolidFormFieldWidg
29
35
  )}
30
36
  </div>
31
37
  );
32
- };
38
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDataTable.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolidDataTable.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTable.tsx"],"names":[],"mappings":"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"}
@@ -120,10 +120,11 @@ export function SolidDataTable(_a) {
120
120
  : size === "large"
121
121
  ? "solid-table-density-comfortable"
122
122
  : "solid-table-density-cozy";
123
- return (_jsxs("div", { className: cx("solid-data-table-root w-full min-h-0", densityClass), style: {
123
+ var isAutoHeight = viewportHeight === "auto";
124
+ return (_jsxs("div", { className: cx("solid-data-table-root w-full min-h-0", densityClass, isAutoHeight && "solid-data-table-root-auto"), style: {
124
125
  height: viewportHeight || "100%",
125
126
  maxHeight: viewportHeight || "100%",
126
- }, children: [_jsx("div", { className: "solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background", children: _jsxs("table", { className: cx("w-full text-sm border-collapse", tableClassName), children: [_jsx("thead", { className: "solid-data-table-head", children: _jsx("tr", { children: columns.map(function (column, index) {
127
+ }, children: [_jsx("div", { className: cx("solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background", isAutoHeight && "solid-data-table-viewport-auto"), children: _jsxs("table", { className: cx("w-full text-sm border-collapse", tableClassName), children: [_jsx("thead", { className: "solid-data-table-head", children: _jsx("tr", { children: columns.map(function (column, index) {
127
128
  var props = column.props;
128
129
  var isSelectionColumn = props.selectionMode === "multiple";
129
130
  var isSortable = Boolean(props.sortable && props.field && !isSelectionColumn);
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDataTable.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ArrowDownWideNarrow, ArrowUpDown, ArrowUpWideNarrow } from \"lucide-react\";\nimport { SolidSelect } from \"../../shad-cn-ui/SolidSelect\";\n\nexport type DataTableStateEvent = {\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n};\n\ntype HeaderRenderer = React.ReactNode | (() => React.ReactNode);\ntype BodyRenderer = (rowData: any) => React.ReactNode;\n\nexport type SolidColumnProps = {\n field?: string;\n header?: HeaderRenderer;\n body?: BodyRenderer;\n sortable?: boolean;\n selectionMode?: \"multiple\" | \"single\" | null;\n headerStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n className?: string;\n headerClassName?: string;\n frozen?: boolean;\n alignFrozen?: \"left\" | \"right\";\n frozenBackground?: string;\n [key: string]: any;\n};\n\nexport function Column(_props: SolidColumnProps) {\n return null;\n}\n\ntype SolidDataTableProps = {\n value: any[];\n children: React.ReactNode;\n size?: \"small\" | \"normal\" | \"large\";\n viewportHeight?: string;\n dataKey?: string;\n emptyMessage?: React.ReactNode;\n rows?: number;\n first?: number;\n totalRecords?: number;\n rowsPerPageOptions?: number[];\n onPage?: (event: { first: number; rows: number }) => void;\n onSort?: (event: DataTableStateEvent) => void;\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n removableSort?: boolean;\n selection?: any[];\n selectionMode?: \"checkbox\" | null;\n onSelectionChange?: (event: { value: any[] }) => void;\n onRowClick?: (event: { data: any }) => void;\n rowClassName?: (rowData: any) => string;\n tableClassName?: string;\n paginatorClassName?: string;\n currentPageReportTemplate?: string;\n [key: string]: any;\n};\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nfunction renderHeaderNode(header?: HeaderRenderer) {\n if (typeof header === \"function\") return header();\n return header ?? null;\n}\n\nfunction normalizeColumns(children: React.ReactNode): React.ReactElement<SolidColumnProps>[] {\n return React.Children.toArray(children).filter((child): child is React.ReactElement<SolidColumnProps> => {\n return React.isValidElement(child);\n });\n}\n\nfunction resolveSortIcon(active: boolean, order: 1 | -1 | 0): React.ReactNode {\n if (!active || order === 0) return <ArrowUpDown size={14} aria-hidden=\"true\" />;\n return order === 1\n ? <ArrowUpWideNarrow size={14} aria-hidden=\"true\" />\n : <ArrowDownWideNarrow size={14} aria-hidden=\"true\" />;\n}\n\nfunction nextSortOrder(active: boolean, order: 1 | -1 | 0, removableSort = true): 1 | -1 | 0 {\n if (!active || order === 0) return 1;\n if (order === 1) return -1;\n return removableSort ? 0 : 1;\n}\n\nfunction getFrozenCellStyle(\n props: SolidColumnProps,\n baseStyle?: React.CSSProperties,\n isHeader: boolean = false\n): React.CSSProperties {\n if (!props.frozen) return baseStyle ?? {};\n\n const stickyStyle: React.CSSProperties = {\n position: \"sticky\",\n zIndex: isHeader ? 12 : 3,\n background: props.frozenBackground ?? \"var(--card)\",\n };\n\n if (props.alignFrozen === \"right\") {\n stickyStyle.right = 0;\n } else {\n stickyStyle.left = 0;\n }\n\n return { ...baseStyle, ...stickyStyle };\n}\n\nexport function SolidDataTable({\n value,\n children,\n size = \"normal\",\n viewportHeight,\n dataKey = \"id\",\n emptyMessage,\n rows = 25,\n first = 0,\n totalRecords = 0,\n rowsPerPageOptions = [10, 25, 50, 100],\n onPage,\n onSort,\n sortField,\n sortOrder = 0,\n removableSort = true,\n selection = [],\n selectionMode,\n onSelectionChange,\n onRowClick,\n rowClassName,\n tableClassName,\n paginatorClassName,\n currentPageReportTemplate = \"{first} - {last} of {totalRecords}\",\n}: SolidDataTableProps) {\n const columns = normalizeColumns(children);\n const pageRows = value ?? [];\n\n const selectedKeys = new Set((selection || []).map((row: any) => String(row?.[dataKey])));\n const allSelected = pageRows.length > 0 && pageRows.every((row: any) => selectedKeys.has(String(row?.[dataKey])));\n\n const start = totalRecords === 0 ? 0 : first + 1;\n const end = Math.min(first + rows, totalRecords);\n const currentPage = rows > 0 ? Math.floor(first / rows) + 1 : 1;\n const totalPages = rows > 0 ? Math.max(1, Math.ceil(totalRecords / rows)) : 1;\n\n const report = currentPageReportTemplate\n .replace(\"{first}\", String(start))\n .replace(\"{last}\", String(end))\n .replace(\"{totalRecords}\", String(totalRecords));\n\n const emitSelection = (nextSelection: any[]) => {\n onSelectionChange?.({ value: nextSelection });\n };\n\n const toggleSelectAll = (checked: boolean) => {\n if (!checked) {\n const pageKeys = new Set(pageRows.map((row: any) => String(row?.[dataKey])));\n emitSelection((selection || []).filter((row: any) => !pageKeys.has(String(row?.[dataKey]))));\n return;\n }\n const merged = [...(selection || [])];\n const mergedKeys = new Set(merged.map((row: any) => String(row?.[dataKey])));\n pageRows.forEach((row: any) => {\n const key = String(row?.[dataKey]);\n if (!mergedKeys.has(key)) merged.push(row);\n });\n emitSelection(merged);\n };\n\n const toggleRowSelection = (rowData: any, checked: boolean) => {\n const key = String(rowData?.[dataKey]);\n if (!checked) {\n emitSelection((selection || []).filter((row: any) => String(row?.[dataKey]) !== key));\n return;\n }\n emitSelection([...(selection || []), rowData]);\n };\n\n const densityClass =\n size === \"small\"\n ? \"solid-table-density-compact\"\n : size === \"large\"\n ? \"solid-table-density-comfortable\"\n : \"solid-table-density-cozy\";\n\n return (\n <div\n className={cx(\"solid-data-table-root w-full min-h-0\", densityClass)}\n style={{\n height: viewportHeight || \"100%\",\n maxHeight: viewportHeight || \"100%\",\n }}\n >\n <div className=\"solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background\">\n <table className={cx(\"w-full text-sm border-collapse\", tableClassName)}>\n <thead className=\"solid-data-table-head\">\n <tr>\n {columns.map((column, index) => {\n const props = column.props;\n const isSelectionColumn = props.selectionMode === \"multiple\";\n const isSortable = Boolean(props.sortable && props.field && !isSelectionColumn);\n const isActiveSort = isSortable && sortField === props.field;\n const iconNode = resolveSortIcon(Boolean(isActiveSort), sortOrder);\n return (\n <th\n key={`header-${index}`}\n className={cx(\n \"solid-data-table-th text-left text-foreground whitespace-nowrap\",\n props.frozen ? \"solid-tree-sticky-cell\" : undefined,\n props.frozen && props.alignFrozen === \"right\" ? \"solid-tree-sticky-cell-right\" : undefined,\n props.frozen && props.alignFrozen !== \"right\" ? \"solid-tree-sticky-cell-left\" : undefined,\n isSelectionColumn ? \"solid-data-table-selection-col\" : undefined,\n props.headerClassName\n )}\n style={getFrozenCellStyle(props, { ...props.style, ...props.headerStyle }, true)}\n >\n {isSelectionColumn ? (\n <input\n type=\"checkbox\"\n checked={allSelected}\n onChange={(e) => toggleSelectAll(e.currentTarget.checked)}\n aria-label=\"Select all rows\"\n />\n ) : (\n <button\n type=\"button\"\n className={cx(\"solid-table-header-button\", isSortable ? \"is-sortable\" : undefined)}\n onClick={() => {\n if (!isSortable) return;\n const nextOrder = nextSortOrder(Boolean(isActiveSort), sortOrder, removableSort);\n onSort?.({\n sortField: nextOrder === 0 ? undefined : props.field,\n sortOrder: nextOrder,\n });\n }}\n >\n {renderHeaderNode(props.header)}\n {isSortable ? iconNode : null}\n </button>\n )}\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {pageRows.length === 0 ? (\n <tr>\n <td className=\"px-3 py-6 text-center text-muted-foreground\" colSpan={Math.max(columns.length, 1)}>\n {emptyMessage || \"No records found\"}\n </td>\n </tr>\n ) : (\n pageRows.map((rowData: any) => {\n const key = String(rowData?.[dataKey]);\n const rowSelected = selectedKeys.has(key);\n return (\n <tr\n key={key}\n className={cx(\"solid-data-table-row\", rowClassName?.(rowData))}\n onClick={(event) => {\n const target = event.target as HTMLElement;\n if (target.closest(\"button,a,input,label,[data-no-row-click='true']\")) return;\n onRowClick?.({ data: rowData });\n }}\n >\n {columns.map((column, index) => {\n const props = column.props;\n const isSelectionColumn = props.selectionMode === \"multiple\";\n const content = isSelectionColumn\n ? (\n <input\n type=\"checkbox\"\n checked={rowSelected}\n onChange={(e) => toggleRowSelection(rowData, e.currentTarget.checked)}\n onClick={(e) => e.stopPropagation()}\n aria-label=\"Select row\"\n />\n )\n : props.body\n ? props.body(rowData)\n : props.field\n ? rowData?.[props.field]\n : null;\n return (\n <td\n key={`cell-${key}-${index}`}\n className={cx(\n \"solid-data-table-td align-middle text-foreground\",\n props.frozen ? \"solid-tree-sticky-cell\" : undefined,\n props.frozen && props.alignFrozen === \"right\" ? \"solid-tree-sticky-cell-right\" : undefined,\n props.frozen && props.alignFrozen !== \"right\" ? \"solid-tree-sticky-cell-left\" : undefined,\n isSelectionColumn ? \"solid-data-table-selection-col\" : undefined,\n props.className\n )}\n style={getFrozenCellStyle(props, props.style)}\n >\n {content}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n </div>\n\n {typeof onPage === \"function\" ? (\n <div\n className={cx(\"w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background\", paginatorClassName)}\n >\n <div className=\"solid-paginator-meta flex items-center gap-2 sm:ml-auto\">\n <span className=\"solid-paginator-label\">Rows</span>\n <SolidSelect\n value={rows}\n onChange={(event) => onPage({ first: 0, rows: Number(event.value) })}\n className=\"solid-paginator-select\"\n options={rowsPerPageOptions.map((option) => ({ label: String(option), value: option }))}\n native={false}\n menuPlacement=\"top\"\n />\n <span className=\"solid-paginator-report\">{report}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.max(0, first - rows), rows })}\n disabled={currentPage <= 1}\n >\n Previous\n </button>\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.min((totalPages - 1) * rows, first + rows), rows })}\n disabled={currentPage >= totalPages}\n >\n Next\n </button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidDataTable.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ArrowDownWideNarrow, ArrowUpDown, ArrowUpWideNarrow } from \"lucide-react\";\nimport { SolidSelect } from \"../../shad-cn-ui/SolidSelect\";\n\nexport type DataTableStateEvent = {\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n};\n\ntype HeaderRenderer = React.ReactNode | (() => React.ReactNode);\ntype BodyRenderer = (rowData: any) => React.ReactNode;\n\nexport type SolidColumnProps = {\n field?: string;\n header?: HeaderRenderer;\n body?: BodyRenderer;\n sortable?: boolean;\n selectionMode?: \"multiple\" | \"single\" | null;\n headerStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n className?: string;\n headerClassName?: string;\n frozen?: boolean;\n alignFrozen?: \"left\" | \"right\";\n frozenBackground?: string;\n [key: string]: any;\n};\n\nexport function Column(_props: SolidColumnProps) {\n return null;\n}\n\ntype SolidDataTableProps = {\n value: any[];\n children: React.ReactNode;\n size?: \"small\" | \"normal\" | \"large\";\n viewportHeight?: string;\n dataKey?: string;\n emptyMessage?: React.ReactNode;\n rows?: number;\n first?: number;\n totalRecords?: number;\n rowsPerPageOptions?: number[];\n onPage?: (event: { first: number; rows: number }) => void;\n onSort?: (event: DataTableStateEvent) => void;\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n removableSort?: boolean;\n selection?: any[];\n selectionMode?: \"checkbox\" | null;\n onSelectionChange?: (event: { value: any[] }) => void;\n onRowClick?: (event: { data: any }) => void;\n rowClassName?: (rowData: any) => string;\n tableClassName?: string;\n paginatorClassName?: string;\n currentPageReportTemplate?: string;\n [key: string]: any;\n};\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nfunction renderHeaderNode(header?: HeaderRenderer) {\n if (typeof header === \"function\") return header();\n return header ?? null;\n}\n\nfunction normalizeColumns(children: React.ReactNode): React.ReactElement<SolidColumnProps>[] {\n return React.Children.toArray(children).filter((child): child is React.ReactElement<SolidColumnProps> => {\n return React.isValidElement(child);\n });\n}\n\nfunction resolveSortIcon(active: boolean, order: 1 | -1 | 0): React.ReactNode {\n if (!active || order === 0) return <ArrowUpDown size={14} aria-hidden=\"true\" />;\n return order === 1\n ? <ArrowUpWideNarrow size={14} aria-hidden=\"true\" />\n : <ArrowDownWideNarrow size={14} aria-hidden=\"true\" />;\n}\n\nfunction nextSortOrder(active: boolean, order: 1 | -1 | 0, removableSort = true): 1 | -1 | 0 {\n if (!active || order === 0) return 1;\n if (order === 1) return -1;\n return removableSort ? 0 : 1;\n}\n\nfunction getFrozenCellStyle(\n props: SolidColumnProps,\n baseStyle?: React.CSSProperties,\n isHeader: boolean = false\n): React.CSSProperties {\n if (!props.frozen) return baseStyle ?? {};\n\n const stickyStyle: React.CSSProperties = {\n position: \"sticky\",\n zIndex: isHeader ? 12 : 3,\n background: props.frozenBackground ?? \"var(--card)\",\n };\n\n if (props.alignFrozen === \"right\") {\n stickyStyle.right = 0;\n } else {\n stickyStyle.left = 0;\n }\n\n return { ...baseStyle, ...stickyStyle };\n}\n\nexport function SolidDataTable({\n value,\n children,\n size = \"normal\",\n viewportHeight,\n dataKey = \"id\",\n emptyMessage,\n rows = 25,\n first = 0,\n totalRecords = 0,\n rowsPerPageOptions = [10, 25, 50, 100],\n onPage,\n onSort,\n sortField,\n sortOrder = 0,\n removableSort = true,\n selection = [],\n selectionMode,\n onSelectionChange,\n onRowClick,\n rowClassName,\n tableClassName,\n paginatorClassName,\n currentPageReportTemplate = \"{first} - {last} of {totalRecords}\",\n}: SolidDataTableProps) {\n const columns = normalizeColumns(children);\n const pageRows = value ?? [];\n\n const selectedKeys = new Set((selection || []).map((row: any) => String(row?.[dataKey])));\n const allSelected = pageRows.length > 0 && pageRows.every((row: any) => selectedKeys.has(String(row?.[dataKey])));\n\n const start = totalRecords === 0 ? 0 : first + 1;\n const end = Math.min(first + rows, totalRecords);\n const currentPage = rows > 0 ? Math.floor(first / rows) + 1 : 1;\n const totalPages = rows > 0 ? Math.max(1, Math.ceil(totalRecords / rows)) : 1;\n\n const report = currentPageReportTemplate\n .replace(\"{first}\", String(start))\n .replace(\"{last}\", String(end))\n .replace(\"{totalRecords}\", String(totalRecords));\n\n const emitSelection = (nextSelection: any[]) => {\n onSelectionChange?.({ value: nextSelection });\n };\n\n const toggleSelectAll = (checked: boolean) => {\n if (!checked) {\n const pageKeys = new Set(pageRows.map((row: any) => String(row?.[dataKey])));\n emitSelection((selection || []).filter((row: any) => !pageKeys.has(String(row?.[dataKey]))));\n return;\n }\n const merged = [...(selection || [])];\n const mergedKeys = new Set(merged.map((row: any) => String(row?.[dataKey])));\n pageRows.forEach((row: any) => {\n const key = String(row?.[dataKey]);\n if (!mergedKeys.has(key)) merged.push(row);\n });\n emitSelection(merged);\n };\n\n const toggleRowSelection = (rowData: any, checked: boolean) => {\n const key = String(rowData?.[dataKey]);\n if (!checked) {\n emitSelection((selection || []).filter((row: any) => String(row?.[dataKey]) !== key));\n return;\n }\n emitSelection([...(selection || []), rowData]);\n };\n\n const densityClass =\n size === \"small\"\n ? \"solid-table-density-compact\"\n : size === \"large\"\n ? \"solid-table-density-comfortable\"\n : \"solid-table-density-cozy\";\n const isAutoHeight = viewportHeight === \"auto\";\n\n return (\n <div\n className={cx(\"solid-data-table-root w-full min-h-0\", densityClass, isAutoHeight && \"solid-data-table-root-auto\")}\n style={{\n height: viewportHeight || \"100%\",\n maxHeight: viewportHeight || \"100%\",\n }}\n >\n <div className={cx(\"solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background\", isAutoHeight && \"solid-data-table-viewport-auto\")}>\n <table className={cx(\"w-full text-sm border-collapse\", tableClassName)}>\n <thead className=\"solid-data-table-head\">\n <tr>\n {columns.map((column, index) => {\n const props = column.props;\n const isSelectionColumn = props.selectionMode === \"multiple\";\n const isSortable = Boolean(props.sortable && props.field && !isSelectionColumn);\n const isActiveSort = isSortable && sortField === props.field;\n const iconNode = resolveSortIcon(Boolean(isActiveSort), sortOrder);\n return (\n <th\n key={`header-${index}`}\n className={cx(\n \"solid-data-table-th text-left text-foreground whitespace-nowrap\",\n props.frozen ? \"solid-tree-sticky-cell\" : undefined,\n props.frozen && props.alignFrozen === \"right\" ? \"solid-tree-sticky-cell-right\" : undefined,\n props.frozen && props.alignFrozen !== \"right\" ? \"solid-tree-sticky-cell-left\" : undefined,\n isSelectionColumn ? \"solid-data-table-selection-col\" : undefined,\n props.headerClassName\n )}\n style={getFrozenCellStyle(props, { ...props.style, ...props.headerStyle }, true)}\n >\n {isSelectionColumn ? (\n <input\n type=\"checkbox\"\n checked={allSelected}\n onChange={(e) => toggleSelectAll(e.currentTarget.checked)}\n aria-label=\"Select all rows\"\n />\n ) : (\n <button\n type=\"button\"\n className={cx(\"solid-table-header-button\", isSortable ? \"is-sortable\" : undefined)}\n onClick={() => {\n if (!isSortable) return;\n const nextOrder = nextSortOrder(Boolean(isActiveSort), sortOrder, removableSort);\n onSort?.({\n sortField: nextOrder === 0 ? undefined : props.field,\n sortOrder: nextOrder,\n });\n }}\n >\n {renderHeaderNode(props.header)}\n {isSortable ? iconNode : null}\n </button>\n )}\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {pageRows.length === 0 ? (\n <tr>\n <td className=\"px-3 py-6 text-center text-muted-foreground\" colSpan={Math.max(columns.length, 1)}>\n {emptyMessage || \"No records found\"}\n </td>\n </tr>\n ) : (\n pageRows.map((rowData: any) => {\n const key = String(rowData?.[dataKey]);\n const rowSelected = selectedKeys.has(key);\n return (\n <tr\n key={key}\n className={cx(\"solid-data-table-row\", rowClassName?.(rowData))}\n onClick={(event) => {\n const target = event.target as HTMLElement;\n if (target.closest(\"button,a,input,label,[data-no-row-click='true']\")) return;\n onRowClick?.({ data: rowData });\n }}\n >\n {columns.map((column, index) => {\n const props = column.props;\n const isSelectionColumn = props.selectionMode === \"multiple\";\n const content = isSelectionColumn\n ? (\n <input\n type=\"checkbox\"\n checked={rowSelected}\n onChange={(e) => toggleRowSelection(rowData, e.currentTarget.checked)}\n onClick={(e) => e.stopPropagation()}\n aria-label=\"Select row\"\n />\n )\n : props.body\n ? props.body(rowData)\n : props.field\n ? rowData?.[props.field]\n : null;\n return (\n <td\n key={`cell-${key}-${index}`}\n className={cx(\n \"solid-data-table-td align-middle text-foreground\",\n props.frozen ? \"solid-tree-sticky-cell\" : undefined,\n props.frozen && props.alignFrozen === \"right\" ? \"solid-tree-sticky-cell-right\" : undefined,\n props.frozen && props.alignFrozen !== \"right\" ? \"solid-tree-sticky-cell-left\" : undefined,\n isSelectionColumn ? \"solid-data-table-selection-col\" : undefined,\n props.className\n )}\n style={getFrozenCellStyle(props, props.style)}\n >\n {content}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n </div>\n\n {typeof onPage === \"function\" ? (\n <div\n className={cx(\"w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background\", paginatorClassName)}\n >\n <div className=\"solid-paginator-meta flex items-center gap-2 sm:ml-auto\">\n <span className=\"solid-paginator-label\">Rows</span>\n <SolidSelect\n value={rows}\n onChange={(event) => onPage({ first: 0, rows: Number(event.value) })}\n className=\"solid-paginator-select\"\n options={rowsPerPageOptions.map((option) => ({ label: String(option), value: option }))}\n native={false}\n menuPlacement=\"top\"\n />\n <span className=\"solid-paginator-report\">{report}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.max(0, first - rows), rows })}\n disabled={currentPage <= 1}\n >\n Previous\n </button>\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.min((totalPages - 1) * rows, first + rows), rows })}\n disabled={currentPage >= totalPages}\n >\n Next\n </button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n"]}
@@ -180,16 +180,17 @@ export function SolidDataTable({
180
180
  : size === "large"
181
181
  ? "solid-table-density-comfortable"
182
182
  : "solid-table-density-cozy";
183
+ const isAutoHeight = viewportHeight === "auto";
183
184
 
184
185
  return (
185
186
  <div
186
- className={cx("solid-data-table-root w-full min-h-0", densityClass)}
187
+ className={cx("solid-data-table-root w-full min-h-0", densityClass, isAutoHeight && "solid-data-table-root-auto")}
187
188
  style={{
188
189
  height: viewportHeight || "100%",
189
190
  maxHeight: viewportHeight || "100%",
190
191
  }}
191
192
  >
192
- <div className="solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background">
193
+ <div className={cx("solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background", isAutoHeight && "solid-data-table-viewport-auto")}>
193
194
  <table className={cx("w-full text-sm border-collapse", tableClassName)}>
194
195
  <thead className="solid-data-table-head">
195
196
  <tr>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListView.tsx"],"names":[],"mappings":";AAsEA,eAAO,MAAM,4BAA4B,iBAAkB,GAAG,KAAG,OAgBhE,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBAAiB,GAAG,KAAG,OAIW,CAAC;AAEzE,eAAO,MAAM,+BAA+B,WAgB3C,CAAC;AAGF,eAAO,MAAM,oCAAoC,QAAS,MAAM,QAgB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,gBAAiB,GAAG,kBAU7D,CAAC;AAGF,eAAO,MAAM,kCAAkC,QAAS,MAAM,eAAe,GAAG,kBAU/E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B,CAAC,EAAE,GAAG,CAAC;IACpC,8BAA8B,CAAC,EAAE,GAAG,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,aAAa,qHAwuDxB,CAAC"}
1
+ {"version":3,"file":"SolidListView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListView.tsx"],"names":[],"mappings":";AAsEA,eAAO,MAAM,4BAA4B,iBAAkB,GAAG,KAAG,OAgBhE,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBAAiB,GAAG,KAAG,OAIW,CAAC;AAEzE,eAAO,MAAM,+BAA+B,WAgB3C,CAAC;AAGF,eAAO,MAAM,oCAAoC,QAAS,MAAM,QAgB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,gBAAiB,GAAG,kBAU7D,CAAC;AAGF,eAAO,MAAM,kCAAkC,QAAS,MAAM,eAAe,GAAG,kBAU/E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B,CAAC,EAAE,GAAG,CAAC;IACpC,8BAA8B,CAAC,EAAE,GAAG,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,aAAa,qHA+uDxB,CAAC"}
@@ -202,7 +202,6 @@ export var SolidListView = forwardRef(function (params, ref) {
202
202
  var localeName = searchParams.get("locale");
203
203
  var solidSettingsData = useGetSolidSettingsQuery(undefined).data;
204
204
  var solidSettingsMap = useMemo(function () { return getSettingsMap(solidSettingsData); }, [solidSettingsData]);
205
- var rowClickFormMode = (solidSettingsMap === null || solidSettingsMap === void 0 ? void 0 : solidSettingsMap.rowClickAction) === "view" ? "view" : "edit";
206
205
  var _21 = useState(null), solidListViewMetaData = _21[0], setSolidListViewMetaData = _21[1];
207
206
  var _22 = useState(null), solidListViewLayout = _22[0], setSolidListViewLayout = _22[1];
208
207
  var _23 = useState(false), isDraftPublishWorkflowEnabled = _23[0], setIsDraftPublishWorkflowEnabled = _23[1];
@@ -241,6 +240,14 @@ export var SolidListView = forwardRef(function (params, ref) {
241
240
  return ((_b = (_a = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.headerButtons) !== null && _b !== void 0 ? _b : []).filter(function (button) { return isButtonVisibleInCurrentEnv(button === null || button === void 0 ? void 0 : button.attrs); });
242
241
  }, [(_g = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _g === void 0 ? void 0 : _g.headerButtons]);
243
242
  var editBaseUrl = useMemo(function () { return normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"); }, [editButtonUrl, pathname]);
243
+ var rowClickFormMode = useMemo(function () {
244
+ var _a, _b, _c;
245
+ var isSystemModule = ((_c = (_b = (_a = solidListViewMetaData === null || solidListViewMetaData === void 0 ? void 0 : solidListViewMetaData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.module) === null || _c === void 0 ? void 0 : _c.isSystem) === true;
246
+ if (isSystemModule) {
247
+ return "view";
248
+ }
249
+ return (solidSettingsMap === null || solidSettingsMap === void 0 ? void 0 : solidSettingsMap.rowClickAction) === "view" ? "view" : "edit";
250
+ }, [solidListViewMetaData, solidSettingsMap]);
244
251
  var resolveLocaleFromFilter = function (filterNode) {
245
252
  if (!filterNode || typeof filterNode !== "object")
246
253
  return null;
@@ -1251,6 +1258,7 @@ export var SolidListView = forwardRef(function (params, ref) {
1251
1258
  !(isDraftPublishWorkflowEnabled && ((_s = selectedDataRef.current) === null || _s === void 0 ? void 0 : _s.publishedAt));
1252
1259
  var hasCustomContextMenuButtons = (_u = (_t = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _t === void 0 ? void 0 : _t.rowButtons) === null || _u === void 0 ? void 0 : _u.some(function (rb) { var _a; return ((_a = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) === true && isButtonVisibleInCurrentEnv(rb === null || rb === void 0 ? void 0 : rb.attrs); });
1253
1260
  var hasAnyContextMenuActions = hasEditInContextMenu || hasDeleteInContextMenu || hasCustomContextMenuButtons;
1261
+ var isEmbeddedList = params.embeded === true;
1254
1262
  // const toggleBothSidebars = () => {
1255
1263
  // if (visibleNavbar) {
1256
1264
  // dispatch(toggleNavbar()); // close both
@@ -1258,7 +1266,7 @@ export var SolidListView = forwardRef(function (params, ref) {
1258
1266
  // dispatch(showNavbar()); // open both
1259
1267
  // }
1260
1268
  // };
1261
- return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content flex flex-col flex-grow-1 ".concat(styles.ListContentWrapper), children: _jsxs("div", { className: "solid-list-surface flex flex-col flex-1 min-h-0", children: [solidListViewInitialMetaData &&
1269
+ return (_jsxs("div", { className: "page-parent-wrapper ".concat(isEmbeddedList ? "solid-list-page-wrapper-embedded" : "solid-list-page-wrapper", " flex ").concat(isEmbeddedList ? "min-h-0 overflow-visible" : "h-full min-h-0 overflow-hidden"), children: [_jsx("div", { className: "solid-list-content flex flex-col ".concat(isEmbeddedList ? "min-h-0" : "flex-grow-1", " ").concat(styles.ListContentWrapper), children: _jsxs("div", { className: "solid-list-surface flex flex-col min-h-0 ".concat(isEmbeddedList ? "" : "flex-1"), children: [solidListViewInitialMetaData &&
1262
1270
  _jsxs("div", { className: "page-header solid-list-toolbar flex-col lg:flex-row", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("div", { className: "solid-list-toolbar-left flex w-full items-center gap-3", children: params.embeded === false && (_jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "list", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidListViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }, params.modelName) })) }), _jsxs("div", { className: "flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }), params.embeded === false && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", size: "small", variant: "outline", className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); }, leftIcon: _jsx(Search, { size: 14 }) }) })), _jsx("div", { className: "solid-header-buttons-wrapper hidden items-center lg:flex", children: (_v = visibleHeaderButtons === null || visibleHeaderButtons === void 0 ? void 0 : visibleHeaderButtons.filter(function (rb) { return rb.attrs.actionInContextMenu != true; })) === null || _v === void 0 ? void 0 : _v.map(function (button, index) { return (_jsx(SolidListViewHeaderButton, { button: button, params: params, solidListViewMetaData: solidListViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters }, index)); }) }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) &&
1263
1271
  ((_w = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _w === void 0 ? void 0 : _w.create) !== false &&
1264
1272
  params.embeded !== true &&
@@ -1269,9 +1277,7 @@ export var SolidListView = forwardRef(function (params, ref) {
1269
1277
  searchParams.get("viewMode") !== "view" && (_jsx(SolidButton, { type: "button", icon: (_1 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _1 === void 0 ? void 0 : _1.addButtonIcon, leftIcon: !((_2 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _2 === void 0 ? void 0 : _2.addButtonIcon) ? _jsx(Plus, { size: 14 }) : undefined, className: "".concat((_3 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _3 === void 0 ? void 0 : _3.addButtonClassName), size: "small", onClick: function () { return params.handleAddClickForEmbeddedView("new"); }, children: ((_4 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _4 === void 0 ? void 0 : _4.addButtonTitle) ? (_5 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _5 === void 0 ? void 0 : _5.addButtonTitle : "Add" })), params.embeded !== true && (_jsx(SolidButton, { type: "button", size: "small", variant: "outline", className: "solid-icon-button ", onClick: function () {
1270
1278
  setQueryString();
1271
1279
  }, leftIcon: _jsx(RefreshCw, { size: 14 }) })), showArchived && selectedRecoverRecords.length > 0 && (_jsx(SolidButton, { type: "button", size: "small", variant: "secondary", className: "hidden lg:flex", onClick: function () { return setRecoverDialogVisible(true); }, leftIcon: _jsx(RotateCcw, { size: 14 }), children: "Recover" })), params.embeded === false &&
1272
- ((_6 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _6 === void 0 ? void 0 : _6.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidListViewMetaData, solidListViewLayout: solidListViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidListViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), showGlobalSearchElement && params.embeded === false && window.innerWidth < 991 && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "list", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidListViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }) }))] }), showListBodyLoadingPlaceholder ? (_jsx("div", { className: "solid-view-loading-body-spacer flex-1 min-h-0" })) : (_jsx(_Fragment, { children: isListViewEmptyWithoutFilters ? (_jsx(SolidEmptyListViewPlaceholder, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, actionsAllowed: actionsAllowed, params: params, solidListViewMetaData: solidListViewMetaData, handleFetchUpdatedRecords: handleFetchUpdatedRecords })) : (_jsx("div", { className: "solid-datatable-wrapper solid-list-table-area flex-1 min-h-0 overflow-hidden ".concat(styles.listTableArea), children: _jsxs(DataTable, { value: listViewData,
1273
- // viewportHeight={params.embeded === true ? undefined : "calc(100dvh - 128px)"}
1274
- rowClassName: function (rowData) {
1280
+ ((_6 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _6 === void 0 ? void 0 : _6.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidListViewMetaData, solidListViewLayout: solidListViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidListViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), showGlobalSearchElement && params.embeded === false && window.innerWidth < 991 && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "list", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidListViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }) }))] }), showListBodyLoadingPlaceholder ? (_jsx("div", { className: "solid-view-loading-body-spacer flex-1 min-h-0" })) : (_jsx(_Fragment, { children: isListViewEmptyWithoutFilters ? (_jsx(SolidEmptyListViewPlaceholder, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, actionsAllowed: actionsAllowed, params: params, solidListViewMetaData: solidListViewMetaData, handleFetchUpdatedRecords: handleFetchUpdatedRecords })) : (_jsx("div", { className: "solid-datatable-wrapper solid-list-table-area min-h-0 ".concat(isEmbeddedList ? "overflow-visible" : "flex-1 overflow-hidden", " ").concat(styles.listTableArea), children: _jsxs(DataTable, { value: listViewData, viewportHeight: isEmbeddedList ? "auto" : undefined, rowClassName: function (rowData) {
1275
1281
  return rowData.deletedAt ? "greyed-out-row" : "";
1276
1282
  }, showGridlines: false, lazy: true, scrollable: true,
1277
1283
  // scrollHeight="90vh"