@solidxai/core-ui 0.1.9-beta.2 → 0.1.9-beta.20

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 (577) 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/AuthLayout.d.ts.map +1 -1
  7. package/dist/components/auth/AuthLayout.js +2 -1
  8. package/dist/components/auth/AuthLayout.js.map +1 -1
  9. package/dist/components/auth/AuthLayout.tsx +2 -0
  10. package/dist/components/auth/ForgotPasswordThankYou.js +1 -1
  11. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  12. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -2
  13. package/dist/components/auth/SolidForgotPassword.js +1 -1
  14. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  15. package/dist/components/auth/SolidForgotPassword.tsx +2 -2
  16. package/dist/components/auth/SolidInitialLoginOtp.js +8 -8
  17. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  18. package/dist/components/auth/SolidInitialLoginOtp.tsx +1 -1
  19. package/dist/components/auth/SolidInitiateRegisterOtp.js +8 -8
  20. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  21. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +1 -1
  22. package/dist/components/auth/SolidLogin.js +9 -10
  23. package/dist/components/auth/SolidLogin.js.map +1 -1
  24. package/dist/components/auth/SolidLogin.tsx +3 -3
  25. package/dist/components/auth/SolidRegister.js +10 -10
  26. package/dist/components/auth/SolidRegister.js.map +1 -1
  27. package/dist/components/auth/SolidRegister.tsx +3 -3
  28. package/dist/components/common/GeneralSettings.js +1 -1
  29. package/dist/components/common/GeneralSettings.js.map +1 -1
  30. package/dist/components/common/GeneralSettings.tsx +1 -1
  31. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  32. package/dist/components/common/SettingsComponent.js +4 -1
  33. package/dist/components/common/SettingsComponent.js.map +1 -1
  34. package/dist/components/common/SettingsComponent.module.css +95 -2
  35. package/dist/components/common/SettingsComponent.tsx +4 -1
  36. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  37. package/dist/components/common/SocialMediaLogin.js +2 -2
  38. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  39. package/dist/components/common/SocialMediaLogin.tsx +8 -4
  40. package/dist/components/common/SolidExport.d.ts.map +1 -1
  41. package/dist/components/common/SolidExport.js +1 -1
  42. package/dist/components/common/SolidExport.js.map +1 -1
  43. package/dist/components/common/SolidExport.tsx +2 -0
  44. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  45. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  46. package/dist/components/common/SolidFaviconProvider.js +102 -0
  47. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  48. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  49. package/dist/components/core/card/SolidCardView.js +1 -1
  50. package/dist/components/core/card/SolidCardView.js.map +1 -1
  51. package/dist/components/core/card/SolidCardView.tsx +1 -1
  52. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  53. package/dist/components/core/chatter/SolidChatter.js +24 -11
  54. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  55. package/dist/components/core/chatter/SolidChatter.tsx +20 -6
  56. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  57. package/dist/components/core/chatter/SolidChatterHeader.js +1 -1
  58. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  59. package/dist/components/core/chatter/SolidChatterHeader.tsx +4 -0
  60. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
  61. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  62. package/dist/components/core/chatter/SolidChatterMessageBox.js +150 -11
  63. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  64. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +252 -11
  65. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  66. package/dist/components/core/chatter/SolidMessageComposer.js +3 -2
  67. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  68. package/dist/components/core/chatter/SolidMessageComposer.tsx +4 -2
  69. package/dist/components/core/chatter/chatter.module.css +1 -1
  70. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  71. package/dist/components/core/common/FilterComponent.js +5 -3
  72. package/dist/components/core/common/FilterComponent.js.map +1 -1
  73. package/dist/components/core/common/FilterComponent.tsx +6 -2
  74. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  75. package/dist/components/core/common/GroupingComponent.js +2 -2
  76. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  77. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  78. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  79. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  80. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  81. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  82. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  83. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  84. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  85. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  86. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +1 -1
  87. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  88. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +2 -0
  89. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  90. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +2 -0
  91. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  92. package/dist/components/core/common/SolidGlobalSearchElement.js +137 -57
  93. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  94. package/dist/components/core/common/SolidGlobalSearchElement.tsx +92 -11
  95. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  96. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  97. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  98. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  99. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts +4 -0
  100. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -0
  101. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +79 -0
  102. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -0
  103. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +81 -0
  104. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts +3 -0
  105. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts.map +1 -0
  106. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js +17 -0
  107. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js.map +1 -0
  108. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.tsx +6 -0
  109. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts +3 -0
  110. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts.map +1 -0
  111. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js +41 -0
  112. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js.map +1 -0
  113. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.tsx +56 -0
  114. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts +3 -0
  115. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -0
  116. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +14 -0
  117. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -0
  118. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +19 -0
  119. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts +3 -0
  120. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts.map +1 -0
  121. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js +17 -0
  122. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js.map +1 -0
  123. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.tsx +6 -0
  124. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts +3 -0
  125. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts.map +1 -0
  126. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js +17 -0
  127. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js.map +1 -0
  128. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.tsx +6 -0
  129. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts +3 -0
  130. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -0
  131. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +12 -0
  132. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -0
  133. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +39 -0
  134. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts +3 -0
  135. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts.map +1 -0
  136. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js +7 -0
  137. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js.map +1 -0
  138. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.tsx +9 -0
  139. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts +3 -0
  140. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -0
  141. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +203 -0
  142. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -0
  143. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +251 -0
  144. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  145. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  146. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  147. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  148. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  149. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  150. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  151. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  152. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  153. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  154. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  155. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  156. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  157. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  158. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  159. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  160. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  161. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  162. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  163. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  164. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  165. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  166. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  167. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  168. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  169. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +1 -1
  170. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  171. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +1 -1
  172. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  173. package/dist/components/core/filter/fields/SolidBooleanField.js +1 -1
  174. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  175. package/dist/components/core/filter/fields/SolidBooleanField.tsx +3 -2
  176. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  177. package/dist/components/core/filter/fields/SolidDateField.js +1 -1
  178. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  179. package/dist/components/core/filter/fields/SolidDateField.tsx +2 -1
  180. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  181. package/dist/components/core/filter/fields/SolidDatetimeField.js +1 -1
  182. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  183. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +3 -2
  184. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  185. package/dist/components/core/filter/fields/SolidExternalIdField.js +1 -1
  186. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  187. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +2 -1
  188. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  189. package/dist/components/core/filter/fields/SolidIdField.js +1 -1
  190. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  191. package/dist/components/core/filter/fields/SolidIdField.tsx +1 -0
  192. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  193. package/dist/components/core/filter/fields/SolidIntField.js +1 -1
  194. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  195. package/dist/components/core/filter/fields/SolidIntField.tsx +2 -1
  196. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  197. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +1 -1
  198. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  199. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -1
  200. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  201. package/dist/components/core/filter/fields/SolidMediaSingleField.js +1 -1
  202. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  203. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -1
  204. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  205. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +1 -1
  206. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  207. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +3 -2
  208. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  209. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +1 -1
  210. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  211. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +3 -2
  212. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  213. package/dist/components/core/filter/fields/SolidShortTextField.js +1 -1
  214. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  215. package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -1
  216. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  217. package/dist/components/core/filter/fields/SolidTimeField.js +1 -1
  218. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  219. package/dist/components/core/filter/fields/SolidTimeField.tsx +3 -2
  220. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  221. package/dist/components/core/filter/fields/SolidUuidField.js +1 -1
  222. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  223. package/dist/components/core/filter/fields/SolidUuidField.tsx +2 -1
  224. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  225. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +1 -1
  226. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  227. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +3 -2
  228. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  229. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +1 -1
  230. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  231. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +3 -2
  232. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  233. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +1 -1
  234. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  235. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +3 -2
  236. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  237. package/dist/components/core/form/SolidFormActionHeader.js +1 -0
  238. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  239. package/dist/components/core/form/SolidFormActionHeader.tsx +2 -1
  240. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  241. package/dist/components/core/form/SolidFormFooter.js +16 -9
  242. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  243. package/dist/components/core/form/SolidFormFooter.tsx +16 -8
  244. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  245. package/dist/components/core/form/SolidFormView.js +12 -7
  246. package/dist/components/core/form/SolidFormView.js.map +1 -1
  247. package/dist/components/core/form/SolidFormView.tsx +11 -5
  248. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  249. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +12 -3
  250. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  251. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +21 -16
  252. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  253. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +15 -5
  254. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  255. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +21 -9
  256. package/dist/components/core/form/field-quality-check-fixes.md +201 -0
  257. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  258. package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
  259. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  260. package/dist/components/core/form/fields/SolidBooleanField.tsx +13 -1
  261. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  262. package/dist/components/core/form/fields/SolidDecimalField.js +7 -1
  263. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  264. package/dist/components/core/form/fields/SolidDecimalField.tsx +10 -1
  265. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  266. package/dist/components/core/form/fields/SolidIntegerField.js +14 -2
  267. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  268. package/dist/components/core/form/fields/SolidIntegerField.tsx +20 -2
  269. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  270. package/dist/components/core/form/fields/SolidJsonField.js +9 -1
  271. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  272. package/dist/components/core/form/fields/SolidJsonField.tsx +12 -1
  273. package/dist/components/core/form/fields/SolidLongTextField.d.ts +0 -1
  274. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  275. package/dist/components/core/form/fields/SolidLongTextField.js +16 -48
  276. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  277. package/dist/components/core/form/fields/SolidLongTextField.tsx +22 -88
  278. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  279. package/dist/components/core/form/fields/SolidMediaMultipleField.js +15 -2
  280. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  281. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +20 -4
  282. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  283. package/dist/components/core/form/fields/SolidMediaSingleField.js +21 -3
  284. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  285. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +30 -3
  286. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  287. package/dist/components/core/form/fields/SolidPasswordField.js +2 -1
  288. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  289. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -1
  290. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  291. package/dist/components/core/form/fields/SolidRichTextField.js +9 -1
  292. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  293. package/dist/components/core/form/fields/SolidRichTextField.tsx +12 -1
  294. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +12 -0
  295. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  296. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +168 -0
  297. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  298. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +241 -0
  299. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  300. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +17 -15
  301. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  302. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +10 -2
  303. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  304. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +14 -14
  305. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  306. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +19 -9
  307. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  308. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +9 -7
  309. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  310. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +8 -2
  311. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  312. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  313. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  314. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  315. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +14 -3
  316. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  317. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +20 -3
  318. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  319. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  320. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -1
  321. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  322. package/dist/components/core/list/SolidDataTable.js +2 -1
  323. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  324. package/dist/components/core/list/SolidDataTable.tsx +8 -9
  325. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  326. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  327. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  328. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  329. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  330. package/dist/components/core/list/SolidListView.js +180 -101
  331. package/dist/components/core/list/SolidListView.js.map +1 -1
  332. package/dist/components/core/list/SolidListView.tsx +119 -33
  333. package/dist/components/core/list/SolidListViewColumn.d.ts +3 -1
  334. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  335. package/dist/components/core/list/SolidListViewColumn.js +27 -2
  336. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  337. package/dist/components/core/list/SolidListViewColumn.tsx +16 -3
  338. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  339. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  340. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  341. package/dist/components/core/list/SolidListViewConfigure.tsx +4 -2
  342. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  343. package/dist/components/core/list/SolidListViewHeaderButton.js +9 -3
  344. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  345. package/dist/components/core/list/SolidListViewHeaderButton.tsx +12 -7
  346. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  347. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  348. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  349. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  350. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  351. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  352. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  353. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  354. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  355. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  356. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  357. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  358. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  359. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  360. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  361. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  362. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  363. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +4 -3
  364. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  365. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +4 -3
  366. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  367. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -2
  368. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  369. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +3 -2
  370. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  371. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  372. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  373. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  374. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  375. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  376. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  377. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +9 -4
  378. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  379. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +14 -4
  380. package/dist/components/core/list/field-quality-check-fixes.md +178 -0
  381. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts +3 -0
  382. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts.map +1 -0
  383. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js +39 -0
  384. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js.map +1 -0
  385. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.tsx +50 -0
  386. package/dist/components/core/model/CreateModel.css +48 -0
  387. package/dist/components/core/model/CreateModel.d.ts +1 -0
  388. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  389. package/dist/components/core/model/CreateModel.js +80 -128
  390. package/dist/components/core/model/CreateModel.js.map +1 -1
  391. package/dist/components/core/model/CreateModel.tsx +102 -226
  392. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  393. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  394. package/dist/components/core/model/FieldMetaData.js +6 -22
  395. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  396. package/dist/components/core/model/FieldMetaData.tsx +16 -49
  397. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  398. package/dist/components/core/model/FieldMetaDataForm.js +196 -222
  399. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  400. package/dist/components/core/model/FieldMetaDataForm.tsx +1 -73
  401. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  402. package/dist/components/core/model/ModelMetaData.js +12 -24
  403. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  404. package/dist/components/core/model/ModelMetaData.tsx +15 -21
  405. package/dist/components/core/module/CreateModule.css +44 -0
  406. package/dist/components/core/module/CreateModule.d.ts +1 -0
  407. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  408. package/dist/components/core/module/CreateModule.js +40 -43
  409. package/dist/components/core/module/CreateModule.js.map +1 -1
  410. package/dist/components/core/module/CreateModule.tsx +243 -247
  411. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  412. package/dist/components/core/module/ModuleListViewData.js +47 -7
  413. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  414. package/dist/components/core/module/ModuleListViewData.tsx +58 -0
  415. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  416. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  417. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  418. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  419. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  420. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  421. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  422. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  423. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  424. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  425. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  426. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  427. package/dist/components/core/tree/SolidTreeView.js +2 -2
  428. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  429. package/dist/components/core/tree/SolidTreeView.tsx +3 -3
  430. package/dist/components/core/users/CreateUser.css +27 -2
  431. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  432. package/dist/components/core/users/CreateUser.js +52 -24
  433. package/dist/components/core/users/CreateUser.js.map +1 -1
  434. package/dist/components/core/users/CreateUser.tsx +47 -34
  435. package/dist/components/layout/AdminHeaderActions.d.ts +7 -0
  436. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  437. package/dist/components/layout/AdminHeaderActions.js +77 -0
  438. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  439. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  440. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  441. package/dist/components/layout/AdminTopHeader.js +8 -17
  442. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  443. package/dist/components/layout/AdminTopHeader.tsx +9 -64
  444. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  445. package/dist/components/layout/AppSidebar.js +2 -1
  446. package/dist/components/layout/AppSidebar.js.map +1 -1
  447. package/dist/components/layout/AppSidebar.tsx +2 -0
  448. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  449. package/dist/components/layout/user-profile-menu.js +57 -33
  450. package/dist/components/layout/user-profile-menu.js.map +1 -1
  451. package/dist/components/layout/user-profile-menu.tsx +11 -59
  452. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +2 -1
  453. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  454. package/dist/components/shad-cn-ui/SolidAutocomplete.js +60 -6
  455. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  456. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +81 -22
  457. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  458. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  459. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  460. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  461. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  462. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  463. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  464. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  465. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  466. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  467. package/dist/components/shad-cn-ui/SolidDialog.js +38 -4
  468. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  469. package/dist/components/shad-cn-ui/SolidDialog.tsx +47 -3
  470. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  471. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  472. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  473. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  474. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  475. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  476. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  477. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  478. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  479. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  480. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  481. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  482. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  483. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  484. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  485. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  486. package/dist/helpers/buttonEnvironment.js +30 -0
  487. package/dist/helpers/buttonEnvironment.js.map +1 -0
  488. package/dist/helpers/buttonEnvironment.ts +35 -0
  489. package/dist/helpers/buttonPresentation.d.ts +24 -0
  490. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  491. package/dist/helpers/buttonPresentation.js +28 -0
  492. package/dist/helpers/buttonPresentation.js.map +1 -0
  493. package/dist/helpers/buttonPresentation.ts +53 -0
  494. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  495. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  496. package/dist/helpers/fileTypeIcon.js +37 -0
  497. package/dist/helpers/fileTypeIcon.js.map +1 -0
  498. package/dist/helpers/fileTypeIcon.tsx +65 -0
  499. package/dist/helpers/registry.d.ts.map +1 -1
  500. package/dist/helpers/registry.js +28 -10
  501. package/dist/helpers/registry.js.map +1 -1
  502. package/dist/helpers/registry.ts +31 -13
  503. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  504. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  505. package/dist/helpers/waitForBackendAvailability.js +86 -0
  506. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  507. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  508. package/dist/index.d.ts +10 -9
  509. package/dist/index.d.ts.map +1 -1
  510. package/dist/index.js +7 -8
  511. package/dist/index.js.map +1 -1
  512. package/dist/index.ts +34 -13
  513. package/dist/redux/api/dashboardRuntimeApi.d.ts +34 -0
  514. package/dist/redux/api/dashboardRuntimeApi.d.ts.map +1 -0
  515. package/dist/redux/api/dashboardRuntimeApi.js +79 -0
  516. package/dist/redux/api/dashboardRuntimeApi.js.map +1 -0
  517. package/dist/redux/api/dashboardRuntimeApi.ts +75 -0
  518. package/dist/redux/api/moduleApi.d.ts +26 -1
  519. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  520. package/dist/redux/api/moduleApi.js +237 -1
  521. package/dist/redux/api/moduleApi.js.map +1 -1
  522. package/dist/redux/api/moduleApi.ts +181 -1
  523. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  524. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  525. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  526. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  527. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  528. package/dist/redux/store/defaultStoreConfig.d.ts +57 -9
  529. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  530. package/dist/redux/store/defaultStoreConfig.js +2 -6
  531. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  532. package/dist/redux/store/defaultStoreConfig.ts +2 -6
  533. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  534. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  535. package/dist/redux/store/solidEntityApiPool.js +4 -0
  536. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  537. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  538. package/dist/resources/globals.css +163 -19
  539. package/dist/resources/shadcn-base.css +408 -183
  540. package/dist/resources/solid-responsive.css +235 -50
  541. package/dist/routes/AppEventListener.d.ts.map +1 -1
  542. package/dist/routes/AppEventListener.js +58 -8
  543. package/dist/routes/AppEventListener.js.map +1 -1
  544. package/dist/routes/AppEventListener.tsx +69 -8
  545. package/dist/routes/SolidRouteMetadataBoundary.d.ts +5 -0
  546. package/dist/routes/SolidRouteMetadataBoundary.d.ts.map +1 -0
  547. package/dist/routes/SolidRouteMetadataBoundary.js +72 -0
  548. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -0
  549. package/dist/routes/SolidRouteMetadataBoundary.tsx +77 -0
  550. package/dist/routes/pages/admin/core/DashboardPage.d.ts +1 -0
  551. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  552. package/dist/routes/pages/admin/core/DashboardPage.js +860 -5
  553. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  554. package/dist/routes/pages/admin/core/DashboardPage.module.css +219 -0
  555. package/dist/routes/pages/admin/core/DashboardPage.tsx +1025 -7
  556. package/dist/routes/solidRoutes.d.ts.map +1 -1
  557. package/dist/routes/solidRoutes.js +48 -27
  558. package/dist/routes/solidRoutes.js.map +1 -1
  559. package/dist/routes/solidRoutes.tsx +48 -27
  560. package/dist/routes/types.d.ts +8 -1
  561. package/dist/routes/types.d.ts.map +1 -1
  562. package/dist/routes/types.js.map +1 -1
  563. package/dist/routes/types.ts +9 -1
  564. package/dist/types/dashboard.d.ts +16 -0
  565. package/dist/types/dashboard.d.ts.map +1 -0
  566. package/dist/types/dashboard.js +2 -0
  567. package/dist/types/dashboard.js.map +1 -0
  568. package/dist/types/dashboard.ts +23 -0
  569. package/dist/types/extension-registry.d.ts +1 -0
  570. package/dist/types/extension-registry.d.ts.map +1 -1
  571. package/dist/types/extension-registry.js +1 -0
  572. package/dist/types/extension-registry.js.map +1 -1
  573. package/dist/types/extension-registry.ts +1 -0
  574. package/dist/types/index.d.ts +3 -0
  575. package/dist/types/jsoneditor.d.ts +4 -0
  576. package/dist/types/solid-core.d.ts +1 -0
  577. package/package.json +4 -1
@@ -8,13 +8,37 @@ function cx() {
8
8
  }
9
9
  return parts.filter(Boolean).join(" ");
10
10
  }
11
+ var DATEPICKER_OUTSIDE_SAFE_SELECTOR = "#solid-datepicker-portal, .react-datepicker, .react-datepicker-popper, .react-datepicker__portal, [class*='react-datepicker']";
12
+ function isDatePickerInteractionTarget(target) {
13
+ var _a;
14
+ if (!target)
15
+ return false;
16
+ if (target instanceof Element) {
17
+ return Boolean(target.closest(DATEPICKER_OUTSIDE_SAFE_SELECTOR));
18
+ }
19
+ if (target instanceof Node) {
20
+ return Boolean((_a = target.parentElement) === null || _a === void 0 ? void 0 : _a.closest(DATEPICKER_OUTSIDE_SAFE_SELECTOR));
21
+ }
22
+ return false;
23
+ }
24
+ function shouldPreventOutsideDismiss(event) {
25
+ var _a, _b;
26
+ var original = (_b = (_a = event === null || event === void 0 ? void 0 : event.detail) === null || _a === void 0 ? void 0 : _a.originalEvent) !== null && _b !== void 0 ? _b : event;
27
+ var target = original === null || original === void 0 ? void 0 : original.target;
28
+ if (isDatePickerInteractionTarget(target)) {
29
+ return true;
30
+ }
31
+ if (typeof (original === null || original === void 0 ? void 0 : original.composedPath) === "function") {
32
+ var path = original.composedPath();
33
+ return path.some(function (node) { return isDatePickerInteractionTarget(node); });
34
+ }
35
+ return false;
36
+ }
11
37
  export function SolidDialog(_a) {
12
38
  var _b;
13
39
  var open = _a.open, onOpenChange = _a.onOpenChange, children = _a.children, className = _a.className, contentClassName = _a.contentClassName, overlayClassName = _a.overlayClassName, style = _a.style, visible = _a.visible, onHide = _a.onHide, header = _a.header, footer = _a.footer, _c = _a.showHeader, showHeader = _c === void 0 ? true : _c, headerClassName = _a.headerClassName, contentStyle = _a.contentStyle, _d = _a.dismissible, dismissible = _d === void 0 ? true : _d;
14
40
  var controlledOpen = (_b = open !== null && open !== void 0 ? open : visible) !== null && _b !== void 0 ? _b : false;
15
41
  var handleOpenChange = function (next) {
16
- if (!dismissible && !next)
17
- return;
18
42
  onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(next);
19
43
  if (!next)
20
44
  onHide === null || onHide === void 0 ? void 0 : onHide();
@@ -23,11 +47,21 @@ export function SolidDialog(_a) {
23
47
  if (!dismissible)
24
48
  event.preventDefault();
25
49
  }, onPointerDownOutside: function (event) {
26
- if (!dismissible)
50
+ if (!dismissible) {
51
+ event.preventDefault();
52
+ return;
53
+ }
54
+ if (shouldPreventOutsideDismiss(event)) {
27
55
  event.preventDefault();
56
+ }
28
57
  }, onInteractOutside: function (event) {
29
- if (!dismissible)
58
+ if (!dismissible) {
59
+ event.preventDefault();
60
+ return;
61
+ }
62
+ if (shouldPreventOutsideDismiss(event)) {
30
63
  event.preventDefault();
64
+ }
31
65
  }, children: [showHeader && (header || onHide) ? (_jsxs(SolidDialogHeader, { className: headerClassName, children: [header ? _jsx(SolidDialogTitle, { children: header }) : null, _jsx(SolidDialogClose, { "aria-label": "Close" })] })) : null, children, footer ? _jsx(SolidDialogFooter, { children: footer }) : null] })] }) }));
32
66
  }
33
67
  export function SolidDialogHeader(_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDialog.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport * as Dialog from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\n\ntype SolidDialogProps = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n className?: string;\n contentClassName?: string;\n overlayClassName?: string;\n style?: React.CSSProperties;\n // Compatibility props\n visible?: boolean;\n onHide?: () => void;\n modal?: boolean;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n showHeader?: boolean;\n headerClassName?: string;\n contentStyle?: React.CSSProperties;\n breakpoints?: Record<string, string>;\n dismissible?: boolean;\n};\n\ntype SolidDialogSectionProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidDialog({\n open,\n onOpenChange,\n children,\n className,\n contentClassName,\n overlayClassName,\n style,\n visible,\n onHide,\n header,\n footer,\n showHeader = true,\n headerClassName,\n contentStyle,\n dismissible = true,\n}: SolidDialogProps) {\n const controlledOpen = open ?? visible ?? false;\n const handleOpenChange = (next: boolean) => {\n if (!dismissible && !next) return;\n onOpenChange?.(next);\n if (!next) onHide?.();\n };\n\n return (\n <Dialog.Root open={controlledOpen} onOpenChange={handleOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay className={cx(\"solid-radix-dialog-overlay\", overlayClassName)} />\n <Dialog.Content\n className={cx(\"solid-radix-dialog-content\", className, contentClassName)}\n style={style ?? contentStyle}\n onEscapeKeyDown={(event: any) => {\n if (!dismissible) event.preventDefault();\n }}\n onPointerDownOutside={(event: any) => {\n if (!dismissible) event.preventDefault();\n }}\n onInteractOutside={(event: any) => {\n if (!dismissible) event.preventDefault();\n }}\n >\n {showHeader && (header || onHide) ? (\n <SolidDialogHeader className={headerClassName}>\n {header ? <SolidDialogTitle>{header}</SolidDialogTitle> : null}\n <SolidDialogClose aria-label=\"Close\" />\n </SolidDialogHeader>\n ) : null}\n {children}\n {footer ? <SolidDialogFooter>{footer}</SolidDialogFooter> : null}\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\n\nexport function SolidDialogHeader({ children, className }: SolidDialogSectionProps) {\n return <div className={cx(\"solid-radix-dialog-header\", className)}>{children}</div>;\n}\n\nexport function SolidDialogTitle({ children, className }: SolidDialogSectionProps) {\n return <Dialog.Title className={cx(\"solid-radix-dialog-title\", className)}>{children}</Dialog.Title>;\n}\n\nexport function SolidDialogDescription({ children, className }: SolidDialogSectionProps) {\n return (\n <Dialog.Description className={cx(\"solid-radix-dialog-description\", className)}>\n {children}\n </Dialog.Description>\n );\n}\n\nexport function SolidDialogBody({ children, className }: SolidDialogSectionProps) {\n return <div className={cx(\"solid-radix-dialog-body\", className)}>{children}</div>;\n}\n\nexport function SolidDialogFooter({ children, className }: SolidDialogSectionProps) {\n return <div className={cx(\"solid-radix-dialog-footer\", className)}>{children}</div>;\n}\n\nexport function SolidDialogSeparator({ className }: { className?: string }) {\n return <div className={cx(\"solid-radix-dialog-separator\", className)} />;\n}\n\nexport function SolidDialogClose({\n className,\n children,\n onClick,\n \"aria-label\": ariaLabel = \"Close dialog\",\n}: {\n className?: string;\n children?: React.ReactNode;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n \"aria-label\"?: string;\n}) {\n return (\n <Dialog.Close asChild>\n <button\n type=\"button\"\n className={cx(\"solid-radix-dialog-close\", className)}\n aria-label={ariaLabel}\n onClick={onClick}\n >\n {children ?? <X size={16} />}\n </button>\n </Dialog.Close>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidDialog.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport * as Dialog from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\n\ntype SolidDialogProps = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n className?: string;\n contentClassName?: string;\n overlayClassName?: string;\n style?: React.CSSProperties;\n // Compatibility props\n visible?: boolean;\n onHide?: () => void;\n modal?: boolean;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n showHeader?: boolean;\n headerClassName?: string;\n contentStyle?: React.CSSProperties;\n breakpoints?: Record<string, string>;\n dismissible?: boolean;\n};\n\ntype SolidDialogSectionProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nconst DATEPICKER_OUTSIDE_SAFE_SELECTOR =\n \"#solid-datepicker-portal, .react-datepicker, .react-datepicker-popper, .react-datepicker__portal, [class*='react-datepicker']\";\n\nfunction isDatePickerInteractionTarget(target: EventTarget | null): boolean {\n if (!target) return false;\n\n if (target instanceof Element) {\n return Boolean(target.closest(DATEPICKER_OUTSIDE_SAFE_SELECTOR));\n }\n\n if (target instanceof Node) {\n return Boolean(target.parentElement?.closest(DATEPICKER_OUTSIDE_SAFE_SELECTOR));\n }\n\n return false;\n}\n\nfunction shouldPreventOutsideDismiss(event: any): boolean {\n const original = event?.detail?.originalEvent ?? event;\n const target = original?.target as EventTarget | null;\n\n if (isDatePickerInteractionTarget(target)) {\n return true;\n }\n\n if (typeof original?.composedPath === \"function\") {\n const path = original.composedPath() as EventTarget[];\n return path.some((node) => isDatePickerInteractionTarget(node));\n }\n\n return false;\n}\n\nexport function SolidDialog({\n open,\n onOpenChange,\n children,\n className,\n contentClassName,\n overlayClassName,\n style,\n visible,\n onHide,\n header,\n footer,\n showHeader = true,\n headerClassName,\n contentStyle,\n dismissible = true,\n}: SolidDialogProps) {\n const controlledOpen = open ?? visible ?? false;\n const handleOpenChange = (next: boolean) => {\n onOpenChange?.(next);\n if (!next) onHide?.();\n };\n\n return (\n <Dialog.Root open={controlledOpen} onOpenChange={handleOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay className={cx(\"solid-radix-dialog-overlay\", overlayClassName)} />\n <Dialog.Content\n className={cx(\"solid-radix-dialog-content\", className, contentClassName)}\n style={style ?? contentStyle}\n onEscapeKeyDown={(event: any) => {\n if (!dismissible) event.preventDefault();\n }}\n onPointerDownOutside={(event: any) => {\n if (!dismissible) {\n event.preventDefault();\n return;\n }\n if (shouldPreventOutsideDismiss(event)) {\n event.preventDefault();\n }\n }}\n onInteractOutside={(event: any) => {\n if (!dismissible) {\n event.preventDefault();\n return;\n }\n if (shouldPreventOutsideDismiss(event)) {\n event.preventDefault();\n }\n }}\n >\n {showHeader && (header || onHide) ? (\n <SolidDialogHeader className={headerClassName}>\n {header ? <SolidDialogTitle>{header}</SolidDialogTitle> : null}\n <SolidDialogClose aria-label=\"Close\" />\n </SolidDialogHeader>\n ) : null}\n {children}\n {footer ? <SolidDialogFooter>{footer}</SolidDialogFooter> : null}\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\n\nexport function SolidDialogHeader({ children, className }: SolidDialogSectionProps) {\n return <div className={cx(\"solid-radix-dialog-header\", className)}>{children}</div>;\n}\n\nexport function SolidDialogTitle({ children, className }: SolidDialogSectionProps) {\n return <Dialog.Title className={cx(\"solid-radix-dialog-title\", className)}>{children}</Dialog.Title>;\n}\n\nexport function SolidDialogDescription({ children, className }: SolidDialogSectionProps) {\n return (\n <Dialog.Description className={cx(\"solid-radix-dialog-description\", className)}>\n {children}\n </Dialog.Description>\n );\n}\n\nexport function SolidDialogBody({ children, className }: SolidDialogSectionProps) {\n return <div className={cx(\"solid-radix-dialog-body\", className)}>{children}</div>;\n}\n\nexport function SolidDialogFooter({ children, className }: SolidDialogSectionProps) {\n return <div className={cx(\"solid-radix-dialog-footer\", className)}>{children}</div>;\n}\n\nexport function SolidDialogSeparator({ className }: { className?: string }) {\n return <div className={cx(\"solid-radix-dialog-separator\", className)} />;\n}\n\nexport function SolidDialogClose({\n className,\n children,\n onClick,\n \"aria-label\": ariaLabel = \"Close dialog\",\n}: {\n className?: string;\n children?: React.ReactNode;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n \"aria-label\"?: string;\n}) {\n return (\n <Dialog.Close asChild>\n <button\n type=\"button\"\n className={cx(\"solid-radix-dialog-close\", className)}\n aria-label={ariaLabel}\n onClick={onClick}\n >\n {children ?? <X size={16} />}\n </button>\n </Dialog.Close>\n );\n}\n"]}
@@ -32,6 +32,39 @@ function cx(...parts: Array<string | false | undefined>) {
32
32
  return parts.filter(Boolean).join(" ");
33
33
  }
34
34
 
35
+ const DATEPICKER_OUTSIDE_SAFE_SELECTOR =
36
+ "#solid-datepicker-portal, .react-datepicker, .react-datepicker-popper, .react-datepicker__portal, [class*='react-datepicker']";
37
+
38
+ function isDatePickerInteractionTarget(target: EventTarget | null): boolean {
39
+ if (!target) return false;
40
+
41
+ if (target instanceof Element) {
42
+ return Boolean(target.closest(DATEPICKER_OUTSIDE_SAFE_SELECTOR));
43
+ }
44
+
45
+ if (target instanceof Node) {
46
+ return Boolean(target.parentElement?.closest(DATEPICKER_OUTSIDE_SAFE_SELECTOR));
47
+ }
48
+
49
+ return false;
50
+ }
51
+
52
+ function shouldPreventOutsideDismiss(event: any): boolean {
53
+ const original = event?.detail?.originalEvent ?? event;
54
+ const target = original?.target as EventTarget | null;
55
+
56
+ if (isDatePickerInteractionTarget(target)) {
57
+ return true;
58
+ }
59
+
60
+ if (typeof original?.composedPath === "function") {
61
+ const path = original.composedPath() as EventTarget[];
62
+ return path.some((node) => isDatePickerInteractionTarget(node));
63
+ }
64
+
65
+ return false;
66
+ }
67
+
35
68
  export function SolidDialog({
36
69
  open,
37
70
  onOpenChange,
@@ -51,7 +84,6 @@ export function SolidDialog({
51
84
  }: SolidDialogProps) {
52
85
  const controlledOpen = open ?? visible ?? false;
53
86
  const handleOpenChange = (next: boolean) => {
54
- if (!dismissible && !next) return;
55
87
  onOpenChange?.(next);
56
88
  if (!next) onHide?.();
57
89
  };
@@ -67,10 +99,22 @@ export function SolidDialog({
67
99
  if (!dismissible) event.preventDefault();
68
100
  }}
69
101
  onPointerDownOutside={(event: any) => {
70
- if (!dismissible) event.preventDefault();
102
+ if (!dismissible) {
103
+ event.preventDefault();
104
+ return;
105
+ }
106
+ if (shouldPreventOutsideDismiss(event)) {
107
+ event.preventDefault();
108
+ }
71
109
  }}
72
110
  onInteractOutside={(event: any) => {
73
- if (!dismissible) event.preventDefault();
111
+ if (!dismissible) {
112
+ event.preventDefault();
113
+ return;
114
+ }
115
+ if (shouldPreventOutsideDismiss(event)) {
116
+ event.preventDefault();
117
+ }
74
118
  }}
75
119
  >
76
120
  {showHeader && (header || onHide) ? (
@@ -15,6 +15,7 @@ declare const ICON_MAP: {
15
15
  "si-calendar-minus": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
16
16
  "si-calendar-plus": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
17
17
  "si-chart-bar": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
18
+ "si-chart-line": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
18
19
  "si-check": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
19
20
  "si-check-circle": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
20
21
  "si-chevron-down": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
@@ -80,7 +81,7 @@ export interface SolidIconProps extends React.SVGAttributes<SVGSVGElement> {
80
81
  size?: number | string;
81
82
  spin?: boolean;
82
83
  }
83
- export declare const ICON_KEYS: ("si-android" | "si-angle-double-left" | "si-angle-double-right" | "si-angle-down" | "si-angle-left" | "si-angle-right" | "si-angle-up" | "si-arrow-left" | "si-arrow-right" | "si-bars" | "si-bell" | "si-calendar" | "si-calendar-minus" | "si-calendar-plus" | "si-chart-bar" | "si-check" | "si-check-circle" | "si-chevron-down" | "si-chevron-left" | "si-chevron-right" | "si-chevron-up" | "si-clone" | "si-cloud-download" | "si-cloud-upload" | "si-code" | "si-cog" | "si-comments" | "si-copy" | "si-download" | "si-ellipsis-h" | "si-ellipsis-v" | "si-envelope" | "si-exclamation-circle" | "si-exclamation-triangle" | "si-external-link" | "si-eye" | "si-eye-slash" | "si-file" | "si-file-edit" | "si-file-excel" | "si-file-pdf" | "si-file-word" | "si-filter" | "si-filter-fill" | "si-filter-slash" | "si-history" | "si-image" | "si-inbox" | "si-info-circle" | "si-lock" | "si-minus" | "si-objects-column" | "si-pencil" | "si-plus" | "si-power-off" | "si-refresh" | "si-save" | "si-search" | "si-send" | "si-sliders-h" | "si-sort-down-fill" | "si-sort-up-fill" | "si-spinner" | "si-star" | "si-terminal" | "si-th-large" | "si-times" | "si-times-circle" | "si-trash" | "si-upload" | "si-user" | "si-users" | "si-wifi")[];
84
+ export declare const ICON_KEYS: ("si-android" | "si-angle-double-left" | "si-angle-double-right" | "si-angle-down" | "si-angle-left" | "si-angle-right" | "si-angle-up" | "si-arrow-left" | "si-arrow-right" | "si-bars" | "si-bell" | "si-calendar" | "si-calendar-minus" | "si-calendar-plus" | "si-chart-bar" | "si-chart-line" | "si-check" | "si-check-circle" | "si-chevron-down" | "si-chevron-left" | "si-chevron-right" | "si-chevron-up" | "si-clone" | "si-cloud-download" | "si-cloud-upload" | "si-code" | "si-cog" | "si-comments" | "si-copy" | "si-download" | "si-ellipsis-h" | "si-ellipsis-v" | "si-envelope" | "si-exclamation-circle" | "si-exclamation-triangle" | "si-external-link" | "si-eye" | "si-eye-slash" | "si-file" | "si-file-edit" | "si-file-excel" | "si-file-pdf" | "si-file-word" | "si-filter" | "si-filter-fill" | "si-filter-slash" | "si-history" | "si-image" | "si-inbox" | "si-info-circle" | "si-lock" | "si-minus" | "si-objects-column" | "si-pencil" | "si-plus" | "si-power-off" | "si-refresh" | "si-save" | "si-search" | "si-send" | "si-sliders-h" | "si-sort-down-fill" | "si-sort-up-fill" | "si-spinner" | "si-star" | "si-terminal" | "si-th-large" | "si-times" | "si-times-circle" | "si-trash" | "si-upload" | "si-user" | "si-users" | "si-wifi")[];
84
85
  export declare function SolidIcon({ name, size, spin, className, ...rest }: SolidIconProps): import("react/jsx-runtime").JSX.Element;
85
86
  export type SolidIconMeta = {
86
87
  name: SolidIconName;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIcon.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA2E1B,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0E2B,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,QAAQ,CAAC;AAYlD,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;IACxE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,isCAA2C,CAAC;AAElE,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,IAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,2CAUzF;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CA2BnF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CAEvF"}
1
+ {"version":3,"file":"SolidIcon.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA2E1B,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2E2B,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,QAAQ,CAAC;AAYlD,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;IACxE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,mtCAA2C,CAAC;AAElE,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,IAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,2CAUzF;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CA2BnF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CAEvF"}
@@ -38,6 +38,7 @@ var ICON_MAP = {
38
38
  "si-calendar-minus": CalendarMinus,
39
39
  "si-calendar-plus": CalendarPlus,
40
40
  "si-chart-bar": BarChart3,
41
+ "si-chart-line": BarChart3,
41
42
  "si-check": Check,
42
43
  "si-check-circle": CheckCircle2,
43
44
  "si-chevron-down": ChevronDown,
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIcon.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlertCircle,\n AlertTriangle,\n ArrowDownWideNarrow,\n ArrowLeft,\n ArrowRight,\n ArrowUpWideNarrow,\n BarChart3,\n Bell,\n Bot,\n Calendar,\n CalendarMinus,\n CalendarPlus,\n Check,\n CheckCircle2,\n ChevronsLeft,\n ChevronsRight,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n CircleHelp,\n Code,\n Cog,\n Columns3,\n Copy,\n Download,\n DownloadCloud,\n ExternalLink,\n Eye,\n EyeOff,\n File,\n FilePenLine,\n FileSpreadsheet,\n FileText,\n FileType,\n Filter,\n FilterX,\n History,\n Image as ImageIcon,\n Inbox,\n Info,\n LayoutGrid,\n Loader2,\n Lock,\n Mail,\n Menu,\n MessageSquare,\n Minus,\n MoreHorizontal,\n MoreVertical,\n Pencil,\n Plus,\n Power,\n RefreshCcw,\n Save,\n Search,\n Send,\n SlidersHorizontal,\n Star,\n Terminal,\n Trash2,\n Upload,\n UploadCloud,\n User,\n Users,\n Wifi,\n X,\n XCircle\n} from \"lucide-react\";\n\ntype IconComponent = LucideIcon;\n\nconst ICON_MAP = {\n \"si-android\": Bot,\n \"si-angle-double-left\": ChevronsLeft,\n \"si-angle-double-right\": ChevronsRight,\n \"si-angle-down\": ChevronDown,\n \"si-angle-left\": ChevronLeft,\n \"si-angle-right\": ChevronRight,\n \"si-angle-up\": ChevronUp,\n \"si-arrow-left\": ArrowLeft,\n \"si-arrow-right\": ArrowRight,\n \"si-bars\": Menu,\n \"si-bell\": Bell,\n \"si-calendar\": Calendar,\n \"si-calendar-minus\": CalendarMinus,\n \"si-calendar-plus\": CalendarPlus,\n \"si-chart-bar\": BarChart3,\n \"si-check\": Check,\n \"si-check-circle\": CheckCircle2,\n \"si-chevron-down\": ChevronDown,\n \"si-chevron-left\": ChevronLeft,\n \"si-chevron-right\": ChevronRight,\n \"si-chevron-up\": ChevronUp,\n \"si-clone\": Copy,\n \"si-cloud-download\": DownloadCloud,\n \"si-cloud-upload\": UploadCloud,\n \"si-code\": Code,\n \"si-cog\": Cog,\n \"si-comments\": MessageSquare,\n \"si-copy\": Copy,\n \"si-download\": Download,\n \"si-ellipsis-h\": MoreHorizontal,\n \"si-ellipsis-v\": MoreVertical,\n \"si-envelope\": Mail,\n \"si-exclamation-circle\": AlertCircle,\n \"si-exclamation-triangle\": AlertTriangle,\n \"si-external-link\": ExternalLink,\n \"si-eye\": Eye,\n \"si-eye-slash\": EyeOff,\n \"si-file\": File,\n \"si-file-edit\": FilePenLine,\n \"si-file-excel\": FileSpreadsheet,\n \"si-file-pdf\": FileText,\n \"si-file-word\": FileType,\n \"si-filter\": Filter,\n \"si-filter-fill\": Filter,\n \"si-filter-slash\": FilterX,\n \"si-history\": History,\n \"si-image\": ImageIcon,\n \"si-inbox\": Inbox,\n \"si-info-circle\": Info,\n \"si-lock\": Lock,\n \"si-minus\": Minus,\n \"si-objects-column\": Columns3,\n \"si-pencil\": Pencil,\n \"si-plus\": Plus,\n \"si-power-off\": Power,\n \"si-refresh\": RefreshCcw,\n \"si-save\": Save,\n \"si-search\": Search,\n \"si-send\": Send,\n \"si-sliders-h\": SlidersHorizontal,\n \"si-sort-down-fill\": ArrowDownWideNarrow,\n \"si-sort-up-fill\": ArrowUpWideNarrow,\n \"si-spinner\": Loader2,\n \"si-star\": Star,\n \"si-terminal\": Terminal,\n \"si-th-large\": LayoutGrid,\n \"si-times\": X,\n \"si-times-circle\": XCircle,\n \"si-trash\": Trash2,\n \"si-upload\": Upload,\n \"si-user\": User,\n \"si-users\": Users,\n \"si-wifi\": Wifi\n} satisfies Record<string, IconComponent>;\n\nexport type SolidIconName = keyof typeof ICON_MAP;\n\nconst SPIN_CLASSNAMES = new Set([\"pi-spin\", \"si-spin\"]);\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nfunction isSolidIconName(name: string): name is SolidIconName {\n return Object.prototype.hasOwnProperty.call(ICON_MAP, name);\n}\n\nexport interface SolidIconProps extends React.SVGAttributes<SVGSVGElement> {\n name: SolidIconName;\n size?: number | string;\n spin?: boolean;\n}\n\nexport const ICON_KEYS = Object.keys(ICON_MAP) as SolidIconName[];\n\nexport function SolidIcon({ name, size = \"1em\", spin, className, ...rest }: SolidIconProps) {\n const IconComponent = ICON_MAP[name] ?? CircleHelp;\n\n return (\n <IconComponent\n size={size}\n className={cx(\"solid-icon\", spin && \"solid-icon--spin\", className)}\n {...rest}\n />\n );\n}\n\nexport type SolidIconMeta = {\n name: SolidIconName;\n spin?: boolean;\n};\n\nexport function parseSolidIconMeta(value?: string | null): SolidIconMeta | undefined {\n if (!value) return undefined;\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n if (tokens.length === 0) return undefined;\n\n let spin = false;\n let matchedName: SolidIconName | undefined;\n\n for (const token of tokens) {\n if (SPIN_CLASSNAMES.has(token)) {\n spin = true;\n continue;\n }\n\n if (!token.startsWith(\"pi-\") && !token.startsWith(\"si-\")) {\n continue;\n }\n\n const normalized = token.startsWith(\"pi-\") ? `si-${token.slice(3)}` : token;\n if (isSolidIconName(normalized)) {\n matchedName = normalized;\n }\n }\n\n if (!matchedName) return undefined;\n\n return { name: matchedName, spin };\n}\n\nexport function normalizeSolidIconName(value?: string | null): SolidIconName | undefined {\n return parseSolidIconMeta(value)?.name;\n}\n"]}
1
+ {"version":3,"file":"SolidIcon.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlertCircle,\n AlertTriangle,\n ArrowDownWideNarrow,\n ArrowLeft,\n ArrowRight,\n ArrowUpWideNarrow,\n BarChart3,\n Bell,\n Bot,\n Calendar,\n CalendarMinus,\n CalendarPlus,\n Check,\n CheckCircle2,\n ChevronsLeft,\n ChevronsRight,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n CircleHelp,\n Code,\n Cog,\n Columns3,\n Copy,\n Download,\n DownloadCloud,\n ExternalLink,\n Eye,\n EyeOff,\n File,\n FilePenLine,\n FileSpreadsheet,\n FileText,\n FileType,\n Filter,\n FilterX,\n History,\n Image as ImageIcon,\n Inbox,\n Info,\n LayoutGrid,\n Loader2,\n Lock,\n Mail,\n Menu,\n MessageSquare,\n Minus,\n MoreHorizontal,\n MoreVertical,\n Pencil,\n Plus,\n Power,\n RefreshCcw,\n Save,\n Search,\n Send,\n SlidersHorizontal,\n Star,\n Terminal,\n Trash2,\n Upload,\n UploadCloud,\n User,\n Users,\n Wifi,\n X,\n XCircle\n} from \"lucide-react\";\n\ntype IconComponent = LucideIcon;\n\nconst ICON_MAP = {\n \"si-android\": Bot,\n \"si-angle-double-left\": ChevronsLeft,\n \"si-angle-double-right\": ChevronsRight,\n \"si-angle-down\": ChevronDown,\n \"si-angle-left\": ChevronLeft,\n \"si-angle-right\": ChevronRight,\n \"si-angle-up\": ChevronUp,\n \"si-arrow-left\": ArrowLeft,\n \"si-arrow-right\": ArrowRight,\n \"si-bars\": Menu,\n \"si-bell\": Bell,\n \"si-calendar\": Calendar,\n \"si-calendar-minus\": CalendarMinus,\n \"si-calendar-plus\": CalendarPlus,\n \"si-chart-bar\": BarChart3,\n \"si-chart-line\": BarChart3,\n \"si-check\": Check,\n \"si-check-circle\": CheckCircle2,\n \"si-chevron-down\": ChevronDown,\n \"si-chevron-left\": ChevronLeft,\n \"si-chevron-right\": ChevronRight,\n \"si-chevron-up\": ChevronUp,\n \"si-clone\": Copy,\n \"si-cloud-download\": DownloadCloud,\n \"si-cloud-upload\": UploadCloud,\n \"si-code\": Code,\n \"si-cog\": Cog,\n \"si-comments\": MessageSquare,\n \"si-copy\": Copy,\n \"si-download\": Download,\n \"si-ellipsis-h\": MoreHorizontal,\n \"si-ellipsis-v\": MoreVertical,\n \"si-envelope\": Mail,\n \"si-exclamation-circle\": AlertCircle,\n \"si-exclamation-triangle\": AlertTriangle,\n \"si-external-link\": ExternalLink,\n \"si-eye\": Eye,\n \"si-eye-slash\": EyeOff,\n \"si-file\": File,\n \"si-file-edit\": FilePenLine,\n \"si-file-excel\": FileSpreadsheet,\n \"si-file-pdf\": FileText,\n \"si-file-word\": FileType,\n \"si-filter\": Filter,\n \"si-filter-fill\": Filter,\n \"si-filter-slash\": FilterX,\n \"si-history\": History,\n \"si-image\": ImageIcon,\n \"si-inbox\": Inbox,\n \"si-info-circle\": Info,\n \"si-lock\": Lock,\n \"si-minus\": Minus,\n \"si-objects-column\": Columns3,\n \"si-pencil\": Pencil,\n \"si-plus\": Plus,\n \"si-power-off\": Power,\n \"si-refresh\": RefreshCcw,\n \"si-save\": Save,\n \"si-search\": Search,\n \"si-send\": Send,\n \"si-sliders-h\": SlidersHorizontal,\n \"si-sort-down-fill\": ArrowDownWideNarrow,\n \"si-sort-up-fill\": ArrowUpWideNarrow,\n \"si-spinner\": Loader2,\n \"si-star\": Star,\n \"si-terminal\": Terminal,\n \"si-th-large\": LayoutGrid,\n \"si-times\": X,\n \"si-times-circle\": XCircle,\n \"si-trash\": Trash2,\n \"si-upload\": Upload,\n \"si-user\": User,\n \"si-users\": Users,\n \"si-wifi\": Wifi\n} satisfies Record<string, IconComponent>;\n\nexport type SolidIconName = keyof typeof ICON_MAP;\n\nconst SPIN_CLASSNAMES = new Set([\"pi-spin\", \"si-spin\"]);\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nfunction isSolidIconName(name: string): name is SolidIconName {\n return Object.prototype.hasOwnProperty.call(ICON_MAP, name);\n}\n\nexport interface SolidIconProps extends React.SVGAttributes<SVGSVGElement> {\n name: SolidIconName;\n size?: number | string;\n spin?: boolean;\n}\n\nexport const ICON_KEYS = Object.keys(ICON_MAP) as SolidIconName[];\n\nexport function SolidIcon({ name, size = \"1em\", spin, className, ...rest }: SolidIconProps) {\n const IconComponent = ICON_MAP[name] ?? CircleHelp;\n\n return (\n <IconComponent\n size={size}\n className={cx(\"solid-icon\", spin && \"solid-icon--spin\", className)}\n {...rest}\n />\n );\n}\n\nexport type SolidIconMeta = {\n name: SolidIconName;\n spin?: boolean;\n};\n\nexport function parseSolidIconMeta(value?: string | null): SolidIconMeta | undefined {\n if (!value) return undefined;\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n if (tokens.length === 0) return undefined;\n\n let spin = false;\n let matchedName: SolidIconName | undefined;\n\n for (const token of tokens) {\n if (SPIN_CLASSNAMES.has(token)) {\n spin = true;\n continue;\n }\n\n if (!token.startsWith(\"pi-\") && !token.startsWith(\"si-\")) {\n continue;\n }\n\n const normalized = token.startsWith(\"pi-\") ? `si-${token.slice(3)}` : token;\n if (isSolidIconName(normalized)) {\n matchedName = normalized;\n }\n }\n\n if (!matchedName) return undefined;\n\n return { name: matchedName, spin };\n}\n\nexport function normalizeSolidIconName(value?: string | null): SolidIconName | undefined {\n return parseSolidIconMeta(value)?.name;\n}\n"]}
@@ -89,6 +89,7 @@ const ICON_MAP = {
89
89
  "si-calendar-minus": CalendarMinus,
90
90
  "si-calendar-plus": CalendarPlus,
91
91
  "si-chart-bar": BarChart3,
92
+ "si-chart-line": BarChart3,
92
93
  "si-check": Check,
93
94
  "si-check-circle": CheckCircle2,
94
95
  "si-chevron-down": ChevronDown,
@@ -1 +1 @@
1
- {"version":3,"file":"SolidPasswordInput.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidPasswordInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,KAAK,uBAAuB,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAMF,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAa,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAmBjG"}
1
+ {"version":3,"file":"SolidPasswordInput.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidPasswordInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,KAAK,uBAAuB,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAMF,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAa,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAoBjG"}
@@ -34,6 +34,6 @@ export function SolidPasswordInput(_a) {
34
34
  var className = _a.className, _b = _a.toggle, toggle = _b === void 0 ? true : _b, props = __rest(_a, ["className", "toggle"]);
35
35
  var _c = useState(false), shown = _c[0], setShown = _c[1];
36
36
  var inputType = toggle ? (shown ? "text" : "password") : "password";
37
- return (_jsxs("div", { className: "solid-password", children: [_jsx(SolidInput, __assign({}, props, { type: inputType, className: cx("solid-input", className) })), toggle && (_jsx("button", { type: "button", className: "solid-password-toggle", onClick: function () { return setShown(function (prev) { return !prev; }); }, "aria-label": shown ? "Hide password" : "Show password", children: shown ? "Hide" : "Show" }))] }));
37
+ return (_jsxs("div", { className: "solid-password", children: [_jsx(SolidInput, __assign({}, props, { type: inputType, className: cx("solid-input", className) })), toggle && (_jsx("button", { type: "button", className: "solid-password-toggle", onClick: function () { return setShown(function (prev) { return !prev; }); }, "aria-label": shown ? "Hide password" : "Show password", tabIndex: -1, children: shown ? "Hide" : "Show" }))] }));
38
38
  }
39
39
  //# sourceMappingURL=SolidPasswordInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidPasswordInput.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidPasswordInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,SAAS,EAAE;IAAC,eAA2C;SAA3C,UAA2C,EAA3C,qBAA2C,EAA3C,IAA2C;QAA3C,0BAA2C;;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAA+D;IAA7D,IAAA,SAAS,eAAA,EAAE,cAAa,EAAb,MAAM,mBAAG,IAAI,KAAA,EAAK,KAAK,cAApC,uBAAsC,CAAF;IAC/D,IAAA,KAAoB,QAAQ,CAAC,KAAK,CAAC,EAAlC,KAAK,QAAA,EAAE,QAAQ,QAAmB,CAAC;IAC1C,IAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEtE,OAAO,CACL,eAAK,SAAS,EAAC,gBAAgB,aAC7B,KAAC,UAAU,eAAK,KAAK,IAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAClF,MAAM,IAAI,CACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,cAAM,OAAA,QAAQ,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAAzB,CAAyB,gBAC5B,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,YAEpD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GACjB,CACV,IACG,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React, { useState } from \"react\";\nimport { SolidInput } from \"./SolidInput\";\n\ntype SolidPasswordInputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n toggle?: boolean;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidPasswordInput({ className, toggle = true, ...props }: SolidPasswordInputProps) {\n const [shown, setShown] = useState(false);\n const inputType = toggle ? (shown ? \"text\" : \"password\") : \"password\";\n\n return (\n <div className=\"solid-password\">\n <SolidInput {...props} type={inputType} className={cx(\"solid-input\", className)} />\n {toggle && (\n <button\n type=\"button\"\n className=\"solid-password-toggle\"\n onClick={() => setShown((prev) => !prev)}\n aria-label={shown ? \"Hide password\" : \"Show password\"}\n >\n {shown ? \"Hide\" : \"Show\"}\n </button>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidPasswordInput.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidPasswordInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,SAAS,EAAE;IAAC,eAA2C;SAA3C,UAA2C,EAA3C,qBAA2C,EAA3C,IAA2C;QAA3C,0BAA2C;;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAA+D;IAA7D,IAAA,SAAS,eAAA,EAAE,cAAa,EAAb,MAAM,mBAAG,IAAI,KAAA,EAAK,KAAK,cAApC,uBAAsC,CAAF;IAC/D,IAAA,KAAoB,QAAQ,CAAC,KAAK,CAAC,EAAlC,KAAK,QAAA,EAAE,QAAQ,QAAmB,CAAC;IAC1C,IAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEtE,OAAO,CACL,eAAK,SAAS,EAAC,gBAAgB,aAC7B,KAAC,UAAU,eAAK,KAAK,IAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAClF,MAAM,IAAI,CACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,cAAM,OAAA,QAAQ,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAAzB,CAAyB,gBAC5B,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EACrD,QAAQ,EAAE,CAAC,CAAC,YAEX,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GACjB,CACV,IACG,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React, { useState } from \"react\";\nimport { SolidInput } from \"./SolidInput\";\n\ntype SolidPasswordInputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n toggle?: boolean;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidPasswordInput({ className, toggle = true, ...props }: SolidPasswordInputProps) {\n const [shown, setShown] = useState(false);\n const inputType = toggle ? (shown ? \"text\" : \"password\") : \"password\";\n\n return (\n <div className=\"solid-password\">\n <SolidInput {...props} type={inputType} className={cx(\"solid-input\", className)} />\n {toggle && (\n <button\n type=\"button\"\n className=\"solid-password-toggle\"\n onClick={() => setShown((prev) => !prev)}\n aria-label={shown ? \"Hide password\" : \"Show password\"}\n tabIndex={-1}\n >\n {shown ? \"Hide\" : \"Show\"}\n </button>\n )}\n </div>\n );\n}\n"]}
@@ -22,6 +22,7 @@ export function SolidPasswordInput({ className, toggle = true, ...props }: Solid
22
22
  className="solid-password-toggle"
23
23
  onClick={() => setShown((prev) => !prev)}
24
24
  aria-label={shown ? "Hide password" : "Show password"}
25
+ tabIndex={-1}
25
26
  >
26
27
  {shown ? "Hide" : "Show"}
27
28
  </button>
@@ -11,7 +11,8 @@ type SolidSelectProps = {
11
11
  value: any;
12
12
  }) => void;
13
13
  id?: string;
14
+ native?: boolean;
14
15
  };
15
- export declare function SolidSelect({ value, options, optionLabel, optionValue, placeholder, className, disabled, onChange, id, }: SolidSelectProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function SolidSelect({ value, options, optionLabel, optionValue, placeholder, className, disabled, onChange, id, native, }: SolidSelectProps): import("react/jsx-runtime").JSX.Element;
16
17
  export {};
17
18
  //# sourceMappingURL=SolidSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelect.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAMF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAY,EACZ,WAAqB,EACrB,WAAqB,EACrB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,EAAE,GACH,EAAE,gBAAgB,2CAoClB"}
1
+ {"version":3,"file":"SolidSelect.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAMF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAY,EACZ,WAAqB,EACrB,WAAqB,EACrB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,MAAa,GACd,EAAE,gBAAgB,2CAiIlB"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
2
3
  import { ChevronDown } from "lucide-react";
3
4
  function cx() {
4
5
  var parts = [];
@@ -8,7 +9,11 @@ function cx() {
8
9
  return parts.filter(Boolean).join(" ");
9
10
  }
10
11
  export function SolidSelect(_a) {
11
- var value = _a.value, _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.optionLabel, optionLabel = _c === void 0 ? "label" : _c, _d = _a.optionValue, optionValue = _d === void 0 ? "value" : _d, placeholder = _a.placeholder, className = _a.className, disabled = _a.disabled, onChange = _a.onChange, id = _a.id;
12
+ var value = _a.value, _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.optionLabel, optionLabel = _c === void 0 ? "label" : _c, _d = _a.optionValue, optionValue = _d === void 0 ? "value" : _d, placeholder = _a.placeholder, className = _a.className, disabled = _a.disabled, onChange = _a.onChange, id = _a.id, _e = _a.native, native = _e === void 0 ? true : _e;
13
+ var _f = React.useState(false), open = _f[0], setOpen = _f[1];
14
+ var _g = React.useState(false), openUpward = _g[0], setOpenUpward = _g[1];
15
+ var rootRef = React.useRef(null);
16
+ var menuRef = React.useRef(null);
12
17
  var normalized = options.map(function (option, index) {
13
18
  var _a;
14
19
  return ({
@@ -19,6 +24,51 @@ export function SolidSelect(_a) {
19
24
  });
20
25
  var selectedIndex = normalized.findIndex(function (item) { return item.value === value; });
21
26
  var selectedKey = selectedIndex >= 0 ? normalized[selectedIndex].key : "";
27
+ var selectedOption = selectedIndex >= 0 ? normalized[selectedIndex] : null;
28
+ React.useEffect(function () {
29
+ if (!open)
30
+ return;
31
+ var handlePointerDown = function (event) {
32
+ var _a;
33
+ if (!((_a = rootRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
34
+ setOpen(false);
35
+ }
36
+ };
37
+ var handleEscape = function (event) {
38
+ if (event.key === "Escape") {
39
+ setOpen(false);
40
+ }
41
+ };
42
+ document.addEventListener("mousedown", handlePointerDown);
43
+ document.addEventListener("touchstart", handlePointerDown);
44
+ document.addEventListener("keydown", handleEscape);
45
+ return function () {
46
+ document.removeEventListener("mousedown", handlePointerDown);
47
+ document.removeEventListener("touchstart", handlePointerDown);
48
+ document.removeEventListener("keydown", handleEscape);
49
+ };
50
+ }, [open]);
51
+ React.useLayoutEffect(function () {
52
+ if (!open || native || !rootRef.current || !menuRef.current)
53
+ return;
54
+ var rootRect = rootRef.current.getBoundingClientRect();
55
+ var menuHeight = menuRef.current.offsetHeight;
56
+ var viewportHeight = window.innerHeight;
57
+ var spaceBelow = viewportHeight - rootRect.bottom;
58
+ var spaceAbove = rootRect.top;
59
+ var needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;
60
+ setOpenUpward(needsOpenUpward);
61
+ }, [open, native, options.length]);
62
+ if (!native) {
63
+ return (_jsxs("div", { ref: rootRef, className: cx("solid-select-wrap", "solid-select-wrap-custom", className), children: [_jsxs("button", { id: id, type: "button", className: "solid-select solid-select-trigger", disabled: disabled, "aria-haspopup": "listbox", "aria-expanded": open, onClick: function () {
64
+ if (disabled)
65
+ return;
66
+ setOpen(function (prev) { return !prev; });
67
+ }, children: [_jsx("span", { className: cx("solid-select-trigger-label", !selectedOption && "solid-select-placeholder"), children: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || placeholder || "Select" }), _jsx("span", { className: "solid-select-icon", "aria-hidden": "true", children: _jsx(ChevronDown, { size: 14 }) })] }), open ? (_jsx("div", { ref: menuRef, className: cx("solid-select-menu", openUpward && "solid-select-menu-top"), role: "listbox", children: normalized.map(function (item) { return (_jsx("button", { type: "button", role: "option", className: cx("solid-select-menu-item", item.value === value && "is-selected"), "aria-selected": item.value === value, onClick: function () {
68
+ onChange === null || onChange === void 0 ? void 0 : onChange({ value: item.value });
69
+ setOpen(false);
70
+ }, children: item.label }, item.key)); }) })) : null] }));
71
+ }
22
72
  return (_jsxs("div", { className: cx("solid-select-wrap", className), children: [_jsxs("select", { id: id, className: "solid-select", value: selectedKey, disabled: disabled, onChange: function (event) {
23
73
  var next = normalized.find(function (item) { return item.key === event.target.value; });
24
74
  onChange === null || onChange === void 0 ? void 0 : onChange({ value: next === null || next === void 0 ? void 0 : next.value });
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelect.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgB3C,SAAS,EAAE;IAAC,eAA2C;SAA3C,UAA2C,EAA3C,qBAA2C,EAA3C,IAA2C;QAA3C,0BAA2C;;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAUT;QATjB,KAAK,WAAA,EACL,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EACZ,mBAAqB,EAArB,WAAW,mBAAG,OAAO,KAAA,EACrB,mBAAqB,EAArB,WAAW,mBAAG,OAAO,KAAA,EACrB,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,EAAE,QAAA;IAEF,IAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;;QAAK,OAAA,CAAC;YACjD,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;YAClB,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,WAAW,CAAC,mCAAI,EAAE;YAClC,KAAK,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,WAAW,CAAC;SAC7B,CAAC,CAAA;KAAA,CAAC,CAAC;IAEJ,IAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,KAAK,KAAK,EAApB,CAAoB,CAAC,CAAC;IAC3E,IAAM,WAAW,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,aAChD,kBACE,EAAE,EAAE,EAAE,EACN,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,KAAK;oBACd,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,EAA/B,CAA+B,CAAC,CAAC;oBACxE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,EAAE,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,CAAC,aAED,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,kBACtB,WAAW,IAAI,QAAQ,GACjB,EACR,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CACxB,iBAAuB,KAAK,EAAE,IAAI,CAAC,GAAG,YACnC,IAAI,CAAC,KAAK,IADA,IAAI,CAAC,GAAG,CAEZ,CACV,EAJyB,CAIzB,CAAC,IACK,EACT,eAAM,SAAS,EAAC,mBAAmB,iBAAa,MAAM,YACpD,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,GACpB,IACH,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\nimport { ChevronDown } from \"lucide-react\";\n\ntype SolidSelectOption = Record<string, any>;\n\ntype SolidSelectProps = {\n value?: any;\n options?: SolidSelectOption[];\n optionLabel?: string;\n optionValue?: string;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n onChange?: (event: { value: any }) => void;\n id?: string;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidSelect({\n value,\n options = [],\n optionLabel = \"label\",\n optionValue = \"value\",\n placeholder,\n className,\n disabled,\n onChange,\n id,\n}: SolidSelectProps) {\n const normalized = options.map((option, index) => ({\n key: String(index),\n label: option?.[optionLabel] ?? \"\",\n value: option?.[optionValue],\n }));\n\n const selectedIndex = normalized.findIndex((item) => item.value === value);\n const selectedKey = selectedIndex >= 0 ? normalized[selectedIndex].key : \"\";\n\n return (\n <div className={cx(\"solid-select-wrap\", className)}>\n <select\n id={id}\n className=\"solid-select\"\n value={selectedKey}\n disabled={disabled}\n onChange={(event) => {\n const next = normalized.find((item) => item.key === event.target.value);\n onChange?.({ value: next?.value });\n }}\n >\n <option value=\"\" disabled>\n {placeholder || \"Select\"}\n </option>\n {normalized.map((item) => (\n <option key={item.key} value={item.key}>\n {item.label}\n </option>\n ))}\n </select>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidSelect.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ChevronDown } from \"lucide-react\";\n\ntype SolidSelectOption = Record<string, any>;\n\ntype SolidSelectProps = {\n value?: any;\n options?: SolidSelectOption[];\n optionLabel?: string;\n optionValue?: string;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n onChange?: (event: { value: any }) => void;\n id?: string;\n native?: boolean;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidSelect({\n value,\n options = [],\n optionLabel = \"label\",\n optionValue = \"value\",\n placeholder,\n className,\n disabled,\n onChange,\n id,\n native = true,\n}: SolidSelectProps) {\n const [open, setOpen] = React.useState(false);\n const [openUpward, setOpenUpward] = React.useState(false);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const menuRef = React.useRef<HTMLDivElement | null>(null);\n const normalized = options.map((option, index) => ({\n key: String(index),\n label: option?.[optionLabel] ?? \"\",\n value: option?.[optionValue],\n }));\n\n const selectedIndex = normalized.findIndex((item) => item.value === value);\n const selectedKey = selectedIndex >= 0 ? normalized[selectedIndex].key : \"\";\n const selectedOption = selectedIndex >= 0 ? normalized[selectedIndex] : null;\n\n React.useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: MouseEvent | TouchEvent) => {\n if (!rootRef.current?.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handlePointerDown);\n document.addEventListener(\"touchstart\", handlePointerDown);\n document.addEventListener(\"keydown\", handleEscape);\n\n return () => {\n document.removeEventListener(\"mousedown\", handlePointerDown);\n document.removeEventListener(\"touchstart\", handlePointerDown);\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }, [open]);\n\n React.useLayoutEffect(() => {\n if (!open || native || !rootRef.current || !menuRef.current) return;\n\n const rootRect = rootRef.current.getBoundingClientRect();\n const menuHeight = menuRef.current.offsetHeight;\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rootRect.bottom;\n const spaceAbove = rootRect.top;\n const needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;\n\n setOpenUpward(needsOpenUpward);\n }, [open, native, options.length]);\n\n if (!native) {\n return (\n <div ref={rootRef} className={cx(\"solid-select-wrap\", \"solid-select-wrap-custom\", className)}>\n <button\n id={id}\n type=\"button\"\n className=\"solid-select solid-select-trigger\"\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n onClick={() => {\n if (disabled) return;\n setOpen((prev) => !prev);\n }}\n >\n <span className={cx(\"solid-select-trigger-label\", !selectedOption && \"solid-select-placeholder\")}>\n {selectedOption?.label || placeholder || \"Select\"}\n </span>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </button>\n {open ? (\n <div\n ref={menuRef}\n className={cx(\"solid-select-menu\", openUpward && \"solid-select-menu-top\")}\n role=\"listbox\"\n >\n {normalized.map((item) => (\n <button\n key={item.key}\n type=\"button\"\n role=\"option\"\n className={cx(\"solid-select-menu-item\", item.value === value && \"is-selected\")}\n aria-selected={item.value === value}\n onClick={() => {\n onChange?.({ value: item.value });\n setOpen(false);\n }}\n >\n {item.label}\n </button>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div className={cx(\"solid-select-wrap\", className)}>\n <select\n id={id}\n className=\"solid-select\"\n value={selectedKey}\n disabled={disabled}\n onChange={(event) => {\n const next = normalized.find((item) => item.key === event.target.value);\n onChange?.({ value: next?.value });\n }}\n >\n <option value=\"\" disabled>\n {placeholder || \"Select\"}\n </option>\n {normalized.map((item) => (\n <option key={item.key} value={item.key}>\n {item.label}\n </option>\n ))}\n </select>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </div>\n );\n}\n"]}
@@ -13,6 +13,7 @@ type SolidSelectProps = {
13
13
  disabled?: boolean;
14
14
  onChange?: (event: { value: any }) => void;
15
15
  id?: string;
16
+ native?: boolean;
16
17
  };
17
18
 
18
19
  function cx(...parts: Array<string | false | undefined>) {
@@ -29,7 +30,12 @@ export function SolidSelect({
29
30
  disabled,
30
31
  onChange,
31
32
  id,
33
+ native = true,
32
34
  }: SolidSelectProps) {
35
+ const [open, setOpen] = React.useState(false);
36
+ const [openUpward, setOpenUpward] = React.useState(false);
37
+ const rootRef = React.useRef<HTMLDivElement | null>(null);
38
+ const menuRef = React.useRef<HTMLDivElement | null>(null);
33
39
  const normalized = options.map((option, index) => ({
34
40
  key: String(index),
35
41
  label: option?.[optionLabel] ?? "",
@@ -38,6 +44,95 @@ export function SolidSelect({
38
44
 
39
45
  const selectedIndex = normalized.findIndex((item) => item.value === value);
40
46
  const selectedKey = selectedIndex >= 0 ? normalized[selectedIndex].key : "";
47
+ const selectedOption = selectedIndex >= 0 ? normalized[selectedIndex] : null;
48
+
49
+ React.useEffect(() => {
50
+ if (!open) return;
51
+
52
+ const handlePointerDown = (event: MouseEvent | TouchEvent) => {
53
+ if (!rootRef.current?.contains(event.target as Node)) {
54
+ setOpen(false);
55
+ }
56
+ };
57
+
58
+ const handleEscape = (event: KeyboardEvent) => {
59
+ if (event.key === "Escape") {
60
+ setOpen(false);
61
+ }
62
+ };
63
+
64
+ document.addEventListener("mousedown", handlePointerDown);
65
+ document.addEventListener("touchstart", handlePointerDown);
66
+ document.addEventListener("keydown", handleEscape);
67
+
68
+ return () => {
69
+ document.removeEventListener("mousedown", handlePointerDown);
70
+ document.removeEventListener("touchstart", handlePointerDown);
71
+ document.removeEventListener("keydown", handleEscape);
72
+ };
73
+ }, [open]);
74
+
75
+ React.useLayoutEffect(() => {
76
+ if (!open || native || !rootRef.current || !menuRef.current) return;
77
+
78
+ const rootRect = rootRef.current.getBoundingClientRect();
79
+ const menuHeight = menuRef.current.offsetHeight;
80
+ const viewportHeight = window.innerHeight;
81
+ const spaceBelow = viewportHeight - rootRect.bottom;
82
+ const spaceAbove = rootRect.top;
83
+ const needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;
84
+
85
+ setOpenUpward(needsOpenUpward);
86
+ }, [open, native, options.length]);
87
+
88
+ if (!native) {
89
+ return (
90
+ <div ref={rootRef} className={cx("solid-select-wrap", "solid-select-wrap-custom", className)}>
91
+ <button
92
+ id={id}
93
+ type="button"
94
+ className="solid-select solid-select-trigger"
95
+ disabled={disabled}
96
+ aria-haspopup="listbox"
97
+ aria-expanded={open}
98
+ onClick={() => {
99
+ if (disabled) return;
100
+ setOpen((prev) => !prev);
101
+ }}
102
+ >
103
+ <span className={cx("solid-select-trigger-label", !selectedOption && "solid-select-placeholder")}>
104
+ {selectedOption?.label || placeholder || "Select"}
105
+ </span>
106
+ <span className="solid-select-icon" aria-hidden="true">
107
+ <ChevronDown size={14} />
108
+ </span>
109
+ </button>
110
+ {open ? (
111
+ <div
112
+ ref={menuRef}
113
+ className={cx("solid-select-menu", openUpward && "solid-select-menu-top")}
114
+ role="listbox"
115
+ >
116
+ {normalized.map((item) => (
117
+ <button
118
+ key={item.key}
119
+ type="button"
120
+ role="option"
121
+ className={cx("solid-select-menu-item", item.value === value && "is-selected")}
122
+ aria-selected={item.value === value}
123
+ onClick={() => {
124
+ onChange?.({ value: item.value });
125
+ setOpen(false);
126
+ }}
127
+ >
128
+ {item.label}
129
+ </button>
130
+ ))}
131
+ </div>
132
+ ) : null}
133
+ </div>
134
+ );
135
+ }
41
136
 
42
137
  return (
43
138
  <div className={cx("solid-select-wrap", className)}>
@@ -0,0 +1,5 @@
1
+ export declare function getCurrentSolidEnvironmentLabel(): "dev" | "prod";
2
+ export declare function isButtonVisibleInCurrentEnv(buttonAttrs?: {
3
+ env?: string[] | string | null;
4
+ }): boolean;
5
+ //# sourceMappingURL=buttonEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttonEnvironment.d.ts","sourceRoot":"","sources":["../../src/helpers/buttonEnvironment.ts"],"names":[],"mappings":"AAcA,wBAAgB,+BAA+B,IAAI,KAAK,GAAG,MAAM,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAerG"}
@@ -0,0 +1,30 @@
1
+ import { env } from "../adapters/env";
2
+ var DEV_ENVIRONMENT_NAMES = new Set([
3
+ "dev",
4
+ "development",
5
+ "local",
6
+ "localhost",
7
+ "test",
8
+ "testing",
9
+ "stage",
10
+ "staging",
11
+ "uat",
12
+ ]);
13
+ export function getCurrentSolidEnvironmentLabel() {
14
+ var envName = (env("VITE_SOLIDX_ENV") || env("SOLIDX_ENV") || "").trim().toLowerCase();
15
+ return DEV_ENVIRONMENT_NAMES.has(envName) ? "dev" : "prod";
16
+ }
17
+ export function isButtonVisibleInCurrentEnv(buttonAttrs) {
18
+ var allowedEnvironments = buttonAttrs === null || buttonAttrs === void 0 ? void 0 : buttonAttrs.env;
19
+ if (!allowedEnvironments) {
20
+ return true;
21
+ }
22
+ var normalizedAllowedEnvironments = (Array.isArray(allowedEnvironments) ? allowedEnvironments : [allowedEnvironments])
23
+ .map(function (entry) { return String(entry).trim().toLowerCase(); })
24
+ .filter(Boolean);
25
+ if (normalizedAllowedEnvironments.length === 0) {
26
+ return true;
27
+ }
28
+ return normalizedAllowedEnvironments.includes(getCurrentSolidEnvironmentLabel());
29
+ }
30
+ //# sourceMappingURL=buttonEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttonEnvironment.js","sourceRoot":"","sources":["../../src/helpers/buttonEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,IAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,KAAK;IACL,aAAa;IACb,OAAO;IACP,WAAW;IACX,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,UAAU,+BAA+B;IAC7C,IAAM,OAAO,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzF,OAAO,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAAgD;IAC1F,IAAM,mBAAmB,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC;IAC7C,IAAI,CAAC,mBAAmB,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,IAAM,6BAA6B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;SACrH,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAlC,CAAkC,CAAC;SAClD,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,6BAA6B,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,6BAA6B,CAAC,QAAQ,CAAC,+BAA+B,EAAE,CAAC,CAAC;AACnF,CAAC","sourcesContent":["import { env } from \"../adapters/env\";\n\nconst DEV_ENVIRONMENT_NAMES = new Set([\n \"dev\",\n \"development\",\n \"local\",\n \"localhost\",\n \"test\",\n \"testing\",\n \"stage\",\n \"staging\",\n \"uat\",\n]);\n\nexport function getCurrentSolidEnvironmentLabel(): \"dev\" | \"prod\" {\n const envName = (env(\"VITE_SOLIDX_ENV\") || env(\"SOLIDX_ENV\") || \"\").trim().toLowerCase();\n return DEV_ENVIRONMENT_NAMES.has(envName) ? \"dev\" : \"prod\";\n}\n\nexport function isButtonVisibleInCurrentEnv(buttonAttrs?: { env?: string[] | string | null }): boolean {\n const allowedEnvironments = buttonAttrs?.env;\n if (!allowedEnvironments) {\n return true;\n }\n\n const normalizedAllowedEnvironments = (Array.isArray(allowedEnvironments) ? allowedEnvironments : [allowedEnvironments])\n .map((entry) => String(entry).trim().toLowerCase())\n .filter(Boolean);\n\n if (normalizedAllowedEnvironments.length === 0) {\n return true;\n }\n\n return normalizedAllowedEnvironments.includes(getCurrentSolidEnvironmentLabel());\n}\n"]}