@solidxai/core-ui 0.1.8-beta.2 → 0.1.8-beta.21

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 (434) hide show
  1. package/dist/adapters/auth/getSession.d.ts.map +1 -1
  2. package/dist/adapters/auth/getSession.js +1 -1
  3. package/dist/adapters/auth/getSession.js.map +1 -1
  4. package/dist/adapters/auth/getSession.ts +1 -0
  5. package/dist/adapters/auth/helper.d.ts.map +1 -1
  6. package/dist/adapters/auth/helper.js +1 -0
  7. package/dist/adapters/auth/helper.js.map +1 -1
  8. package/dist/adapters/auth/helper.ts +3 -1
  9. package/dist/adapters/auth/signIn.d.ts.map +1 -1
  10. package/dist/adapters/auth/signIn.js +1 -0
  11. package/dist/adapters/auth/signIn.js.map +1 -1
  12. package/dist/adapters/auth/signIn.ts +3 -1
  13. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts +1 -0
  14. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts.map +1 -1
  15. package/dist/adapters/auth/signInWithOAuthAccessCode.js +10 -9
  16. package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
  17. package/dist/adapters/auth/signInWithOAuthAccessCode.ts +6 -3
  18. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  19. package/dist/adapters/auth/signOut.js +7 -1
  20. package/dist/adapters/auth/signOut.js.map +1 -1
  21. package/dist/adapters/auth/signOut.ts +7 -1
  22. package/dist/adapters/auth/types.d.ts +1 -0
  23. package/dist/adapters/auth/types.d.ts.map +1 -1
  24. package/dist/adapters/auth/types.js.map +1 -1
  25. package/dist/adapters/auth/types.ts +1 -0
  26. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  27. package/dist/components/auth/AuthLayout.js +95 -38
  28. package/dist/components/auth/AuthLayout.js.map +1 -1
  29. package/dist/components/auth/AuthLayout.tsx +50 -39
  30. package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
  31. package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
  32. package/dist/components/auth/AuthSettingsContext.js +49 -0
  33. package/dist/components/auth/AuthSettingsContext.js.map +1 -0
  34. package/dist/components/auth/AuthSettingsContext.tsx +19 -0
  35. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  36. package/dist/components/auth/AuthTabs.js +9 -9
  37. package/dist/components/auth/AuthTabs.js.map +1 -1
  38. package/dist/components/auth/AuthTabs.tsx +14 -15
  39. package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
  40. package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
  41. package/dist/components/auth/FacebookAuthChecking.js +103 -0
  42. package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
  43. package/dist/components/auth/FacebookAuthChecking.tsx +64 -0
  44. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  45. package/dist/components/auth/ForgotPasswordThankYou.js +2 -6
  46. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  47. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -7
  48. package/dist/components/auth/GoogleAuthChecking.js +0 -1
  49. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  50. package/dist/components/auth/GoogleAuthChecking.tsx +1 -1
  51. package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
  52. package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
  53. package/dist/components/auth/MicrosoftAuthChecking.js +103 -0
  54. package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
  55. package/dist/components/auth/MicrosoftAuthChecking.tsx +64 -0
  56. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  57. package/dist/components/auth/SolidForgotPassword.js +3 -7
  58. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  59. package/dist/components/auth/SolidForgotPassword.tsx +3 -7
  60. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  61. package/dist/components/auth/SolidInitialLoginOtp.js +4 -8
  62. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  63. package/dist/components/auth/SolidInitialLoginOtp.tsx +3 -6
  64. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  65. package/dist/components/auth/SolidInitiateRegisterOtp.js +27 -14
  66. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  67. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +27 -15
  68. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  69. package/dist/components/auth/SolidLogin.js +11 -11
  70. package/dist/components/auth/SolidLogin.js.map +1 -1
  71. package/dist/components/auth/SolidLogin.tsx +20 -9
  72. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  73. package/dist/components/auth/SolidRegister.js +53 -25
  74. package/dist/components/auth/SolidRegister.js.map +1 -1
  75. package/dist/components/auth/SolidRegister.tsx +107 -40
  76. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  77. package/dist/components/auth/SolidResetPassword.js +2 -6
  78. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  79. package/dist/components/auth/SolidResetPassword.tsx +2 -6
  80. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  81. package/dist/components/common/GeneralSettings.js +235 -156
  82. package/dist/components/common/GeneralSettings.js.map +1 -1
  83. package/dist/components/common/GeneralSettings.tsx +1109 -795
  84. package/dist/components/common/SettingsComponent.d.ts +2 -0
  85. package/dist/components/common/SettingsComponent.d.ts.map +1 -0
  86. package/dist/components/common/SettingsComponent.js +351 -0
  87. package/dist/components/common/SettingsComponent.js.map +1 -0
  88. package/dist/components/common/SettingsComponent.module.css +421 -0
  89. package/dist/components/common/SettingsComponent.tsx +582 -0
  90. package/dist/components/common/SocialMediaLogin.d.ts +8 -1
  91. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  92. package/dist/components/common/SocialMediaLogin.js +6 -13
  93. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  94. package/dist/components/common/SocialMediaLogin.tsx +120 -58
  95. package/dist/components/common/SolidAdmin.js +1 -1
  96. package/dist/components/common/SolidAdmin.js.map +1 -1
  97. package/dist/components/common/SolidAdmin.tsx +1 -1
  98. package/dist/components/common/SolidExport.d.ts.map +1 -1
  99. package/dist/components/common/SolidExport.js +1 -1
  100. package/dist/components/common/SolidExport.js.map +1 -1
  101. package/dist/components/common/SolidExport.tsx +2 -1
  102. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  103. package/dist/components/common/SolidFormStepper.js +2 -1
  104. package/dist/components/common/SolidFormStepper.js.map +1 -1
  105. package/dist/components/common/SolidFormStepper.tsx +2 -1
  106. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  107. package/dist/components/common/SolidThemeProvider.js +5 -21
  108. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  109. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  110. package/dist/components/common/solid-export.css +26 -0
  111. package/dist/components/common/solidModuleHome.module.css +1 -2
  112. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  113. package/dist/components/core/card/SolidCardView.js +24 -25
  114. package/dist/components/core/card/SolidCardView.js.map +1 -1
  115. package/dist/components/core/card/SolidCardView.tsx +23 -28
  116. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  117. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  118. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  119. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  120. package/dist/components/core/chatter/SolidChatter.js +39 -9
  121. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  122. package/dist/components/core/chatter/SolidChatter.tsx +42 -7
  123. package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
  124. package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
  125. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  126. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
  127. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
  128. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  129. package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
  130. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  131. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
  132. package/dist/components/core/chatter/chatter.module.css +3 -6
  133. package/dist/components/core/common/PDFViewer.js +1 -1
  134. package/dist/components/core/common/PDFViewer.js.map +1 -1
  135. package/dist/components/core/common/PDFViewer.tsx +2 -2
  136. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  137. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
  138. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  139. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +1 -1
  140. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
  141. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  142. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
  143. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  144. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
  145. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +3 -4
  146. package/dist/components/core/common/dndCompat.d.ts +8 -0
  147. package/dist/components/core/common/dndCompat.d.ts.map +1 -0
  148. package/dist/components/core/common/dndCompat.js +5 -0
  149. package/dist/components/core/common/dndCompat.js.map +1 -0
  150. package/dist/components/core/common/dndCompat.ts +9 -0
  151. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -2
  152. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  153. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +2 -2
  154. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -2
  155. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  156. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +2 -2
  157. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +1 -1
  158. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -1
  159. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +1 -1
  160. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +1 -1
  161. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -1
  162. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +1 -1
  163. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +1 -1
  164. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -1
  165. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +1 -1
  166. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +1 -1
  167. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -1
  168. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +1 -1
  169. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts +7 -0
  170. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts.map +1 -0
  171. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js +75 -0
  172. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js.map +1 -0
  173. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.ts +45 -0
  174. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
  175. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
  176. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
  177. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
  178. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
  179. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  180. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  181. package/dist/components/core/form/SolidFormActionHeader.js +5 -3
  182. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  183. package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
  184. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  185. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  186. package/dist/components/core/form/SolidFormLayouts.tsx +1 -1
  187. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  188. package/dist/components/core/form/SolidFormView.js +141 -50
  189. package/dist/components/core/form/SolidFormView.js.map +1 -1
  190. package/dist/components/core/form/SolidFormView.tsx +123 -25
  191. package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
  192. package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
  193. package/dist/components/core/form/fields/SolidComputedField.js +128 -0
  194. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
  195. package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
  196. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  197. package/dist/components/core/form/fields/SolidDateTimeField.js +8 -2
  198. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  199. package/dist/components/core/form/fields/SolidDateTimeField.tsx +8 -2
  200. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  201. package/dist/components/core/form/fields/SolidEmailField.js +5 -4
  202. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  203. package/dist/components/core/form/fields/SolidEmailField.tsx +17 -15
  204. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  205. package/dist/components/core/form/fields/SolidIntegerField.js +5 -4
  206. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  207. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -1
  208. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  209. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +35 -24
  210. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  211. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +30 -14
  212. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  213. package/dist/components/core/form/fields/SolidSelectionStaticField.js +29 -28
  214. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  215. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +17 -12
  216. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  217. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  218. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  219. package/dist/components/core/form/fields/SolidShortTextField.tsx +7 -1
  220. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  221. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  222. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  223. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  224. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
  225. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  226. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
  227. package/dist/components/core/form/fields/solidFields.module.css +0 -3
  228. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  229. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  230. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  231. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  232. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  233. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  234. package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
  235. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  236. package/dist/components/core/kanban/KanbanCard.js +2 -2
  237. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  238. package/dist/components/core/kanban/KanbanCard.tsx +4 -3
  239. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  240. package/dist/components/core/kanban/KanbanColumn.js +3 -3
  241. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  242. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  243. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  244. package/dist/components/core/kanban/SolidKanbanView.js +220 -109
  245. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  246. package/dist/components/core/kanban/SolidKanbanView.tsx +219 -96
  247. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  248. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  249. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  250. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  251. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +4 -3
  252. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  253. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +13 -12
  254. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  255. package/dist/components/core/list/SolidDataTable.js +6 -5
  256. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  257. package/dist/components/core/list/SolidDataTable.tsx +6 -5
  258. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  259. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -3
  260. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  261. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +7 -4
  262. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  263. package/dist/components/core/list/SolidListView.js +64 -74
  264. package/dist/components/core/list/SolidListView.js.map +1 -1
  265. package/dist/components/core/list/SolidListView.tsx +72 -97
  266. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  267. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  268. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  269. package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
  270. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  271. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
  272. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +1 -1
  273. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  274. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +1 -1
  275. package/dist/components/core/solid-ai/SolidAiChat.module.css +3 -3
  276. package/dist/components/core/tree/SolidTreeView.js +1 -1
  277. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  278. package/dist/components/core/tree/SolidTreeView.tsx +1 -1
  279. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  280. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  281. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  282. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  283. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  284. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  285. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  286. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  287. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  288. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  289. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  290. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  291. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  292. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  293. package/dist/components/core/users/CreateUser.css +114 -0
  294. package/dist/components/core/users/CreateUser.d.ts +1 -0
  295. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  296. package/dist/components/core/users/CreateUser.js +4 -3
  297. package/dist/components/core/users/CreateUser.js.map +1 -1
  298. package/dist/components/core/users/CreateUser.tsx +32 -26
  299. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  300. package/dist/components/layout/AdminTopHeader.js +25 -1
  301. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  302. package/dist/components/layout/AdminTopHeader.tsx +38 -1
  303. package/dist/components/layout/context/layoutcontext.js +2 -2
  304. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  305. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  306. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  307. package/dist/components/layout/user-profile-menu.js +15 -14
  308. package/dist/components/layout/user-profile-menu.js.map +1 -1
  309. package/dist/components/layout/user-profile-menu.tsx +8 -6
  310. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  311. package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
  312. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  313. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
  314. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  315. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  316. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  317. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  318. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  319. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  320. package/dist/components/shad-cn-ui/SolidDatePicker.js +12 -2
  321. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  322. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +13 -2
  323. package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
  324. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  325. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  326. package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
  327. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
  328. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  329. package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
  330. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  331. package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
  332. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
  333. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
  334. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
  335. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
  336. package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
  337. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  338. package/dist/components/shad-cn-ui/SolidTabs.js +6 -3
  339. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  340. package/dist/components/shad-cn-ui/SolidTabs.tsx +63 -26
  341. package/dist/helpers/hydrateRelationRules.js +1 -1
  342. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  343. package/dist/helpers/hydrateRelationRules.ts +1 -1
  344. package/dist/helpers/permissions.js +2 -2
  345. package/dist/helpers/permissions.js.map +1 -1
  346. package/dist/helpers/permissions.ts +2 -2
  347. package/dist/helpers/registry.d.ts +2 -2
  348. package/dist/helpers/registry.d.ts.map +1 -1
  349. package/dist/helpers/registry.js +6 -0
  350. package/dist/helpers/registry.js.map +1 -1
  351. package/dist/helpers/registry.ts +9 -2
  352. package/dist/helpers/settingsPayload.d.ts +32 -0
  353. package/dist/helpers/settingsPayload.d.ts.map +1 -0
  354. package/dist/helpers/settingsPayload.js +72 -0
  355. package/dist/helpers/settingsPayload.js.map +1 -0
  356. package/dist/helpers/settingsPayload.ts +125 -0
  357. package/dist/index.d.ts +4 -0
  358. package/dist/index.d.ts.map +1 -1
  359. package/dist/index.js +4 -0
  360. package/dist/index.js.map +1 -1
  361. package/dist/index.ts +4 -0
  362. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  363. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  364. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  365. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  366. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  367. package/dist/redux/api/solidEntityApi.js +1 -1
  368. package/dist/redux/api/solidEntityApi.js.map +1 -1
  369. package/dist/redux/api/solidEntityApi.tsx +1 -1
  370. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  371. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  372. package/dist/resources/globals.css +114 -90
  373. package/dist/resources/images/Background.svg +3 -5
  374. package/dist/resources/images/Navigation/SolidSettinsIcon.svg +3 -5
  375. package/dist/resources/images/errors/error.svg +12 -14
  376. package/dist/resources/shadcn-base.css +356 -429
  377. package/dist/resources/solid-responsive.css +22 -4
  378. package/dist/resources/themes/solid-dark-purple/theme.css +23 -33
  379. package/dist/resources/themes/solid-light-purple/theme.css +31 -31
  380. package/dist/routes/AppEventListener.js +1 -1
  381. package/dist/routes/AppEventListener.js.map +1 -1
  382. package/dist/routes/AppEventListener.tsx +1 -1
  383. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -1
  384. package/dist/routes/SolidLayoutRegistry.js +3 -1
  385. package/dist/routes/SolidLayoutRegistry.js.map +1 -1
  386. package/dist/routes/SolidLayoutRegistry.tsx +3 -1
  387. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  388. package/dist/routes/guards/AuthGuard.js +4 -1
  389. package/dist/routes/guards/AuthGuard.js.map +1 -1
  390. package/dist/routes/guards/AuthGuard.tsx +6 -1
  391. package/dist/routes/pages/admin/core/CardPage.js +1 -1
  392. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  393. package/dist/routes/pages/admin/core/CardPage.tsx +1 -1
  394. package/dist/routes/pages/admin/core/FormPage.js +1 -1
  395. package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
  396. package/dist/routes/pages/admin/core/FormPage.tsx +1 -1
  397. package/dist/routes/pages/admin/core/KanbanPage.js +1 -1
  398. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  399. package/dist/routes/pages/admin/core/KanbanPage.tsx +1 -1
  400. package/dist/routes/pages/admin/core/ListPage.js +1 -1
  401. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  402. package/dist/routes/pages/admin/core/ListPage.tsx +1 -1
  403. package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
  404. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  405. package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
  406. package/dist/routes/pages/admin/core/TreePage.js +1 -1
  407. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  408. package/dist/routes/pages/admin/core/TreePage.tsx +1 -1
  409. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
  410. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
  411. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
  412. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
  413. package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
  414. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
  415. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
  416. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
  417. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
  418. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
  419. package/dist/routes/solidRoutes.d.ts.map +1 -1
  420. package/dist/routes/solidRoutes.js +5 -1
  421. package/dist/routes/solidRoutes.js.map +1 -1
  422. package/dist/routes/solidRoutes.tsx +5 -1
  423. package/dist/routes/types.d.ts +1 -1
  424. package/dist/routes/types.d.ts.map +1 -1
  425. package/dist/routes/types.js.map +1 -1
  426. package/dist/routes/types.ts +2 -0
  427. package/dist/types/extension-registry.d.ts +1 -0
  428. package/dist/types/extension-registry.d.ts.map +1 -1
  429. package/dist/types/extension-registry.js +1 -0
  430. package/dist/types/extension-registry.js.map +1 -1
  431. package/dist/types/extension-registry.ts +1 -0
  432. package/dist/types/index.d.ts +2 -0
  433. package/dist/types/solid-core.d.ts +11 -0
  434. package/package.json +1 -2
@@ -179,6 +179,10 @@ export function SolidAutocomplete({
179
179
  };
180
180
 
181
181
  const clearAllSelected = () => {
182
+ if (multiple) {
183
+ const existing = Array.isArray(value) ? [...value] : [];
184
+ existing.forEach((item) => onUnselect?.({ value: item }));
185
+ }
182
186
  onChange?.({ value: multiple ? [] : null });
183
187
  setManageOpen(false);
184
188
  };
@@ -189,6 +193,7 @@ export function SolidAutocomplete({
189
193
  const exists = existing.some((entry) => toComparableKey(entry) === toComparableKey(item));
190
194
  if (!exists) {
191
195
  onChange?.({ value: [...existing, item] });
196
+ onSelect?.({ value: item });
192
197
  }
193
198
  setQuery("");
194
199
  setOpen(false);
@@ -340,7 +345,11 @@ export function SolidAutocomplete({
340
345
  <button
341
346
  type="button"
342
347
  className="solid-autocomplete-chip-remove"
343
- onClick={() => removeSelectedAt(index)}
348
+ onMouseDown={(event) => event.preventDefault()}
349
+ onClick={() => {
350
+ onUnselect?.({ value: item });
351
+ removeSelectedAt(index);
352
+ }}
344
353
  aria-label="Remove selection"
345
354
  >
346
355
  <X size={12} />
@@ -8,7 +8,12 @@ type SolidConfirmDialogProps = {
8
8
  onConfirm: () => void;
9
9
  onCancel: () => void;
10
10
  className?: string;
11
+ headerClassName?: string;
12
+ bodyClassName?: string;
13
+ footerClassName?: string;
14
+ separatorClassName?: string;
15
+ showSeparator?: boolean;
11
16
  };
12
- export declare function SolidConfirmDialog({ open, title, message, confirmLabel, cancelLabel, onConfirm, onCancel, className, }: SolidConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function SolidConfirmDialog({ open, title, message, confirmLabel, cancelLabel, onConfirm, onCancel, className, headerClassName, bodyClassName, footerClassName, separatorClassName, showSeparator, }: SolidConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
13
18
  export {};
14
19
  //# sourceMappingURL=SolidConfirmDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAiB,EACjB,OAAO,EACP,YAAwB,EACxB,WAAsB,EACtB,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,uBAAuB,2CAkBzB"}
1
+ {"version":3,"file":"SolidConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAiB,EACjB,OAAO,EACP,YAAwB,EACxB,WAAsB,EACtB,SAAS,EACT,QAAQ,EACR,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAqB,GACtB,EAAE,uBAAuB,2CAmBzB"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogFooter, SolidDialogHeader, SolidDialogTitle, } from "./SolidDialog";
2
+ import { SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, } from "./SolidDialog";
3
3
  import { SolidButton } from "./SolidButton";
4
4
  export function SolidConfirmDialog(_a) {
5
- var open = _a.open, _b = _a.title, title = _b === void 0 ? "Confirm" : _b, message = _a.message, _c = _a.confirmLabel, confirmLabel = _c === void 0 ? "Confirm" : _c, _d = _a.cancelLabel, cancelLabel = _d === void 0 ? "Cancel" : _d, onConfirm = _a.onConfirm, onCancel = _a.onCancel, className = _a.className;
6
- return (_jsxs(SolidDialog, { open: open, onOpenChange: function (val) { return !val && onCancel(); }, className: className, children: [_jsxs(SolidDialogHeader, { children: [_jsx(SolidDialogTitle, { children: title }), _jsx(SolidDialogClose, { "aria-label": "Close" })] }), _jsx(SolidDialogBody, { children: message }), _jsxs(SolidDialogFooter, { children: [_jsx(SolidButton, { variant: "outline", size: "sm", onClick: onCancel, children: cancelLabel }), _jsx(SolidButton, { variant: "destructive", size: "sm", onClick: onConfirm, children: confirmLabel })] })] }));
5
+ var open = _a.open, _b = _a.title, title = _b === void 0 ? "Confirm" : _b, message = _a.message, _c = _a.confirmLabel, confirmLabel = _c === void 0 ? "Confirm" : _c, _d = _a.cancelLabel, cancelLabel = _d === void 0 ? "Cancel" : _d, onConfirm = _a.onConfirm, onCancel = _a.onCancel, className = _a.className, headerClassName = _a.headerClassName, bodyClassName = _a.bodyClassName, footerClassName = _a.footerClassName, separatorClassName = _a.separatorClassName, _e = _a.showSeparator, showSeparator = _e === void 0 ? false : _e;
6
+ return (_jsxs(SolidDialog, { open: open, onOpenChange: function (val) { return !val && onCancel(); }, className: className, children: [_jsxs(SolidDialogHeader, { className: headerClassName, children: [_jsx(SolidDialogTitle, { children: title }), _jsx(SolidDialogClose, { "aria-label": "Close" })] }), showSeparator ? _jsx(SolidDialogSeparator, { className: separatorClassName }) : null, _jsx(SolidDialogBody, { className: bodyClassName, children: message }), _jsxs(SolidDialogFooter, { className: footerClassName, children: [_jsx(SolidButton, { variant: "outline", size: "sm", onClick: onCancel, children: cancelLabel }), _jsx(SolidButton, { variant: "destructive", size: "sm", onClick: onConfirm, children: confirmLabel })] })] }));
7
7
  }
8
8
  //# sourceMappingURL=SolidConfirmDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidConfirmDialog.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidConfirmDialog.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAa5C,MAAM,UAAU,kBAAkB,CAAC,EAST;QARxB,IAAI,UAAA,EACJ,aAAiB,EAAjB,KAAK,mBAAG,SAAS,KAAA,EACjB,OAAO,aAAA,EACP,oBAAwB,EAAxB,YAAY,mBAAG,SAAS,KAAA,EACxB,mBAAsB,EAAtB,WAAW,mBAAG,QAAQ,KAAA,EACtB,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,SAAS,eAAA;IAET,OAAO,CACL,MAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,IAAI,QAAQ,EAAE,EAAlB,CAAkB,EAAE,SAAS,EAAE,SAAS,aACtF,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,KAAK,GAAoB,EAC5C,KAAC,gBAAgB,kBAAY,OAAO,GAAG,IACrB,EACpB,KAAC,eAAe,cAAE,OAAO,GAAmB,EAC5C,MAAC,iBAAiB,eAChB,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,QAAQ,YACvD,WAAW,GACA,EACd,KAAC,WAAW,IAAC,OAAO,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,SAAS,YAC5D,YAAY,GACD,IACI,IACR,CACf,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"./SolidDialog\";\nimport { SolidButton } from \"./SolidButton\";\n\ntype SolidConfirmDialogProps = {\n open: boolean;\n title?: string;\n message?: React.ReactNode;\n confirmLabel?: string;\n cancelLabel?: string;\n onConfirm: () => void;\n onCancel: () => void;\n className?: string;\n};\n\nexport function SolidConfirmDialog({\n open,\n title = \"Confirm\",\n message,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n onConfirm,\n onCancel,\n className,\n}: SolidConfirmDialogProps) {\n return (\n <SolidDialog open={open} onOpenChange={(val) => !val && onCancel()} className={className}>\n <SolidDialogHeader>\n <SolidDialogTitle>{title}</SolidDialogTitle>\n <SolidDialogClose aria-label=\"Close\" />\n </SolidDialogHeader>\n <SolidDialogBody>{message}</SolidDialogBody>\n <SolidDialogFooter>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={onCancel}>\n {cancelLabel}\n </SolidButton>\n <SolidButton variant=\"destructive\" size=\"sm\" onClick={onConfirm}>\n {confirmLabel}\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidConfirmDialog.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidConfirmDialog.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAkB5C,MAAM,UAAU,kBAAkB,CAAC,EAcT;QAbxB,IAAI,UAAA,EACJ,aAAiB,EAAjB,KAAK,mBAAG,SAAS,KAAA,EACjB,OAAO,aAAA,EACP,oBAAwB,EAAxB,YAAY,mBAAG,SAAS,KAAA,EACxB,mBAAsB,EAAtB,WAAW,mBAAG,QAAQ,KAAA,EACtB,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,eAAe,qBAAA,EACf,aAAa,mBAAA,EACb,eAAe,qBAAA,EACf,kBAAkB,wBAAA,EAClB,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA;IAErB,OAAO,CACL,MAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,IAAI,QAAQ,EAAE,EAAlB,CAAkB,EAAE,SAAS,EAAE,SAAS,aACtF,MAAC,iBAAiB,IAAC,SAAS,EAAE,eAAe,aAC3C,KAAC,gBAAgB,cAAE,KAAK,GAAoB,EAC5C,KAAC,gBAAgB,kBAAY,OAAO,GAAG,IACrB,EACnB,aAAa,CAAC,CAAC,CAAC,KAAC,oBAAoB,IAAC,SAAS,EAAE,kBAAkB,GAAI,CAAC,CAAC,CAAC,IAAI,EAC/E,KAAC,eAAe,IAAC,SAAS,EAAE,aAAa,YAAG,OAAO,GAAmB,EACtE,MAAC,iBAAiB,IAAC,SAAS,EAAE,eAAe,aAC3C,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,QAAQ,YACvD,WAAW,GACA,EACd,KAAC,WAAW,IAAC,OAAO,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,SAAS,YAC5D,YAAY,GACD,IACI,IACR,CACf,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"./SolidDialog\";\nimport { SolidButton } from \"./SolidButton\";\n\ntype SolidConfirmDialogProps = {\n open: boolean;\n title?: string;\n message?: React.ReactNode;\n confirmLabel?: string;\n cancelLabel?: string;\n onConfirm: () => void;\n onCancel: () => void;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n footerClassName?: string;\n separatorClassName?: string;\n showSeparator?: boolean;\n};\n\nexport function SolidConfirmDialog({\n open,\n title = \"Confirm\",\n message,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n onConfirm,\n onCancel,\n className,\n headerClassName,\n bodyClassName,\n footerClassName,\n separatorClassName,\n showSeparator = false,\n}: SolidConfirmDialogProps) {\n return (\n <SolidDialog open={open} onOpenChange={(val) => !val && onCancel()} className={className}>\n <SolidDialogHeader className={headerClassName}>\n <SolidDialogTitle>{title}</SolidDialogTitle>\n <SolidDialogClose aria-label=\"Close\" />\n </SolidDialogHeader>\n {showSeparator ? <SolidDialogSeparator className={separatorClassName} /> : null}\n <SolidDialogBody className={bodyClassName}>{message}</SolidDialogBody>\n <SolidDialogFooter className={footerClassName}>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={onCancel}>\n {cancelLabel}\n </SolidButton>\n <SolidButton variant=\"destructive\" size=\"sm\" onClick={onConfirm}>\n {confirmLabel}\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n );\n}\n"]}
@@ -5,6 +5,7 @@ import {
5
5
  SolidDialogClose,
6
6
  SolidDialogFooter,
7
7
  SolidDialogHeader,
8
+ SolidDialogSeparator,
8
9
  SolidDialogTitle,
9
10
  } from "./SolidDialog";
10
11
  import { SolidButton } from "./SolidButton";
@@ -18,6 +19,11 @@ type SolidConfirmDialogProps = {
18
19
  onConfirm: () => void;
19
20
  onCancel: () => void;
20
21
  className?: string;
22
+ headerClassName?: string;
23
+ bodyClassName?: string;
24
+ footerClassName?: string;
25
+ separatorClassName?: string;
26
+ showSeparator?: boolean;
21
27
  };
22
28
 
23
29
  export function SolidConfirmDialog({
@@ -29,15 +35,21 @@ export function SolidConfirmDialog({
29
35
  onConfirm,
30
36
  onCancel,
31
37
  className,
38
+ headerClassName,
39
+ bodyClassName,
40
+ footerClassName,
41
+ separatorClassName,
42
+ showSeparator = false,
32
43
  }: SolidConfirmDialogProps) {
33
44
  return (
34
45
  <SolidDialog open={open} onOpenChange={(val) => !val && onCancel()} className={className}>
35
- <SolidDialogHeader>
46
+ <SolidDialogHeader className={headerClassName}>
36
47
  <SolidDialogTitle>{title}</SolidDialogTitle>
37
48
  <SolidDialogClose aria-label="Close" />
38
49
  </SolidDialogHeader>
39
- <SolidDialogBody>{message}</SolidDialogBody>
40
- <SolidDialogFooter>
50
+ {showSeparator ? <SolidDialogSeparator className={separatorClassName} /> : null}
51
+ <SolidDialogBody className={bodyClassName}>{message}</SolidDialogBody>
52
+ <SolidDialogFooter className={footerClassName}>
41
53
  <SolidButton variant="outline" size="sm" onClick={onCancel}>
42
54
  {cancelLabel}
43
55
  </SolidButton>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,4CAA4C,CAAC;AAGpD,KAAK,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,GAAG;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAwCF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,cAAc,EACd,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,2CAetB"}
1
+ {"version":3,"file":"SolidDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,4CAA4C,CAAC;AAGpD,KAAK,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,GAAG;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAmDF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,cAAc,EACd,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,2CAetB"}
@@ -36,12 +36,22 @@ function formatDateValue(value, pattern) {
36
36
  if (length === void 0) { length = 2; }
37
37
  return String(num).padStart(length, "0");
38
38
  };
39
+ var hours = value.getHours();
40
+ var minutes = value.getMinutes();
41
+ var seconds = value.getSeconds();
42
+ var ampm = hours >= 12 ? "PM" : "AM";
43
+ var h12 = hours % 12 || 12;
39
44
  return pattern
40
45
  .replace(/yyyy/g, String(value.getFullYear()))
41
46
  .replace(/MM/g, pad(value.getMonth() + 1))
42
47
  .replace(/dd/g, pad(value.getDate()))
43
- .replace(/HH/g, pad(value.getHours()))
44
- .replace(/mm/g, pad(value.getMinutes()));
48
+ .replace(/HH/g, pad(hours))
49
+ .replace(/hh/g, pad(h12))
50
+ .replace(/h/g, String(h12))
51
+ .replace(/mm/g, pad(minutes))
52
+ .replace(/ss/g, pad(seconds))
53
+ .replace(/aa/g, ampm)
54
+ .replace(/a/g, ampm);
45
55
  }
46
56
  var SolidDatePickerInput = React.forwardRef(function (_a, ref) {
47
57
  var className = _a.className, displayValue = _a.displayValue, props = __rest(_a, ["className", "displayValue"]);
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDatePicker.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport ReactDatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { SolidInput } from \"./SolidInput\";\n\ntype SolidDatePickerProps = React.ComponentProps<typeof ReactDatePicker> & {\n timeOnly?: boolean;\n inputClassName?: string;\n};\n\ntype SolidDatePickerInputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n displayValue?: string;\n};\n\nfunction formatDateValue(value: Date | null | undefined, pattern?: string) {\n if (!value || !(value instanceof Date) || Number.isNaN(value.getTime())) {\n return \"\";\n }\n if (!pattern) {\n return value.toISOString();\n }\n const pad = (num: number, length = 2) => String(num).padStart(length, \"0\");\n return pattern\n .replace(/yyyy/g, String(value.getFullYear()))\n .replace(/MM/g, pad(value.getMonth() + 1))\n .replace(/dd/g, pad(value.getDate()))\n .replace(/HH/g, pad(value.getHours()))\n .replace(/mm/g, pad(value.getMinutes()));\n}\n\nconst SolidDatePickerInput = React.forwardRef<HTMLInputElement, SolidDatePickerInputProps>(\n ({ className, displayValue, ...props }, ref) => (\n <SolidInput\n ref={ref}\n {...props}\n value={displayValue ?? (typeof props.value === \"string\" ? props.value : \"\")}\n readOnly\n className={className}\n />\n )\n);\n\nSolidDatePickerInput.displayName = \"SolidDatePickerInput\";\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidDatePicker({\n timeOnly,\n showTimeSelect,\n inputClassName,\n selected,\n dateFormat,\n className,\n ...props\n}: SolidDatePickerProps) {\n const resolvedShowTime = timeOnly ? true : showTimeSelect;\n const resolvedFormat = (Array.isArray(dateFormat) ? dateFormat[0] : dateFormat) ?? \"yyyy-MM-dd\";\n const displayValue = formatDateValue(selected as Date | null | undefined, resolvedFormat);\n\n return (\n <ReactDatePicker\n {...props}\n selected={selected}\n showTimeSelect={resolvedShowTime}\n showTimeSelectOnly={timeOnly}\n customInput={<SolidDatePickerInput className={inputClassName} displayValue={displayValue} />}\n className={cx(\"solid-datepicker\", className)}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"SolidDatePicker.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport ReactDatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { SolidInput } from \"./SolidInput\";\n\ntype SolidDatePickerProps = React.ComponentProps<typeof ReactDatePicker> & {\n timeOnly?: boolean;\n inputClassName?: string;\n};\n\ntype SolidDatePickerInputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n displayValue?: string;\n};\n\nfunction formatDateValue(value: Date | null | undefined, pattern?: string) {\n if (!value || !(value instanceof Date) || Number.isNaN(value.getTime())) {\n return \"\";\n }\n if (!pattern) {\n return value.toISOString();\n }\n const pad = (num: number, length = 2) => String(num).padStart(length, \"0\");\n const hours = value.getHours();\n const minutes = value.getMinutes();\n const seconds = value.getSeconds();\n const ampm = hours >= 12 ? \"PM\" : \"AM\";\n const h12 = hours % 12 || 12;\n\n return pattern\n .replace(/yyyy/g, String(value.getFullYear()))\n .replace(/MM/g, pad(value.getMonth() + 1))\n .replace(/dd/g, pad(value.getDate()))\n .replace(/HH/g, pad(hours))\n .replace(/hh/g, pad(h12))\n .replace(/h/g, String(h12))\n .replace(/mm/g, pad(minutes))\n .replace(/ss/g, pad(seconds))\n .replace(/aa/g, ampm)\n .replace(/a/g, ampm);\n}\n\nconst SolidDatePickerInput = React.forwardRef<HTMLInputElement, SolidDatePickerInputProps>(\n ({ className, displayValue, ...props }, ref) => (\n <SolidInput\n ref={ref}\n {...props}\n value={displayValue ?? (typeof props.value === \"string\" ? props.value : \"\")}\n readOnly\n className={className}\n />\n )\n);\n\nSolidDatePickerInput.displayName = \"SolidDatePickerInput\";\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidDatePicker({\n timeOnly,\n showTimeSelect,\n inputClassName,\n selected,\n dateFormat,\n className,\n ...props\n}: SolidDatePickerProps) {\n const resolvedShowTime = timeOnly ? true : showTimeSelect;\n const resolvedFormat = (Array.isArray(dateFormat) ? dateFormat[0] : dateFormat) ?? \"yyyy-MM-dd\";\n const displayValue = formatDateValue(selected as Date | null | undefined, resolvedFormat);\n\n return (\n <ReactDatePicker\n {...props}\n selected={selected}\n showTimeSelect={resolvedShowTime}\n showTimeSelectOnly={timeOnly}\n customInput={<SolidDatePickerInput className={inputClassName} displayValue={displayValue} />}\n className={cx(\"solid-datepicker\", className)}\n />\n );\n}\n"]}
@@ -20,12 +20,23 @@ function formatDateValue(value: Date | null | undefined, pattern?: string) {
20
20
  return value.toISOString();
21
21
  }
22
22
  const pad = (num: number, length = 2) => String(num).padStart(length, "0");
23
+ const hours = value.getHours();
24
+ const minutes = value.getMinutes();
25
+ const seconds = value.getSeconds();
26
+ const ampm = hours >= 12 ? "PM" : "AM";
27
+ const h12 = hours % 12 || 12;
28
+
23
29
  return pattern
24
30
  .replace(/yyyy/g, String(value.getFullYear()))
25
31
  .replace(/MM/g, pad(value.getMonth() + 1))
26
32
  .replace(/dd/g, pad(value.getDate()))
27
- .replace(/HH/g, pad(value.getHours()))
28
- .replace(/mm/g, pad(value.getMinutes()));
33
+ .replace(/HH/g, pad(hours))
34
+ .replace(/hh/g, pad(h12))
35
+ .replace(/h/g, String(h12))
36
+ .replace(/mm/g, pad(minutes))
37
+ .replace(/ss/g, pad(seconds))
38
+ .replace(/aa/g, ampm)
39
+ .replace(/a/g, ampm);
29
40
  }
30
41
 
31
42
  const SolidDatePickerInput = React.forwardRef<HTMLInputElement, SolidDatePickerInputProps>(
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  type SolidDialogProps = {
3
3
  open?: boolean;
4
4
  onOpenChange?: (open: boolean) => void;
5
- children: React.ReactNode;
5
+ children?: React.ReactNode;
6
6
  className?: string;
7
7
  contentClassName?: string;
8
8
  overlayClassName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDialog.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAMF,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAkB,GACnB,EAAE,gBAAgB,2CAqClB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAEjF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAEhF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAMtF;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAE/E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAEjF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAEzE;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,YAAY,EAAE,SAA0B,GACzC,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAaA"}
1
+ {"version":3,"file":"SolidDialog.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAMF,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAkB,GACnB,EAAE,gBAAgB,2CAqClB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAEjF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAEhF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAMtF;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAE/E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAEjF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAEzE;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,YAAY,EAAE,SAA0B,GACzC,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAaA"}
@@ -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\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"]}
@@ -5,7 +5,7 @@ import { X } from "lucide-react";
5
5
  type SolidDialogProps = {
6
6
  open?: boolean;
7
7
  onOpenChange?: (open: boolean) => void;
8
- children: React.ReactNode;
8
+ children?: React.ReactNode;
9
9
  className?: string;
10
10
  contentClassName?: string;
11
11
  overlayClassName?: string;
@@ -75,13 +75,13 @@ declare const ICON_MAP: {
75
75
  "si-wifi": React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
76
76
  };
77
77
  export type SolidIconName = keyof typeof ICON_MAP;
78
- export interface SolidIconProps extends React.ComponentPropsWithoutRef<"svg"> {
78
+ export interface SolidIconProps extends React.SVGAttributes<SVGSVGElement> {
79
79
  name: SolidIconName;
80
80
  size?: number | string;
81
81
  spin?: boolean;
82
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 SolidIcon: React.ForwardRefExoticComponent<SolidIconProps & React.RefAttributes<SVGSVGElement>>;
84
+ export declare function SolidIcon({ name, size, spin, className, ...rest }: SolidIconProps): import("react/jsx-runtime").JSX.Element;
85
85
  export type SolidIconMeta = {
86
86
  name: SolidIconName;
87
87
  spin?: boolean;
@@ -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,wBAAwB,CAAC,KAAK,CAAC;IAC3E,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,eAAO,MAAM,SAAS,sFAarB,CAAC;AAEF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -21,7 +21,6 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import { jsx as _jsx } from "react/jsx-runtime";
24
- import React from "react";
25
24
  import { AlertCircle, AlertTriangle, ArrowDownWideNarrow, ArrowLeft, ArrowRight, ArrowUpWideNarrow, BarChart3, Bell, Bot, Calendar, CalendarMinus, CalendarPlus, Check, CheckCircle2, ChevronsLeft, ChevronsRight, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleHelp, Code, Cog, Columns3, Copy, Download, DownloadCloud, ExternalLink, Eye, EyeOff, File, FilePenLine, FileSpreadsheet, FileText, FileType, Filter, FilterX, History, Image as ImageIcon, Inbox, Info, LayoutGrid, Loader2, Lock, Mail, Menu, MessageSquare, Minus, MoreHorizontal, MoreVertical, Pencil, Plus, Power, RefreshCcw, Save, Search, Send, SlidersHorizontal, Star, Terminal, Trash2, Upload, UploadCloud, User, Users, Wifi, X, XCircle } from "lucide-react";
26
25
  var ICON_MAP = {
27
26
  "si-android": Bot,
@@ -110,12 +109,12 @@ function isSolidIconName(name) {
110
109
  return Object.prototype.hasOwnProperty.call(ICON_MAP, name);
111
110
  }
112
111
  export var ICON_KEYS = Object.keys(ICON_MAP);
113
- export var SolidIcon = React.forwardRef(function (_a, ref) {
112
+ export function SolidIcon(_a) {
114
113
  var _b;
115
114
  var name = _a.name, _c = _a.size, size = _c === void 0 ? "1em" : _c, spin = _a.spin, className = _a.className, rest = __rest(_a, ["name", "size", "spin", "className"]);
116
115
  var IconComponent = (_b = ICON_MAP[name]) !== null && _b !== void 0 ? _b : CircleHelp;
117
- return (_jsx(IconComponent, __assign({ ref: ref, size: size, className: cx("solid-icon", spin && "solid-icon--spin", className) }, rest)));
118
- });
116
+ return (_jsx(IconComponent, __assign({ size: size, className: cx("solid-icon", spin && "solid-icon--spin", className) }, rest)));
117
+ }
119
118
  export function parseSolidIconMeta(value) {
120
119
  if (!value)
121
120
  return undefined;
@@ -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.ComponentPropsWithoutRef<\"svg\"> {\n name: SolidIconName;\n size?: number | string;\n spin?: boolean;\n}\n\nexport const ICON_KEYS = Object.keys(ICON_MAP) as SolidIconName[];\n\nexport const SolidIcon = React.forwardRef<SVGSVGElement, SolidIconProps>(\n ({ name, size = \"1em\", spin, className, ...rest }, ref) => {\n const IconComponent = ICON_MAP[name] ?? CircleHelp;\n\n return (\n <IconComponent\n ref={ref}\n size={size}\n className={cx(\"solid-icon\", spin && \"solid-icon--spin\", className)}\n {...rest}\n />\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":";;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,GAAG,EACH,MAAM,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAAK,IAAI,SAAS,EAClB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,KAAK,EACL,cAAc,EACd,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,CAAC,EACD,OAAO,EACR,MAAM,cAAc,CAAC;AAItB,IAAM,QAAQ,GAAG;IACf,YAAY,EAAE,GAAG;IACjB,sBAAsB,EAAE,YAAY;IACpC,uBAAuB,EAAE,aAAa;IACtC,eAAe,EAAE,WAAW;IAC5B,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAAE,YAAY;IAC9B,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAC1B,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,QAAQ;IACvB,mBAAmB,EAAE,aAAa;IAClC,kBAAkB,EAAE,YAAY;IAChC,cAAc,EAAE,SAAS;IACzB,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,YAAY;IAC/B,iBAAiB,EAAE,WAAW;IAC9B,iBAAiB,EAAE,WAAW;IAC9B,kBAAkB,EAAE,YAAY;IAChC,eAAe,EAAE,SAAS;IAC1B,UAAU,EAAE,IAAI;IAChB,mBAAmB,EAAE,aAAa;IAClC,iBAAiB,EAAE,WAAW;IAC9B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,GAAG;IACb,aAAa,EAAE,aAAa;IAC5B,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,QAAQ;IACvB,eAAe,EAAE,cAAc;IAC/B,eAAe,EAAE,YAAY;IAC7B,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,WAAW;IACpC,yBAAyB,EAAE,aAAa;IACxC,kBAAkB,EAAE,YAAY;IAChC,QAAQ,EAAE,GAAG;IACb,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,eAAe;IAChC,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,OAAO;IAC1B,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,KAAK;IACjB,mBAAmB,EAAE,QAAQ;IAC7B,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,iBAAiB;IACjC,mBAAmB,EAAE,mBAAmB;IACxC,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,OAAO;IAC1B,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,IAAI;CACwB,CAAC;AAI1C,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAExD,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,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAQD,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAoB,CAAC;AAElE,MAAM,UAAU,SAAS,CAAC,EAAgE;;IAA9D,IAAA,IAAI,UAAA,EAAE,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA,EAAE,IAAI,UAAA,EAAE,SAAS,eAAA,EAAK,IAAI,cAA9C,qCAAgD,CAAF;IACtE,IAAM,aAAa,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,mCAAI,UAAU,CAAC;IAEnD,OAAO,CACL,KAAC,aAAa,aACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,IAAI,IAAI,kBAAkB,EAAE,SAAS,CAAC,IAC9D,IAAI,EACR,CACH,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,WAAsC,CAAC;IAE3C,KAAoB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;QAAvB,IAAM,KAAK,eAAA;QACd,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;SACV;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACxD,SAAS;SACV;QAED,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE;YAC/B,WAAW,GAAG,UAAU,CAAC;SAC1B;KACF;IAED,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,MAAA,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAqB;;IAC1D,OAAO,MAAA,kBAAkB,CAAC,KAAK,CAAC,0CAAE,IAAI,CAAC;AACzC,CAAC","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"]}
@@ -161,7 +161,7 @@ function isSolidIconName(name: string): name is SolidIconName {
161
161
  return Object.prototype.hasOwnProperty.call(ICON_MAP, name);
162
162
  }
163
163
 
164
- export interface SolidIconProps extends React.ComponentPropsWithoutRef<"svg"> {
164
+ export interface SolidIconProps extends React.SVGAttributes<SVGSVGElement> {
165
165
  name: SolidIconName;
166
166
  size?: number | string;
167
167
  spin?: boolean;
@@ -169,20 +169,17 @@ export interface SolidIconProps extends React.ComponentPropsWithoutRef<"svg"> {
169
169
 
170
170
  export const ICON_KEYS = Object.keys(ICON_MAP) as SolidIconName[];
171
171
 
172
- export const SolidIcon = React.forwardRef<SVGSVGElement, SolidIconProps>(
173
- ({ name, size = "1em", spin, className, ...rest }, ref) => {
174
- const IconComponent = ICON_MAP[name] ?? CircleHelp;
175
-
176
- return (
177
- <IconComponent
178
- ref={ref}
179
- size={size}
180
- className={cx("solid-icon", spin && "solid-icon--spin", className)}
181
- {...rest}
182
- />
183
- );
184
- }
185
- );
172
+ export function SolidIcon({ name, size = "1em", spin, className, ...rest }: SolidIconProps) {
173
+ const IconComponent = ICON_MAP[name] ?? CircleHelp;
174
+
175
+ return (
176
+ <IconComponent
177
+ size={size}
178
+ className={cx("solid-icon", spin && "solid-icon--spin", className)}
179
+ {...rest}
180
+ />
181
+ );
182
+ }
186
183
 
187
184
  export type SolidIconMeta = {
188
185
  name: SolidIconName;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRichTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidRichTextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAc,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,2BAA2B,CAAC;AAEnC,KAAK,wBAAwB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAgCF,wBAAgB,mBAAmB,CAAC,EAClC,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,EAAE,EACF,WAAW,EACX,OAAwB,EACxB,OAAwB,EACxB,KAAK,GACN,EAAE,wBAAwB,2CAyF1B"}
1
+ {"version":3,"file":"SolidRichTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidRichTextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAc,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,2BAA2B,CAAC;AAEnC,KAAK,wBAAwB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAgCF,wBAAgB,mBAAmB,CAAC,EAClC,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,EAAE,EACF,WAAW,EACX,OAAwB,EACxB,OAAwB,EACxB,KAAK,GACN,EAAE,wBAAwB,2CAgG1B"}
@@ -32,6 +32,7 @@ var defaultFormats = [
32
32
  ];
33
33
  export function SolidRichTextEditor(_a) {
34
34
  var _b = _a.value, value = _b === void 0 ? "" : _b, onChange = _a.onChange, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, className = _a.className, id = _a.id, placeholder = _a.placeholder, _d = _a.modules, modules = _d === void 0 ? defaultModules : _d, _e = _a.formats, formats = _e === void 0 ? defaultFormats : _e, style = _a.style;
35
+ var parentRef = useRef(null);
35
36
  var containerRef = useRef(null);
36
37
  var quillRef = useRef(null);
37
38
  var lastHtmlRef = useRef("");
@@ -66,8 +67,15 @@ export function SolidRichTextEditor(_a) {
66
67
  };
67
68
  quill.on("text-change", handleChange);
68
69
  return function () {
70
+ var _a;
69
71
  quill.off("text-change", handleChange);
70
72
  quillRef.current = null;
73
+ // Quill creates the toolbar as a sibling to the editor container.
74
+ // We need to remove it specifically to avoid duplication on remount.
75
+ var toolbar = (_a = parentRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(".ql-toolbar");
76
+ if (toolbar) {
77
+ toolbar.remove();
78
+ }
71
79
  };
72
80
  }, []);
73
81
  useEffect(function () {
@@ -104,6 +112,6 @@ export function SolidRichTextEditor(_a) {
104
112
  }
105
113
  quill.root.setAttribute("data-placeholder", placeholder !== null && placeholder !== void 0 ? placeholder : "");
106
114
  }, [placeholder]);
107
- return (_jsx("div", { id: id, className: className, style: style, children: _jsx("div", { ref: containerRef }) }));
115
+ return (_jsx("div", { id: id, className: className, style: style, ref: parentRef, children: _jsx("div", { ref: containerRef }) }));
108
116
  }
109
117
  //# sourceMappingURL=SolidRichTextEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRichTextEditor.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidRichTextEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, type CSSProperties } from \"react\";\nimport Quill, { type QuillOptions } from \"quill\";\nimport \"quill/dist/quill.snow.css\";\n\ntype SolidRichTextEditorProps = {\n value?: string;\n onChange?: (value: string) => void;\n readOnly?: boolean;\n className?: string;\n id?: string;\n placeholder?: string;\n modules?: QuillOptions[\"modules\"];\n formats?: string[] | null;\n style?: CSSProperties;\n};\n\nconst defaultModules: NonNullable<QuillOptions[\"modules\"]> = {\n toolbar: [\n [{ header: [1, 2, 3, false] }],\n [\"bold\", \"italic\", \"underline\", \"strike\"],\n [{ color: [] }, { background: [] }],\n [{ script: \"sub\" }, { script: \"super\" }],\n [{ list: \"ordered\" }, { list: \"bullet\" }],\n [{ indent: \"-1\" }, { indent: \"+1\" }],\n [{ align: [] }],\n [\"link\", \"image\"],\n [\"clean\"],\n ],\n};\n\nconst defaultFormats = [\n \"header\",\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"color\",\n \"background\",\n \"script\",\n \"list\",\n \"indent\",\n \"align\",\n \"link\",\n \"image\",\n];\n\nexport function SolidRichTextEditor({\n value = \"\",\n onChange,\n readOnly = false,\n className,\n id,\n placeholder,\n modules = defaultModules,\n formats = defaultFormats,\n style,\n}: SolidRichTextEditorProps) {\n const containerRef = useRef<HTMLDivElement | null>(null);\n const quillRef = useRef<Quill | null>(null);\n const lastHtmlRef = useRef<string>(\"\");\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n useEffect(() => {\n if (!containerRef.current || quillRef.current) {\n return;\n }\n\n const quill = new Quill(containerRef.current, {\n theme: \"snow\",\n readOnly,\n placeholder,\n modules,\n formats,\n });\n\n quillRef.current = quill;\n\n const initialValue = value ?? \"\";\n const delta = quill.clipboard.convert({ html: initialValue });\n quill.setContents(delta, Quill.sources.SILENT);\n lastHtmlRef.current = initialValue;\n\n const handleChange = (_delta: unknown, _oldContents: unknown, source: string) => {\n if (source !== Quill.sources.USER) {\n return;\n }\n const html = quill.root.innerHTML;\n lastHtmlRef.current = html;\n onChangeRef.current?.(html);\n };\n\n quill.on(\"text-change\", handleChange);\n\n return () => {\n quill.off(\"text-change\", handleChange);\n quillRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n const quill = quillRef.current;\n if (!quill) {\n return;\n }\n const normalizedHtml = value ?? \"\";\n if (normalizedHtml === lastHtmlRef.current) {\n return;\n }\n\n const selection = quill.getSelection();\n const delta = quill.clipboard.convert({ html: normalizedHtml });\n quill.setContents(delta, Quill.sources.SILENT);\n if (selection) {\n const index = Math.min(selection.index, quill.getLength());\n const length = selection.length ?? 0;\n quill.setSelection(index, length, Quill.sources.SILENT);\n }\n lastHtmlRef.current = normalizedHtml;\n }, [value]);\n\n useEffect(() => {\n const quill = quillRef.current;\n if (!quill) {\n return;\n }\n quill.enable(!readOnly);\n }, [readOnly]);\n\n useEffect(() => {\n const quill = quillRef.current;\n if (!quill) {\n return;\n }\n quill.root.setAttribute(\"data-placeholder\", placeholder ?? \"\");\n }, [placeholder]);\n\n return (\n <div id={id} className={className} style={style}>\n <div ref={containerRef} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidRichTextEditor.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidRichTextEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, type CSSProperties } from \"react\";\nimport Quill, { type QuillOptions } from \"quill\";\nimport \"quill/dist/quill.snow.css\";\n\ntype SolidRichTextEditorProps = {\n value?: string;\n onChange?: (value: string) => void;\n readOnly?: boolean;\n className?: string;\n id?: string;\n placeholder?: string;\n modules?: QuillOptions[\"modules\"];\n formats?: string[] | null;\n style?: CSSProperties;\n};\n\nconst defaultModules: NonNullable<QuillOptions[\"modules\"]> = {\n toolbar: [\n [{ header: [1, 2, 3, false] }],\n [\"bold\", \"italic\", \"underline\", \"strike\"],\n [{ color: [] }, { background: [] }],\n [{ script: \"sub\" }, { script: \"super\" }],\n [{ list: \"ordered\" }, { list: \"bullet\" }],\n [{ indent: \"-1\" }, { indent: \"+1\" }],\n [{ align: [] }],\n [\"link\", \"image\"],\n [\"clean\"],\n ],\n};\n\nconst defaultFormats = [\n \"header\",\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"color\",\n \"background\",\n \"script\",\n \"list\",\n \"indent\",\n \"align\",\n \"link\",\n \"image\",\n];\n\nexport function SolidRichTextEditor({\n value = \"\",\n onChange,\n readOnly = false,\n className,\n id,\n placeholder,\n modules = defaultModules,\n formats = defaultFormats,\n style,\n}: SolidRichTextEditorProps) {\n const parentRef = useRef<HTMLDivElement | null>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const quillRef = useRef<Quill | null>(null);\n const lastHtmlRef = useRef<string>(\"\");\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n useEffect(() => {\n if (!containerRef.current || quillRef.current) {\n return;\n }\n\n const quill = new Quill(containerRef.current, {\n theme: \"snow\",\n readOnly,\n placeholder,\n modules,\n formats,\n });\n\n quillRef.current = quill;\n\n const initialValue = value ?? \"\";\n const delta = quill.clipboard.convert({ html: initialValue });\n quill.setContents(delta, Quill.sources.SILENT);\n lastHtmlRef.current = initialValue;\n\n const handleChange = (_delta: unknown, _oldContents: unknown, source: string) => {\n if (source !== Quill.sources.USER) {\n return;\n }\n const html = quill.root.innerHTML;\n lastHtmlRef.current = html;\n onChangeRef.current?.(html);\n };\n\n quill.on(\"text-change\", handleChange);\n\n return () => {\n quill.off(\"text-change\", handleChange);\n quillRef.current = null;\n // Quill creates the toolbar as a sibling to the editor container.\n // We need to remove it specifically to avoid duplication on remount.\n const toolbar = parentRef.current?.querySelector(\".ql-toolbar\");\n if (toolbar) {\n toolbar.remove();\n }\n };\n }, []);\n\n useEffect(() => {\n const quill = quillRef.current;\n if (!quill) {\n return;\n }\n const normalizedHtml = value ?? \"\";\n if (normalizedHtml === lastHtmlRef.current) {\n return;\n }\n\n const selection = quill.getSelection();\n const delta = quill.clipboard.convert({ html: normalizedHtml });\n quill.setContents(delta, Quill.sources.SILENT);\n if (selection) {\n const index = Math.min(selection.index, quill.getLength());\n const length = selection.length ?? 0;\n quill.setSelection(index, length, Quill.sources.SILENT);\n }\n lastHtmlRef.current = normalizedHtml;\n }, [value]);\n\n useEffect(() => {\n const quill = quillRef.current;\n if (!quill) {\n return;\n }\n quill.enable(!readOnly);\n }, [readOnly]);\n\n useEffect(() => {\n const quill = quillRef.current;\n if (!quill) {\n return;\n }\n quill.root.setAttribute(\"data-placeholder\", placeholder ?? \"\");\n }, [placeholder]);\n\n return (\n <div id={id} className={className} style={style} ref={parentRef}>\n <div ref={containerRef} />\n </div>\n );\n}\n"]}
@@ -55,6 +55,7 @@ export function SolidRichTextEditor({
55
55
  formats = defaultFormats,
56
56
  style,
57
57
  }: SolidRichTextEditorProps) {
58
+ const parentRef = useRef<HTMLDivElement | null>(null);
58
59
  const containerRef = useRef<HTMLDivElement | null>(null);
59
60
  const quillRef = useRef<Quill | null>(null);
60
61
  const lastHtmlRef = useRef<string>("");
@@ -98,6 +99,12 @@ export function SolidRichTextEditor({
98
99
  return () => {
99
100
  quill.off("text-change", handleChange);
100
101
  quillRef.current = null;
102
+ // Quill creates the toolbar as a sibling to the editor container.
103
+ // We need to remove it specifically to avoid duplication on remount.
104
+ const toolbar = parentRef.current?.querySelector(".ql-toolbar");
105
+ if (toolbar) {
106
+ toolbar.remove();
107
+ }
101
108
  };
102
109
  }, []);
103
110
 
@@ -139,7 +146,7 @@ export function SolidRichTextEditor({
139
146
  }, [placeholder]);
140
147
 
141
148
  return (
142
- <div id={id} className={className} style={style}>
149
+ <div id={id} className={className} style={style} ref={parentRef}>
143
150
  <div ref={containerRef} />
144
151
  </div>
145
152
  );
@@ -13,9 +13,10 @@ type SolidTabGroupProps = {
13
13
  listClassName?: string;
14
14
  panelClassName?: string;
15
15
  tabPosition?: "left" | "center" | "right";
16
+ orientation?: "horizontal" | "vertical";
16
17
  extra?: React.ReactNode;
17
18
  };
18
19
  export declare function SolidTab(_props: SolidTabProps): null;
19
- export declare function SolidTabGroup({ tabs, value, onValueChange, className, listClassName, panelClassName, tabPosition, extra, }: SolidTabGroupProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function SolidTabGroup({ tabs, value, onValueChange, className, listClassName, panelClassName, tabPosition, orientation, extra, }: SolidTabGroupProps): import("react/jsx-runtime").JSX.Element;
20
21
  export {};
21
22
  //# sourceMappingURL=SolidTabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidTabs.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC1C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAMF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,QAE7C;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAoB,EACpB,KAAK,GACN,EAAE,kBAAkB,2CAqDpB"}
1
+ {"version":3,"file":"SolidTabs.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAMF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,QAE7C;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAoB,EACpB,WAA0B,EAC1B,KAAK,GACN,EAAE,kBAAkB,2CAwFpB"}
@@ -10,11 +10,14 @@ export function SolidTab(_props) {
10
10
  return null;
11
11
  }
12
12
  export function SolidTabGroup(_a) {
13
- var tabs = _a.tabs, value = _a.value, onValueChange = _a.onValueChange, className = _a.className, listClassName = _a.listClassName, panelClassName = _a.panelClassName, _b = _a.tabPosition, tabPosition = _b === void 0 ? "left" : _b, extra = _a.extra;
14
- return (_jsxs("div", { className: cx("solid-notebook", "solid-tabs", "solid-tabs--".concat(tabPosition), className), children: [_jsxs("div", { className: cx("solid-notebook-tablist", "solid-tabs-list", listClassName), role: "tablist", style: extra ? { display: "flex", alignItems: "center", justifyContent: "space-between" } : undefined, children: [_jsx("div", { style: extra ? { display: "flex" } : undefined, children: tabs.map(function (tab) {
13
+ var tabs = _a.tabs, value = _a.value, onValueChange = _a.onValueChange, className = _a.className, listClassName = _a.listClassName, panelClassName = _a.panelClassName, _b = _a.tabPosition, tabPosition = _b === void 0 ? "left" : _b, _c = _a.orientation, orientation = _c === void 0 ? "horizontal" : _c, extra = _a.extra;
14
+ return (_jsxs("div", { className: cx("solid-notebook", "solid-tabs", "solid-tabs--".concat(tabPosition), orientation === "vertical" && "solid-tabs--vertical", className), children: [_jsxs("div", { className: cx("solid-notebook-tablist", "solid-tabs-list", listClassName), role: "tablist", "aria-orientation": orientation, style: extra ? { display: "flex", alignItems: "center", justifyContent: "space-between" } : undefined, children: [extra ? (_jsx("div", { style: { display: "flex" }, children: tabs.map(function (tab) {
15
15
  var isActive = tab.value === value;
16
16
  return (_jsx("button", { type: "button", role: "tab", "aria-selected": isActive, "aria-controls": "solid-tab-panel-".concat(tab.value), id: "solid-tab-".concat(tab.value), className: cx("solid-notebook-tab-trigger", "solid-tabs-trigger", tab.hasError && "error", isActive && "active", isActive && "is-active"), onClick: function () { return onValueChange(tab.value); }, children: tab.label }, tab.value));
17
- }) }), extra && _jsx("div", { children: extra })] }), tabs.map(function (tab) {
17
+ }) })) : (tabs.map(function (tab) {
18
+ var isActive = tab.value === value;
19
+ return (_jsx("button", { type: "button", role: "tab", "aria-selected": isActive, "aria-controls": "solid-tab-panel-".concat(tab.value), id: "solid-tab-".concat(tab.value), className: cx("solid-notebook-tab-trigger", "solid-tabs-trigger", tab.hasError && "error", isActive && "active", isActive && "is-active"), onClick: function () { return onValueChange(tab.value); }, children: tab.label }, tab.value));
20
+ })), extra && _jsx("div", { children: extra })] }), tabs.map(function (tab) {
18
21
  var isActive = tab.value === value;
19
22
  return (_jsx("div", { role: "tabpanel", id: "solid-tab-panel-".concat(tab.value), "aria-labelledby": "solid-tab-".concat(tab.value), hidden: !isActive, className: cx("solid-notebook-content", "solid-tabs-panel", panelClassName), children: isActive ? tab.content : null }, tab.value));
20
23
  })] }));