@lssm/lib.design-system 1.7.4 → 1.9.1

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 (340) hide show
  1. package/README.md +99 -0
  2. package/dist/_virtual/rolldown_runtime.js +21 -12
  3. package/dist/components/agent/AgentMonitor.d.ts +29 -0
  4. package/dist/components/agent/AgentMonitor.d.ts.map +1 -0
  5. package/dist/components/agent/AgentMonitor.js +79 -0
  6. package/dist/components/agent/AgentMonitor.js.map +1 -0
  7. package/dist/components/agent/ApprovalQueue.d.ts +26 -0
  8. package/dist/components/agent/ApprovalQueue.d.ts.map +1 -0
  9. package/dist/components/agent/ApprovalQueue.js +89 -0
  10. package/dist/components/agent/ApprovalQueue.js.map +1 -0
  11. package/dist/components/atoms/ActionButtons.d.ts +7 -7
  12. package/dist/components/atoms/ActionButtons.js +2 -2
  13. package/dist/components/atoms/ActionButtons.js.map +1 -1
  14. package/dist/components/atoms/Button.d.ts +2 -2
  15. package/dist/components/atoms/Button.d.ts.map +1 -1
  16. package/dist/components/atoms/Button.js +1 -1
  17. package/dist/components/atoms/Button.js.map +1 -1
  18. package/dist/components/atoms/Button.mobile.d.ts +2 -2
  19. package/dist/components/atoms/Button.mobile.js +1 -1
  20. package/dist/components/atoms/Button.mobile.js.map +1 -1
  21. package/dist/components/atoms/ButtonLink.d.ts +2 -2
  22. package/dist/components/atoms/ButtonLink.d.ts.map +1 -1
  23. package/dist/components/atoms/ButtonLink.js +1 -2
  24. package/dist/components/atoms/ButtonLink.js.map +1 -1
  25. package/dist/components/atoms/ButtonLink.mobile.d.ts +2 -2
  26. package/dist/components/atoms/ButtonLink.mobile.d.ts.map +1 -1
  27. package/dist/components/atoms/ButtonLink.mobile.js +1 -1
  28. package/dist/components/atoms/ButtonLink.mobile.js.map +1 -1
  29. package/dist/components/atoms/Cta.d.ts +1 -1
  30. package/dist/components/atoms/Cta.js +1 -1
  31. package/dist/components/atoms/Cta.js.map +1 -1
  32. package/dist/components/atoms/Cta.mobile.js +1 -2
  33. package/dist/components/atoms/Cta.mobile.js.map +1 -1
  34. package/dist/components/atoms/DataChips.d.ts +5 -5
  35. package/dist/components/atoms/DataChips.js +4 -4
  36. package/dist/components/atoms/DataChips.js.map +1 -1
  37. package/dist/components/atoms/EmptyState.d.ts +2 -2
  38. package/dist/components/atoms/EmptyState.js +0 -1
  39. package/dist/components/atoms/EmptyState.js.map +1 -1
  40. package/dist/components/atoms/ErrorState.d.ts +2 -2
  41. package/dist/components/atoms/ErrorState.d.ts.map +1 -1
  42. package/dist/components/atoms/ErrorState.mobile.d.ts +2 -2
  43. package/dist/components/atoms/Input.d.ts +2 -2
  44. package/dist/components/atoms/Input.js +1 -1
  45. package/dist/components/atoms/Input.js.map +1 -1
  46. package/dist/components/atoms/Input.mobile.d.ts +2 -2
  47. package/dist/components/atoms/Input.mobile.d.ts.map +1 -1
  48. package/dist/components/atoms/Input.mobile.js +1 -1
  49. package/dist/components/atoms/Input.mobile.js.map +1 -1
  50. package/dist/components/atoms/Link.d.ts +2 -2
  51. package/dist/components/atoms/Link.d.ts.map +1 -1
  52. package/dist/components/atoms/Link.js +1 -1
  53. package/dist/components/atoms/Link.js.map +1 -1
  54. package/dist/components/atoms/Link.web.d.ts +2 -2
  55. package/dist/components/atoms/Link.web.d.ts.map +1 -1
  56. package/dist/components/atoms/Link.web.js +1 -1
  57. package/dist/components/atoms/Link.web.js.map +1 -1
  58. package/dist/components/atoms/LoaderCircular.d.ts +4 -4
  59. package/dist/components/atoms/LoaderCircular.d.ts.map +1 -1
  60. package/dist/components/atoms/LoaderCircular.js +1 -1
  61. package/dist/components/atoms/LoaderCircular.js.map +1 -1
  62. package/dist/components/atoms/LoaderCircular.mobile.d.ts +2 -2
  63. package/dist/components/atoms/LoaderCircular.mobile.d.ts.map +1 -1
  64. package/dist/components/atoms/NavBrand.d.ts +2 -2
  65. package/dist/components/atoms/NavBrand.js +0 -1
  66. package/dist/components/atoms/NavBrand.js.map +1 -1
  67. package/dist/components/atoms/Stepper.d.ts +2 -2
  68. package/dist/components/atoms/Stepper.js +0 -1
  69. package/dist/components/atoms/Stepper.js.map +1 -1
  70. package/dist/components/atoms/Textarea.d.ts +2 -2
  71. package/dist/components/atoms/Textarea.js +1 -1
  72. package/dist/components/atoms/Textarea.js.map +1 -1
  73. package/dist/components/atoms/Textarea.mobile.d.ts +2 -2
  74. package/dist/components/atoms/Textarea.mobile.js +1 -1
  75. package/dist/components/atoms/Textarea.mobile.js.map +1 -1
  76. package/dist/components/data-view/DataViewDetail.d.ts +2 -2
  77. package/dist/components/data-view/DataViewDetail.js +9 -10
  78. package/dist/components/data-view/DataViewDetail.js.map +1 -1
  79. package/dist/components/data-view/DataViewList.d.ts +2 -2
  80. package/dist/components/data-view/DataViewList.js +5 -6
  81. package/dist/components/data-view/DataViewList.js.map +1 -1
  82. package/dist/components/data-view/DataViewRenderer.d.ts +19 -3
  83. package/dist/components/data-view/DataViewRenderer.d.ts.map +1 -1
  84. package/dist/components/data-view/DataViewRenderer.js +128 -50
  85. package/dist/components/data-view/DataViewRenderer.js.map +1 -1
  86. package/dist/components/data-view/DataViewTable.d.ts +2 -2
  87. package/dist/components/data-view/DataViewTable.js +9 -10
  88. package/dist/components/data-view/DataViewTable.js.map +1 -1
  89. package/dist/components/data-view/utils.js +0 -1
  90. package/dist/components/data-view/utils.js.map +1 -1
  91. package/dist/components/forms/FormCardLayout.d.ts +2 -2
  92. package/dist/components/forms/FormDialog.d.ts +2 -2
  93. package/dist/components/forms/FormDialog.js +0 -1
  94. package/dist/components/forms/FormDialog.js.map +1 -1
  95. package/dist/components/forms/FormLayout.d.ts +4 -4
  96. package/dist/components/forms/FormLayout.js +0 -1
  97. package/dist/components/forms/FormLayout.js.map +1 -1
  98. package/dist/components/forms/FormOneByOneLayout.d.ts +2 -2
  99. package/dist/components/forms/FormStepsLayout.d.ts +2 -2
  100. package/dist/components/forms/FormStepsLayout.d.ts.map +1 -1
  101. package/dist/components/forms/ZodForm.d.ts +2 -2
  102. package/dist/components/forms/ZodForm.js +0 -1
  103. package/dist/components/forms/ZodForm.js.map +1 -1
  104. package/dist/components/legal/atoms/DefinitionList.d.ts +2 -2
  105. package/dist/components/legal/atoms/KeyValueList.d.ts +2 -2
  106. package/dist/components/legal/atoms/LegalCallout.d.ts +4 -4
  107. package/dist/components/legal/atoms/LegalCallout.d.ts.map +1 -1
  108. package/dist/components/legal/atoms/LegalCallout.js +1 -1
  109. package/dist/components/legal/atoms/LegalCallout.js.map +1 -1
  110. package/dist/components/legal/atoms/LegalHeading.d.ts +5 -5
  111. package/dist/components/legal/atoms/LegalHeading.d.ts.map +1 -1
  112. package/dist/components/legal/atoms/LegalHeading.js +1 -1
  113. package/dist/components/legal/atoms/LegalHeading.js.map +1 -1
  114. package/dist/components/legal/atoms/LegalList.d.ts +4 -4
  115. package/dist/components/legal/atoms/LegalList.js +1 -1
  116. package/dist/components/legal/atoms/LegalList.js.map +1 -1
  117. package/dist/components/legal/atoms/LegalSection.d.ts +4 -4
  118. package/dist/components/legal/atoms/LegalSection.d.ts.map +1 -1
  119. package/dist/components/legal/atoms/LegalSection.js +1 -1
  120. package/dist/components/legal/atoms/LegalSection.js.map +1 -1
  121. package/dist/components/legal/atoms/LegalText.d.ts +6 -6
  122. package/dist/components/legal/atoms/LegalText.d.ts.map +1 -1
  123. package/dist/components/legal/atoms/LegalText.js +1 -1
  124. package/dist/components/legal/atoms/LegalText.js.map +1 -1
  125. package/dist/components/legal/molecules/Consent.d.ts +3 -3
  126. package/dist/components/legal/molecules/Consent.d.ts.map +1 -1
  127. package/dist/components/legal/molecules/ContactFields.d.ts +2 -2
  128. package/dist/components/legal/molecules/LegalMeta.d.ts +2 -2
  129. package/dist/components/legal/molecules/LegalMeta.d.ts.map +1 -1
  130. package/dist/components/legal/molecules/LegalTOC.d.ts +4 -4
  131. package/dist/components/legal/molecules/LegalTOC.d.ts.map +1 -1
  132. package/dist/components/legal/molecules/LegalTOC.js +1 -1
  133. package/dist/components/legal/molecules/LegalTOC.js.map +1 -1
  134. package/dist/components/legal/organisms/ContactForm.d.ts +2 -2
  135. package/dist/components/legal/organisms/ContactForm.d.ts.map +1 -1
  136. package/dist/components/legal/organisms/GDPRDataRequest.d.ts +2 -2
  137. package/dist/components/legal/organisms/GDPRDataRequest.d.ts.map +1 -1
  138. package/dist/components/legal/organisms/GDPRRights.d.ts +2 -2
  139. package/dist/components/legal/organisms/GDPRRights.d.ts.map +1 -1
  140. package/dist/components/legal/organisms/LegalPageLayout.d.ts +2 -2
  141. package/dist/components/legal/templates/ContactTemplate.d.ts +2 -2
  142. package/dist/components/legal/templates/ContactTemplate.d.ts.map +1 -1
  143. package/dist/components/legal/templates/CookiesTemplate.d.ts +2 -2
  144. package/dist/components/legal/templates/PrivacyTemplate.d.ts +2 -2
  145. package/dist/components/legal/templates/SalesTermsTemplate.d.ts +2 -2
  146. package/dist/components/legal/templates/SalesTermsTemplate.d.ts.map +1 -1
  147. package/dist/components/legal/templates/TermsTemplate.d.ts +2 -2
  148. package/dist/components/legal/templates/TermsTemplate.d.ts.map +1 -1
  149. package/dist/components/legal/templates/TermsTemplate.js +0 -1
  150. package/dist/components/legal/templates/TermsTemplate.js.map +1 -1
  151. package/dist/components/molecules/AiLinkButton.d.ts +2 -2
  152. package/dist/components/molecules/AiLinkButton.d.ts.map +1 -1
  153. package/dist/components/molecules/Breadcrumbs.d.ts +2 -2
  154. package/dist/components/molecules/Breadcrumbs.js +0 -1
  155. package/dist/components/molecules/Breadcrumbs.js.map +1 -1
  156. package/dist/components/molecules/CommandPalette.d.ts +2 -2
  157. package/dist/components/molecules/CommandPalette.js +0 -1
  158. package/dist/components/molecules/CommandPalette.js.map +1 -1
  159. package/dist/components/molecules/CommandSearchTrigger.d.ts +2 -2
  160. package/dist/components/molecules/CommandSearchTrigger.js +0 -1
  161. package/dist/components/molecules/CommandSearchTrigger.js.map +1 -1
  162. package/dist/components/molecules/EntityCard.d.ts +5 -5
  163. package/dist/components/molecules/EntityCard.js +1 -2
  164. package/dist/components/molecules/EntityCard.js.map +1 -1
  165. package/dist/components/molecules/FiltersToolbar.d.ts +2 -2
  166. package/dist/components/molecules/FiltersToolbar.mobile.d.ts +2 -2
  167. package/dist/components/molecules/HoverPreview.d.ts +2 -2
  168. package/dist/components/molecules/HoverPreview.js +0 -1
  169. package/dist/components/molecules/HoverPreview.js.map +1 -1
  170. package/dist/components/molecules/LangSwitch.d.ts +2 -2
  171. package/dist/components/molecules/LangSwitch.js +0 -1
  172. package/dist/components/molecules/LangSwitch.js.map +1 -1
  173. package/dist/components/molecules/LangSwitchDropdown.d.ts +2 -2
  174. package/dist/components/molecules/LoaderBlock.d.ts +2 -2
  175. package/dist/components/molecules/LoaderBlock.mobile.d.ts +2 -2
  176. package/dist/components/molecules/MobileNavMenu.d.ts +2 -2
  177. package/dist/components/molecules/MobileNavMenu.js +0 -1
  178. package/dist/components/molecules/MobileNavMenu.js.map +1 -1
  179. package/dist/components/molecules/NavItemCard.d.ts +2 -2
  180. package/dist/components/molecules/NavItemCard.d.ts.map +1 -1
  181. package/dist/components/molecules/NavItemCard.js +0 -1
  182. package/dist/components/molecules/NavItemCard.js.map +1 -1
  183. package/dist/components/molecules/NavMain.d.ts +2 -2
  184. package/dist/components/molecules/NavUser.d.ts +2 -2
  185. package/dist/components/molecules/OverviewCard.d.ts +2 -2
  186. package/dist/components/molecules/OverviewCard.d.ts.map +1 -1
  187. package/dist/components/molecules/OverviewCard.js +0 -1
  188. package/dist/components/molecules/OverviewCard.js.map +1 -1
  189. package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts +2 -2
  190. package/dist/components/molecules/SkeletonBlock/index.web.d.ts +2 -2
  191. package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts +2 -2
  192. package/dist/components/molecules/SkeletonCircle/index.web.d.ts +2 -2
  193. package/dist/components/molecules/SkeletonList/index.mobile.d.ts +2 -2
  194. package/dist/components/molecules/SkeletonList/index.web.d.ts +2 -2
  195. package/dist/components/molecules/StatCard.d.ts +6 -6
  196. package/dist/components/molecules/StatCard.d.ts.map +1 -1
  197. package/dist/components/molecules/StatCard.js +1 -2
  198. package/dist/components/molecules/StatCard.js.map +1 -1
  199. package/dist/components/molecules/StatusChip.d.ts +4 -4
  200. package/dist/components/molecules/StatusChip.d.ts.map +1 -1
  201. package/dist/components/molecules/StatusChip.js +1 -2
  202. package/dist/components/molecules/StatusChip.js.map +1 -1
  203. package/dist/components/molecules/hover-previews/Doc.d.ts +2 -2
  204. package/dist/components/molecules/hover-previews/Doc.js +0 -1
  205. package/dist/components/molecules/hover-previews/Doc.js.map +1 -1
  206. package/dist/components/molecules/hover-previews/Media.d.ts +2 -2
  207. package/dist/components/molecules/hover-previews/Media.js +0 -1
  208. package/dist/components/molecules/hover-previews/Media.js.map +1 -1
  209. package/dist/components/molecules/hover-previews/Simple.d.ts +2 -2
  210. package/dist/components/molecules/hover-previews/Simple.js +0 -1
  211. package/dist/components/molecules/hover-previews/Simple.js.map +1 -1
  212. package/dist/components/molecules/hover-previews/Stats.d.ts +2 -2
  213. package/dist/components/molecules/hover-previews/Stats.js +0 -1
  214. package/dist/components/molecules/hover-previews/Stats.js.map +1 -1
  215. package/dist/components/molecules/hover-previews/User.d.ts +2 -2
  216. package/dist/components/molecules/hover-previews/User.js +0 -1
  217. package/dist/components/molecules/hover-previews/User.js.map +1 -1
  218. package/dist/components/native/BottomTabs.mobile.d.ts +2 -2
  219. package/dist/components/native/BottomTabs.mobile.d.ts.map +1 -1
  220. package/dist/components/native/BottomTabs.mobile.js +0 -1
  221. package/dist/components/native/BottomTabs.mobile.js.map +1 -1
  222. package/dist/components/native/FlatListScreen.mobile.d.ts +5 -5
  223. package/dist/components/native/FlatListScreen.mobile.d.ts.map +1 -1
  224. package/dist/components/native/FlatListScreen.mobile.js +1 -2
  225. package/dist/components/native/FlatListScreen.mobile.js.map +1 -1
  226. package/dist/components/native/SheetMenu.mobile.d.ts +2 -2
  227. package/dist/components/native/SheetMenu.mobile.d.ts.map +1 -1
  228. package/dist/components/native/SheetMenu.mobile.js +0 -1
  229. package/dist/components/native/SheetMenu.mobile.js.map +1 -1
  230. package/dist/components/organisms/AcademyLayout.d.ts +2 -2
  231. package/dist/components/organisms/AcademyLayout.js +0 -1
  232. package/dist/components/organisms/AcademyLayout.js.map +1 -1
  233. package/dist/components/organisms/AppHeader.d.ts +2 -2
  234. package/dist/components/organisms/AppHeader.d.ts.map +1 -1
  235. package/dist/components/organisms/AppHeader.js +1 -2
  236. package/dist/components/organisms/AppHeader.js.map +1 -1
  237. package/dist/components/organisms/AppHeader.mobile.d.ts +2 -2
  238. package/dist/components/organisms/AppHeader.mobile.d.ts.map +1 -1
  239. package/dist/components/organisms/AppHeader.mobile.js +0 -1
  240. package/dist/components/organisms/AppHeader.mobile.js.map +1 -1
  241. package/dist/components/organisms/AppLayout.d.ts +2 -2
  242. package/dist/components/organisms/AppLayout.js +0 -1
  243. package/dist/components/organisms/AppLayout.js.map +1 -1
  244. package/dist/components/organisms/AppSidebar.d.ts +2 -2
  245. package/dist/components/organisms/EmptyDataList.d.ts +2 -2
  246. package/dist/components/organisms/EmptyDataList.d.ts.map +1 -1
  247. package/dist/components/organisms/EmptyDataList.mobile.d.ts +2 -2
  248. package/dist/components/organisms/EmptySearchResult.d.ts +2 -2
  249. package/dist/components/organisms/FAQSection.d.ts +2 -2
  250. package/dist/components/organisms/FeatureCarousel.d.ts +2 -2
  251. package/dist/components/organisms/FeatureCarousel.js +1 -1
  252. package/dist/components/organisms/FeaturesSection.d.ts +2 -2
  253. package/dist/components/organisms/Footer.d.ts +2 -2
  254. package/dist/components/organisms/GridLayout.d.ts +4 -4
  255. package/dist/components/organisms/GridLayout.d.ts.map +1 -1
  256. package/dist/components/organisms/Header.d.ts +4 -4
  257. package/dist/components/organisms/Header.d.ts.map +1 -1
  258. package/dist/components/organisms/Header.js +0 -1
  259. package/dist/components/organisms/Header.js.map +1 -1
  260. package/dist/components/organisms/Header.mobile.d.ts +2 -2
  261. package/dist/components/organisms/Header.mobile.js +0 -1
  262. package/dist/components/organisms/Header.mobile.js.map +1 -1
  263. package/dist/components/organisms/HeroResponsive.d.ts +2 -2
  264. package/dist/components/organisms/HeroResponsive.d.ts.map +1 -1
  265. package/dist/components/organisms/HeroResponsive.js +0 -1
  266. package/dist/components/organisms/HeroResponsive.js.map +1 -1
  267. package/dist/components/organisms/HeroSection.d.ts +2 -2
  268. package/dist/components/organisms/HeroSection.d.ts.map +1 -1
  269. package/dist/components/organisms/ListCardPage.d.ts +5 -5
  270. package/dist/components/organisms/ListCardPage.js +0 -1
  271. package/dist/components/organisms/ListCardPage.js.map +1 -1
  272. package/dist/components/organisms/ListGridPage.d.ts +2 -2
  273. package/dist/components/organisms/ListGridPage.js +0 -1
  274. package/dist/components/organisms/ListGridPage.js.map +1 -1
  275. package/dist/components/organisms/ListPageResponsive.d.ts +2 -2
  276. package/dist/components/organisms/ListPageResponsive.d.ts.map +1 -1
  277. package/dist/components/organisms/ListPageResponsive.js +0 -1
  278. package/dist/components/organisms/ListPageResponsive.js.map +1 -1
  279. package/dist/components/organisms/ListTablePage.d.ts +4 -4
  280. package/dist/components/organisms/ListTablePage.d.ts.map +1 -1
  281. package/dist/components/organisms/ListTablePage.js +0 -1
  282. package/dist/components/organisms/ListTablePage.js.map +1 -1
  283. package/dist/components/organisms/MarketingHeader.d.ts +2 -2
  284. package/dist/components/organisms/MarketingHeader.js +0 -1
  285. package/dist/components/organisms/MarketingHeader.js.map +1 -1
  286. package/dist/components/organisms/MarketingHeaderDesktop.d.ts +2 -2
  287. package/dist/components/organisms/MarketingHeaderDesktop.js +0 -1
  288. package/dist/components/organisms/MarketingHeaderDesktop.js.map +1 -1
  289. package/dist/components/organisms/MarketingHeaderMobile.d.ts +2 -2
  290. package/dist/components/organisms/MarketingHeaderMobile.d.ts.map +1 -1
  291. package/dist/components/organisms/MarketingHeaderMobile.js +0 -1
  292. package/dist/components/organisms/MarketingHeaderMobile.js.map +1 -1
  293. package/dist/components/organisms/MarketingLayout.d.ts +2 -2
  294. package/dist/components/organisms/MarketingLayout.js +0 -1
  295. package/dist/components/organisms/MarketingLayout.js.map +1 -1
  296. package/dist/components/organisms/PageHeaderResponsive.d.ts +2 -2
  297. package/dist/components/organisms/PageHeaderResponsive.js +0 -1
  298. package/dist/components/organisms/PageHeaderResponsive.js.map +1 -1
  299. package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts +2 -2
  300. package/dist/components/organisms/PageHeaderResponsive.mobile.js +0 -1
  301. package/dist/components/organisms/PageHeaderResponsive.mobile.js.map +1 -1
  302. package/dist/components/organisms/PricingCarousel.d.ts +2 -2
  303. package/dist/components/organisms/PricingCarousel.js +1 -1
  304. package/dist/components/organisms/PricingSection.d.ts +2 -2
  305. package/dist/components/organisms/PricingSection.d.ts.map +1 -1
  306. package/dist/components/organisms/TestimonialCarousel.d.ts +2 -2
  307. package/dist/components/organisms/TestimonialCarousel.js +1 -1
  308. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts +2 -2
  309. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts.map +1 -1
  310. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +2 -2
  311. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts.map +1 -1
  312. package/dist/index.d.ts +3 -1
  313. package/dist/index.js +3 -1
  314. package/dist/index.js.map +1 -1
  315. package/dist/platform/useColorScheme.js +0 -1
  316. package/dist/platform/useColorScheme.js.map +1 -1
  317. package/dist/platform/useColorScheme.mobile.js +0 -1
  318. package/dist/platform/useColorScheme.mobile.js.map +1 -1
  319. package/dist/platform/useReducedMotion.js +0 -1
  320. package/dist/platform/useReducedMotion.js.map +1 -1
  321. package/dist/platform/useReducedMotion.mobile.js +0 -1
  322. package/dist/platform/useReducedMotion.mobile.js.map +1 -1
  323. package/dist/platform/useResponsive.js +0 -1
  324. package/dist/platform/useResponsive.js.map +1 -1
  325. package/dist/platform/useResponsive.mobile.js +0 -1
  326. package/dist/platform/useResponsive.mobile.js.map +1 -1
  327. package/dist/platform/withPlatformUI.js +0 -1
  328. package/dist/platform/withPlatformUI.js.map +1 -1
  329. package/dist/renderers/form-contract.d.ts +2 -2
  330. package/dist/renderers/form-contract.js +1 -2
  331. package/dist/renderers/form-contract.js.map +1 -1
  332. package/dist/theme/tokenBridge.d.ts.map +1 -1
  333. package/dist/theme/tokenBridge.js +0 -1
  334. package/dist/theme/tokenBridge.js.map +1 -1
  335. package/dist/theme/tokens.js +0 -1
  336. package/dist/theme/tokens.js.map +1 -1
  337. package/dist/theme/variants.d.ts +1 -1
  338. package/dist/theme/variants.js +0 -1
  339. package/dist/theme/variants.js.map +1 -1
  340. package/package.json +10 -7
package/README.md ADDED
@@ -0,0 +1,99 @@
1
+ # @lssm/lib.design-system
2
+
3
+ High-level design system components, patterns, and layouts for LSSM applications. Built on top of `@lssm/lib.ui-kit`.
4
+
5
+ ## Purpose
6
+
7
+ To standardize the look and feel of LSSM applications by providing:
8
+
9
+ - **Composite Components**: Molecules and Organisms that solve common UI problems (headers, sidebars, cards).
10
+ - **Layouts**: Ready-to-use page structures for dashboards, marketing sites, and lists.
11
+ - **Data Views**: Standardized renderers for lists, tables, and details views.
12
+ - **Forms**: Zod-integrated form layouts and components.
13
+ - **Platform Utilities**: Hooks and helpers for responsive and adaptive design (Mobile/Web).
14
+ - **Legal**: Compliant templates for Terms, Privacy, and GDPR.
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install @lssm/lib.design-system
20
+ # or
21
+ bun add @lssm/lib.design-system
22
+ ```
23
+
24
+ ## Key Concepts
25
+
26
+ - **Platform Agnostic Logic**: Business logic hooks are shared where possible.
27
+ - **Platform Specific UI**: `.mobile.ts(x)` and `.web.ts(x)` extensions allow for tailored experiences while maintaining a unified API.
28
+ - **Contract-Driven**: Components like `DataViewRenderer` and `ZodForm` are designed to work directly with `ContractSpec` definitions.
29
+ - **Theming**: Centralized token bridge and variant definitions.
30
+
31
+ ## Exports
32
+
33
+ ### Atoms & Molecules
34
+
35
+ - `Button`, `Input`, `Link` (Platform-aware wrappers)
36
+ - `ActionButtons`, `DataChips`, `EmptyState`, `ErrorState`
37
+ - `Breadcrumbs`, `CommandPalette`, `DropdownMenu`, `EntityCard`
38
+ - `FiltersToolbar`, `LangSwitch`, `LoaderBlock`, `StatCard`
39
+
40
+ ### Organisms (Complex UI)
41
+
42
+ - **App Shell**: `AppLayout`, `AppHeader`, `AppSidebar`, `Footer`
43
+ - **Marketing**: `MarketingLayout`, `HeroSection`, `FeaturesSection`, `PricingSection`
44
+ - **Lists**: `ListCardPage`, `ListGridPage`, `ListTablePage`
45
+ - **Legal**: `LegalPageLayout`, `GDPRRights`, `ContactForm`
46
+
47
+ ### Data & Forms
48
+
49
+ - `DataViewRenderer`: Auto-renders data based on schema.
50
+ - `ZodForm`: Auto-generates forms from Zod schemas.
51
+ - `FormLayout`, `FormDialog`, `FormStepsLayout`
52
+
53
+ ### Templates
54
+
55
+ - `ListPageTemplate`
56
+ - Legal: `PrivacyTemplate`, `TermsTemplate`, `CookiesTemplate`
57
+
58
+ ## Usage
59
+
60
+ ### App Layout
61
+
62
+ ```tsx
63
+ import { AppLayout } from '@lssm/lib.design-system/components/organisms/AppLayout';
64
+ import { AppSidebar } from '@lssm/lib.design-system/components/organisms/AppSidebar';
65
+
66
+ export default function Layout({ children }) {
67
+ return <AppLayout sidebar={<AppSidebar />}>{children}</AppLayout>;
68
+ }
69
+ ```
70
+
71
+ ### Zod Form
72
+
73
+ ```tsx
74
+ import { ZodForm } from '@lssm/lib.design-system/components/forms/ZodForm';
75
+ import { z } from 'zod';
76
+
77
+ const schema = z.object({
78
+ name: z.string().min(1),
79
+ email: z.string().email(),
80
+ });
81
+
82
+ export function SignupForm() {
83
+ return (
84
+ <ZodForm
85
+ schema={schema}
86
+ onSubmit={(data) => console.log(data)}
87
+ submitLabel="Sign Up"
88
+ />
89
+ );
90
+ }
91
+ ```
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
@@ -6,25 +6,34 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __esm = (fn, res) => function() {
7
7
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
8
8
  };
9
- var __export = (all) => {
9
+ var __export = (all, symbols) => {
10
10
  let target = {};
11
- for (var name in all) __defProp(target, name, {
12
- get: all[name],
13
- enumerable: true
14
- });
11
+ for (var name in all) {
12
+ __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ }
17
+ if (symbols) {
18
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
19
+ }
15
20
  return target;
16
21
  };
17
22
  var __copyProps = (to, from, except, desc) => {
18
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
19
- key = keys[i];
20
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
21
- get: ((k) => from[k]).bind(null, key),
22
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23
- });
23
+ if (from && typeof from === "object" || typeof from === "function") {
24
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
25
+ key = keys[i];
26
+ if (!__hasOwnProp.call(to, key) && key !== except) {
27
+ __defProp(to, key, {
28
+ get: ((k) => from[k]).bind(null, key),
29
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
30
+ });
31
+ }
32
+ }
24
33
  }
25
34
  return to;
26
35
  };
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
37
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
29
38
  if (typeof require !== "undefined") return require.apply(this, arguments);
30
39
  throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function.");
@@ -0,0 +1,29 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/components/agent/AgentMonitor.d.ts
4
+ interface AgentSessionSnapshot {
5
+ sessionId: string;
6
+ agent: string;
7
+ status: string;
8
+ tenantId?: string;
9
+ confidence?: number;
10
+ iterations?: number;
11
+ updatedAt: Date;
12
+ }
13
+ interface AgentMonitorProps {
14
+ title?: string;
15
+ sessions: AgentSessionSnapshot[];
16
+ highlightStatus?: string;
17
+ onSelectSession?: (session: AgentSessionSnapshot) => void;
18
+ className?: string;
19
+ }
20
+ declare function AgentMonitor({
21
+ title,
22
+ sessions,
23
+ highlightStatus,
24
+ onSelectSession,
25
+ className
26
+ }: AgentMonitorProps): react_jsx_runtime0.JSX.Element;
27
+ //#endregion
28
+ export { AgentMonitor, AgentMonitorProps, AgentSessionSnapshot };
29
+ //# sourceMappingURL=AgentMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentMonitor.d.ts","names":[],"sources":["../../../src/components/agent/AgentMonitor.tsx"],"sourcesContent":[],"mappings":";;;UAOiB,oBAAA;;;EAAA,MAAA,EAAA,MAAA;EAUA,QAAA,CAAA,EAAA,MAAA;EAQD,UAAA,CAAA,EAAA,MAAY;EAC1B,UAAA,CAAA,EAAA,MAAA;EACA,SAAA,EAbW,IAaX;;AAEA,UAZe,iBAAA,CAYf;EACA,KAAA,CAAA,EAAA,MAAA;EACC,QAAA,EAZS,oBAYT,EAAA;EAAiB,eAAA,CAAA,EAAA,MAAA;EAAA,eAAA,CAAA,EAAA,CAAA,OAAA,EAVU,oBAUV,EAAA,GAAA,IAAA;;;iBANJ,YAAA;;;;;;GAMb,oBAAiB,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,79 @@
1
+ 'use client';
2
+
3
+ import "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
6
+ import { Card, CardContent, CardHeader } from "@lssm/lib.ui-kit-web/ui/card";
7
+ import { Badge } from "@lssm/lib.ui-kit-web/ui/badge";
8
+
9
+ //#region src/components/agent/AgentMonitor.tsx
10
+ function AgentMonitor({ title = "Agent Activity", sessions, highlightStatus = "escalated", onSelectSession, className }) {
11
+ return /* @__PURE__ */ jsxs(Card, {
12
+ className,
13
+ children: [/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx("h3", {
14
+ className: "text-xl font-semibold",
15
+ children: title
16
+ }) }), /* @__PURE__ */ jsx(CardContent, {
17
+ className: "space-y-3",
18
+ children: sessions.length === 0 ? /* @__PURE__ */ jsx("p", {
19
+ className: "text-muted-foreground text-sm",
20
+ children: "No active sessions in the last hour."
21
+ }) : /* @__PURE__ */ jsx("div", {
22
+ className: "divide-border divide-y rounded-md border",
23
+ children: sessions.map((session) => /* @__PURE__ */ jsxs("button", {
24
+ type: "button",
25
+ onClick: () => onSelectSession?.(session),
26
+ className: cn("hover:bg-muted/40 flex w-full items-center gap-4 px-4 py-3 text-left transition", !onSelectSession && "cursor-default"),
27
+ children: [/* @__PURE__ */ jsxs("div", {
28
+ className: "min-w-0 flex-1",
29
+ children: [/* @__PURE__ */ jsxs("p", {
30
+ className: "font-medium",
31
+ children: [
32
+ session.agent,
33
+ " ",
34
+ /* @__PURE__ */ jsxs("span", {
35
+ className: "text-muted-foreground text-sm",
36
+ children: ["· ", session.tenantId ?? "global"]
37
+ })
38
+ ]
39
+ }), /* @__PURE__ */ jsxs("p", {
40
+ className: "text-muted-foreground text-sm",
41
+ children: [
42
+ session.iterations ?? 0,
43
+ " turns · Updated",
44
+ " ",
45
+ formatRelative(session.updatedAt)
46
+ ]
47
+ })]
48
+ }), /* @__PURE__ */ jsxs("div", {
49
+ className: "flex items-center gap-3",
50
+ children: [typeof session.confidence === "number" && /* @__PURE__ */ jsx(ConfidencePill, { value: session.confidence }), /* @__PURE__ */ jsx(Badge, {
51
+ variant: session.status === highlightStatus ? "destructive" : "secondary",
52
+ children: session.status
53
+ })]
54
+ })]
55
+ }, session.sessionId))
56
+ })
57
+ })]
58
+ });
59
+ }
60
+ function ConfidencePill({ value }) {
61
+ const percent = Math.round(value * 100);
62
+ return /* @__PURE__ */ jsxs("div", {
63
+ className: cn("rounded-full px-3 py-1 text-sm font-medium", percent >= 75 ? "bg-emerald-500/15 text-emerald-500" : "bg-amber-500/15 text-amber-600"),
64
+ children: [percent, "%"]
65
+ });
66
+ }
67
+ function formatRelative(date) {
68
+ const formatter = new Intl.RelativeTimeFormat(void 0, { numeric: "auto" });
69
+ const deltaMinutes = Math.round((Date.now() - new Date(date).getTime()) / 6e4);
70
+ if (Math.abs(deltaMinutes) < 60) return formatter.format(-deltaMinutes, "minute");
71
+ const deltaHours = Math.round(deltaMinutes / 60);
72
+ if (Math.abs(deltaHours) < 24) return formatter.format(-deltaHours, "hour");
73
+ const deltaDays = Math.round(deltaHours / 24);
74
+ return formatter.format(-deltaDays, "day");
75
+ }
76
+
77
+ //#endregion
78
+ export { AgentMonitor };
79
+ //# sourceMappingURL=AgentMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentMonitor.js","names":[],"sources":["../../../src/components/agent/AgentMonitor.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Card, CardContent, CardHeader } from '@lssm/lib.ui-kit-web/ui/card';\nimport { Badge } from '@lssm/lib.ui-kit-web/ui/badge';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\n\nexport interface AgentSessionSnapshot {\n sessionId: string;\n agent: string;\n status: string;\n tenantId?: string;\n confidence?: number;\n iterations?: number;\n updatedAt: Date;\n}\n\nexport interface AgentMonitorProps {\n title?: string;\n sessions: AgentSessionSnapshot[];\n highlightStatus?: string;\n onSelectSession?: (session: AgentSessionSnapshot) => void;\n className?: string;\n}\n\nexport function AgentMonitor({\n title = 'Agent Activity',\n sessions,\n highlightStatus = 'escalated',\n onSelectSession,\n className,\n}: AgentMonitorProps) {\n return (\n <Card className={className}>\n <CardHeader>\n <h3 className=\"text-xl font-semibold\">{title}</h3>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {sessions.length === 0 ? (\n <p className=\"text-muted-foreground text-sm\">\n No active sessions in the last hour.\n </p>\n ) : (\n <div className=\"divide-border divide-y rounded-md border\">\n {sessions.map((session) => (\n <button\n key={session.sessionId}\n type=\"button\"\n onClick={() => onSelectSession?.(session)}\n className={cn(\n 'hover:bg-muted/40 flex w-full items-center gap-4 px-4 py-3 text-left transition',\n !onSelectSession && 'cursor-default'\n )}\n >\n <div className=\"min-w-0 flex-1\">\n <p className=\"font-medium\">\n {session.agent}{' '}\n <span className=\"text-muted-foreground text-sm\">\n · {session.tenantId ?? 'global'}\n </span>\n </p>\n <p className=\"text-muted-foreground text-sm\">\n {session.iterations ?? 0} turns · Updated{' '}\n {formatRelative(session.updatedAt)}\n </p>\n </div>\n <div className=\"flex items-center gap-3\">\n {typeof session.confidence === 'number' && (\n <ConfidencePill value={session.confidence} />\n )}\n <Badge\n variant={\n session.status === highlightStatus\n ? 'destructive'\n : 'secondary'\n }\n >\n {session.status}\n </Badge>\n </div>\n </button>\n ))}\n </div>\n )}\n </CardContent>\n </Card>\n );\n}\n\nfunction ConfidencePill({ value }: { value: number }) {\n const percent = Math.round(value * 100);\n return (\n <div\n className={cn(\n 'rounded-full px-3 py-1 text-sm font-medium',\n percent >= 75\n ? 'bg-emerald-500/15 text-emerald-500'\n : 'bg-amber-500/15 text-amber-600'\n )}\n >\n {percent}%\n </div>\n );\n}\n\nfunction formatRelative(date: Date) {\n const formatter = new Intl.RelativeTimeFormat(undefined, { numeric: 'auto' });\n const deltaMinutes = Math.round(\n (Date.now() - new Date(date).getTime()) / 60000\n );\n if (Math.abs(deltaMinutes) < 60) {\n return formatter.format(-deltaMinutes, 'minute');\n }\n const deltaHours = Math.round(deltaMinutes / 60);\n if (Math.abs(deltaHours) < 24) {\n return formatter.format(-deltaHours, 'hour');\n }\n const deltaDays = Math.round(deltaHours / 24);\n return formatter.format(-deltaDays, 'day');\n}\n"],"mappings":";;;;;;;;;AAyBA,SAAgB,aAAa,EAC3B,QAAQ,kBACR,UACA,kBAAkB,aAClB,iBACA,aACoB;AACpB,QACE,qBAAC;EAAgB;aACf,oBAAC,wBACC,oBAAC;GAAG,WAAU;aAAyB;IAAW,GACvC,EACb,oBAAC;GAAY,WAAU;aACpB,SAAS,WAAW,IACnB,oBAAC;IAAE,WAAU;cAAgC;KAEzC,GAEJ,oBAAC;IAAI,WAAU;cACZ,SAAS,KAAK,YACb,qBAAC;KAEC,MAAK;KACL,eAAe,kBAAkB,QAAQ;KACzC,WAAW,GACT,mFACA,CAAC,mBAAmB,iBACrB;gBAED,qBAAC;MAAI,WAAU;iBACb,qBAAC;OAAE,WAAU;;QACV,QAAQ;QAAO;QAChB,qBAAC;SAAK,WAAU;oBAAgC,MAC3C,QAAQ,YAAY;UAClB;;QACL,EACJ,qBAAC;OAAE,WAAU;;QACV,QAAQ,cAAc;QAAE;QAAiB;QACzC,eAAe,QAAQ,UAAU;;QAChC;OACA,EACN,qBAAC;MAAI,WAAU;iBACZ,OAAO,QAAQ,eAAe,YAC7B,oBAAC,kBAAe,OAAO,QAAQ,aAAc,EAE/C,oBAAC;OACC,SACE,QAAQ,WAAW,kBACf,gBACA;iBAGL,QAAQ;QACH;OACJ;OAjCD,QAAQ,UAkCN,CACT;KACE;IAEI;GACT;;AAIX,SAAS,eAAe,EAAE,SAA4B;CACpD,MAAM,UAAU,KAAK,MAAM,QAAQ,IAAI;AACvC,QACE,qBAAC;EACC,WAAW,GACT,8CACA,WAAW,KACP,uCACA,iCACL;aAEA,SAAQ;GACL;;AAIV,SAAS,eAAe,MAAY;CAClC,MAAM,YAAY,IAAI,KAAK,mBAAmB,QAAW,EAAE,SAAS,QAAQ,CAAC;CAC7E,MAAM,eAAe,KAAK,OACvB,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,IAC3C;AACD,KAAI,KAAK,IAAI,aAAa,GAAG,GAC3B,QAAO,UAAU,OAAO,CAAC,cAAc,SAAS;CAElD,MAAM,aAAa,KAAK,MAAM,eAAe,GAAG;AAChD,KAAI,KAAK,IAAI,WAAW,GAAG,GACzB,QAAO,UAAU,OAAO,CAAC,YAAY,OAAO;CAE9C,MAAM,YAAY,KAAK,MAAM,aAAa,GAAG;AAC7C,QAAO,UAAU,OAAO,CAAC,WAAW,MAAM"}
@@ -0,0 +1,26 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
+ import { ApprovalRequest } from "@lssm/lib.ai-agent/approval";
4
+
5
+ //#region src/components/agent/ApprovalQueue.d.ts
6
+ interface ApprovalQueueProps {
7
+ title?: string;
8
+ description?: string;
9
+ requests: ApprovalRequest[];
10
+ onApprove?: (request: ApprovalRequest) => void;
11
+ onReject?: (request: ApprovalRequest) => void;
12
+ className?: string;
13
+ emptyState?: React$1.ReactNode;
14
+ }
15
+ declare function ApprovalQueue({
16
+ title,
17
+ description,
18
+ requests,
19
+ onApprove,
20
+ onReject,
21
+ className,
22
+ emptyState
23
+ }: ApprovalQueueProps): react_jsx_runtime1.JSX.Element;
24
+ //#endregion
25
+ export { ApprovalQueue, ApprovalQueueProps };
26
+ //# sourceMappingURL=ApprovalQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalQueue.d.ts","names":[],"sources":["../../../src/components/agent/ApprovalQueue.tsx"],"sourcesContent":[],"mappings":";;;;;UAiBiB,kBAAA;;;EAAA,QAAA,EAGL,eAHuB,EAAA;EAGvB,SAAA,CAAA,EAAA,CAAA,OAAA,EACY,eADZ,EAAA,GAAA,IAAA;EACY,QAAA,CAAA,EAAA,CAAA,OAAA,EACD,eADC,EAAA,GAAA,IAAA;EACD,SAAA,CAAA,EAAA,MAAA;EAER,UAAM,CAAA,EAAN,OAAA,CAAM,SAAA;;AAGL,iBAAA,aAAA,CAAa;EAAA,KAAA;EAAA,WAAA;EAAA,QAAA;EAAA,SAAA;EAAA,QAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAU1B,kBAV0B,CAAA,EAUR,kBAAA,CAAA,GAAA,CAAA,OAVQ"}
@@ -0,0 +1,89 @@
1
+ 'use client';
2
+
3
+ import "react";
4
+ import { Button } from "@lssm/lib.ui-kit-web/ui/button";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
7
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@lssm/lib.ui-kit-web/ui/table";
8
+ import { Card, CardContent, CardHeader } from "@lssm/lib.ui-kit-web/ui/card";
9
+ import { Badge } from "@lssm/lib.ui-kit-web/ui/badge";
10
+
11
+ //#region src/components/agent/ApprovalQueue.tsx
12
+ function ApprovalQueue({ title = "Approvals", description = "Requests escalated by AI agents", requests, onApprove, onReject, className, emptyState = /* @__PURE__ */ jsx("p", {
13
+ className: "text-muted-foreground",
14
+ children: "Nothing waiting for review."
15
+ }) }) {
16
+ return /* @__PURE__ */ jsxs(Card, {
17
+ className,
18
+ children: [/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsxs("div", {
19
+ className: "space-y-1",
20
+ children: [/* @__PURE__ */ jsx("h3", {
21
+ className: "text-xl font-semibold",
22
+ children: title
23
+ }), /* @__PURE__ */ jsx("p", {
24
+ className: "text-muted-foreground text-sm",
25
+ children: description
26
+ })]
27
+ }) }), /* @__PURE__ */ jsx(CardContent, { children: requests.length === 0 ? emptyState : /* @__PURE__ */ jsxs(Table, { children: [/* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs(TableRow, { children: [
28
+ /* @__PURE__ */ jsx(TableHead, { children: "Agent" }),
29
+ /* @__PURE__ */ jsx(TableHead, { children: "Reason" }),
30
+ /* @__PURE__ */ jsx(TableHead, { children: "Tenant" }),
31
+ /* @__PURE__ */ jsx(TableHead, { children: "Requested" }),
32
+ /* @__PURE__ */ jsx(TableHead, { children: "Status" }),
33
+ /* @__PURE__ */ jsx(TableHead, {
34
+ className: "text-right",
35
+ children: "Actions"
36
+ })
37
+ ] }) }), /* @__PURE__ */ jsx(TableBody, { children: requests.map((request) => /* @__PURE__ */ jsxs(TableRow, { children: [
38
+ /* @__PURE__ */ jsx(TableCell, {
39
+ className: "font-medium",
40
+ children: request.agent
41
+ }),
42
+ /* @__PURE__ */ jsx(TableCell, {
43
+ className: "max-w-sm truncate",
44
+ children: request.reason
45
+ }),
46
+ /* @__PURE__ */ jsx(TableCell, { children: request.tenantId ?? "—" }),
47
+ /* @__PURE__ */ jsx(TableCell, { children: formatRelative(request.requestedAt) }),
48
+ /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(Badge, {
49
+ variant: badgeVariant(request.status),
50
+ children: request.status
51
+ }) }),
52
+ /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsxs("div", {
53
+ className: "flex justify-end gap-2",
54
+ children: [/* @__PURE__ */ jsx(Button, {
55
+ size: "sm",
56
+ variant: "secondary",
57
+ disabled: request.status !== "pending",
58
+ onClick: () => onReject?.(request),
59
+ children: "Reject"
60
+ }), /* @__PURE__ */ jsx(Button, {
61
+ size: "sm",
62
+ disabled: request.status !== "pending",
63
+ onClick: () => onApprove?.(request),
64
+ children: "Approve"
65
+ })]
66
+ }) })
67
+ ] }, request.id)) })] }) })]
68
+ });
69
+ }
70
+ function badgeVariant(status) {
71
+ switch (status) {
72
+ case "approved": return "default";
73
+ case "rejected": return "destructive";
74
+ default: return "secondary";
75
+ }
76
+ }
77
+ function formatRelative(date) {
78
+ const formatter = new Intl.RelativeTimeFormat(void 0, { numeric: "auto" });
79
+ const deltaMinutes = Math.round((Date.now() - new Date(date).getTime()) / 6e4);
80
+ if (Math.abs(deltaMinutes) < 60) return formatter.format(-deltaMinutes, "minute");
81
+ const deltaHours = Math.round(deltaMinutes / 60);
82
+ if (Math.abs(deltaHours) < 24) return formatter.format(-deltaHours, "hour");
83
+ const deltaDays = Math.round(deltaHours / 24);
84
+ return formatter.format(-deltaDays, "day");
85
+ }
86
+
87
+ //#endregion
88
+ export { ApprovalQueue };
89
+ //# sourceMappingURL=ApprovalQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalQueue.js","names":[],"sources":["../../../src/components/agent/ApprovalQueue.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ApprovalRequest } from '@lssm/lib.ai-agent/approval';\nimport {\n Table,\n TableHead,\n TableRow,\n TableHeader,\n TableBody,\n TableCell,\n} from '@lssm/lib.ui-kit-web/ui/table';\nimport { Card, CardHeader, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { Badge } from '@lssm/lib.ui-kit-web/ui/badge';\nimport { Button } from '@lssm/lib.ui-kit-web/ui/button';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\n\nexport interface ApprovalQueueProps {\n title?: string;\n description?: string;\n requests: ApprovalRequest[];\n onApprove?: (request: ApprovalRequest) => void;\n onReject?: (request: ApprovalRequest) => void;\n className?: string;\n emptyState?: React.ReactNode;\n}\n\nexport function ApprovalQueue({\n title = 'Approvals',\n description = 'Requests escalated by AI agents',\n requests,\n onApprove,\n onReject,\n className,\n emptyState = (\n <p className=\"text-muted-foreground\">Nothing waiting for review.</p>\n ),\n}: ApprovalQueueProps) {\n return (\n <Card className={className}>\n <CardHeader>\n <div className=\"space-y-1\">\n <h3 className=\"text-xl font-semibold\">{title}</h3>\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n </div>\n </CardHeader>\n <CardContent>\n {requests.length === 0 ? (\n emptyState\n ) : (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Agent</TableHead>\n <TableHead>Reason</TableHead>\n <TableHead>Tenant</TableHead>\n <TableHead>Requested</TableHead>\n <TableHead>Status</TableHead>\n <TableHead className=\"text-right\">Actions</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {requests.map((request) => (\n <TableRow key={request.id}>\n <TableCell className=\"font-medium\">{request.agent}</TableCell>\n <TableCell className=\"max-w-sm truncate\">\n {request.reason}\n </TableCell>\n <TableCell>{request.tenantId ?? '—'}</TableCell>\n <TableCell>{formatRelative(request.requestedAt)}</TableCell>\n <TableCell>\n <Badge variant={badgeVariant(request.status)}>\n {request.status}\n </Badge>\n </TableCell>\n <TableCell>\n <div className=\"flex justify-end gap-2\">\n <Button\n size=\"sm\"\n variant=\"secondary\"\n disabled={request.status !== 'pending'}\n onClick={() => onReject?.(request)}\n >\n Reject\n </Button>\n <Button\n size=\"sm\"\n disabled={request.status !== 'pending'}\n onClick={() => onApprove?.(request)}\n >\n Approve\n </Button>\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )}\n </CardContent>\n </Card>\n );\n}\n\nfunction badgeVariant(\n status: ApprovalRequest['status']\n): 'default' | 'secondary' | 'outline' | 'destructive' {\n switch (status) {\n case 'approved':\n return 'default';\n case 'rejected':\n return 'destructive';\n default:\n return 'secondary';\n }\n}\n\nfunction formatRelative(date: Date) {\n const formatter = new Intl.RelativeTimeFormat(undefined, { numeric: 'auto' });\n const deltaMinutes = Math.round(\n (Date.now() - new Date(date).getTime()) / 60000\n );\n if (Math.abs(deltaMinutes) < 60) {\n return formatter.format(-deltaMinutes, 'minute');\n }\n const deltaHours = Math.round(deltaMinutes / 60);\n if (Math.abs(deltaHours) < 24) {\n return formatter.format(-deltaHours, 'hour');\n }\n const deltaDays = Math.round(deltaHours / 24);\n return formatter.format(-deltaDays, 'day');\n}\n"],"mappings":";;;;;;;;;;;AA2BA,SAAgB,cAAc,EAC5B,QAAQ,aACR,cAAc,mCACd,UACA,WACA,UACA,WACA,aACE,oBAAC;CAAE,WAAU;WAAwB;EAA+B,IAEjD;AACrB,QACE,qBAAC;EAAgB;aACf,oBAAC,wBACC,qBAAC;GAAI,WAAU;cACb,oBAAC;IAAG,WAAU;cAAyB;KAAW,EAClD,oBAAC;IAAE,WAAU;cAAiC;KAAgB;IAC1D,GACK,EACb,oBAAC,yBACE,SAAS,WAAW,IACnB,aAEA,qBAAC,oBACC,oBAAC,yBACC,qBAAC;GACC,oBAAC,uBAAU,UAAiB;GAC5B,oBAAC,uBAAU,WAAkB;GAC7B,oBAAC,uBAAU,WAAkB;GAC7B,oBAAC,uBAAU,cAAqB;GAChC,oBAAC,uBAAU,WAAkB;GAC7B,oBAAC;IAAU,WAAU;cAAa;KAAmB;MAC5C,GACC,EACd,oBAAC,uBACE,SAAS,KAAK,YACb,qBAAC;GACC,oBAAC;IAAU,WAAU;cAAe,QAAQ;KAAkB;GAC9D,oBAAC;IAAU,WAAU;cAClB,QAAQ;KACC;GACZ,oBAAC,uBAAW,QAAQ,YAAY,MAAgB;GAChD,oBAAC,uBAAW,eAAe,QAAQ,YAAY,GAAa;GAC5D,oBAAC,uBACC,oBAAC;IAAM,SAAS,aAAa,QAAQ,OAAO;cACzC,QAAQ;KACH,GACE;GACZ,oBAAC,uBACC,qBAAC;IAAI,WAAU;eACb,oBAAC;KACC,MAAK;KACL,SAAQ;KACR,UAAU,QAAQ,WAAW;KAC7B,eAAe,WAAW,QAAQ;eACnC;MAEQ,EACT,oBAAC;KACC,MAAK;KACL,UAAU,QAAQ,WAAW;KAC7B,eAAe,YAAY,QAAQ;eACpC;MAEQ;KACL,GACI;OA9BC,QAAQ,GA+BZ,CACX,GACQ,IACN,GAEE;GACT;;AAIX,SAAS,aACP,QACqD;AACrD,SAAQ,QAAR;EACE,KAAK,WACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,eAAe,MAAY;CAClC,MAAM,YAAY,IAAI,KAAK,mBAAmB,QAAW,EAAE,SAAS,QAAQ,CAAC;CAC7E,MAAM,eAAe,KAAK,OACvB,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,IAC3C;AACD,KAAI,KAAK,IAAI,aAAa,GAAG,GAC3B,QAAO,UAAU,OAAO,CAAC,cAAc,SAAS;CAElD,MAAM,aAAa,KAAK,MAAM,eAAe,GAAG;AAChD,KAAI,KAAK,IAAI,WAAW,GAAG,GACzB,QAAO,UAAU,OAAO,CAAC,YAAY,OAAO;CAE9C,MAAM,YAAY,KAAK,MAAM,aAAa,GAAG;AAC7C,QAAO,UAAU,OAAO,CAAC,WAAW,MAAM"}
@@ -1,6 +1,6 @@
1
1
  import { ButtonProps } from "./Button.js";
2
2
  import * as React$1 from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
4
4
  import { VariantProps } from "class-variance-authority";
5
5
  import * as class_variance_authority_types0 from "class-variance-authority/types";
6
6
 
@@ -13,14 +13,14 @@ type ActionBtnProps = Omit<ButtonProps, 'size' | 'variant'> & VariantProps<typeo
13
13
  label?: React$1.ReactNode;
14
14
  iconLeft?: React$1.ReactNode;
15
15
  };
16
- declare function EditButton(props: Omit<ActionBtnProps, 'iconLeft' | 'tone'>): react_jsx_runtime0.JSX.Element;
17
- declare function DeleteButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime0.JSX.Element;
18
- declare function ViewButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime0.JSX.Element;
16
+ declare function EditButton(props: Omit<ActionBtnProps, 'iconLeft' | 'tone'>): react_jsx_runtime2.JSX.Element;
17
+ declare function DeleteButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime2.JSX.Element;
18
+ declare function ViewButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime2.JSX.Element;
19
19
  declare function ToggleButton(props: Omit<ActionBtnProps, 'iconLeft'> & {
20
20
  active?: boolean;
21
- }): react_jsx_runtime0.JSX.Element;
22
- declare function ToggleLeftButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime0.JSX.Element;
23
- declare function ToggleRightButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime0.JSX.Element;
21
+ }): react_jsx_runtime2.JSX.Element;
22
+ declare function ToggleLeftButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime2.JSX.Element;
23
+ declare function ToggleRightButton(props: Omit<ActionBtnProps, 'iconLeft'>): react_jsx_runtime2.JSX.Element;
24
24
  //#endregion
25
25
  export { DeleteButton, EditButton, ToggleButton, ToggleLeftButton, ToggleRightButton, ViewButton };
26
26
  //# sourceMappingURL=ActionButtons.d.ts.map
@@ -43,7 +43,7 @@ function toSize(size) {
43
43
  default: return "default";
44
44
  }
45
45
  }
46
- function ActionButtonBase({ tone = "neutral", size = "md", label, iconLeft,...props }) {
46
+ function ActionButtonBase({ tone = "neutral", size = "md", label, iconLeft, ...props }) {
47
47
  return /* @__PURE__ */ jsxs(Button, {
48
48
  variant: toVariant(tone || "neutral"),
49
49
  size: toSize(size || "md"),
@@ -74,7 +74,7 @@ function ViewButton(props) {
74
74
  });
75
75
  }
76
76
  function ToggleButton(props) {
77
- const { active,...rest } = props;
77
+ const { active, ...rest } = props;
78
78
  return /* @__PURE__ */ jsx(ActionButtonBase, {
79
79
  iconLeft: active ? /* @__PURE__ */ jsx(ToggleLeft, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(ToggleRight, { className: "h-4 w-4" }),
80
80
  ...rest
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtons.js","names":["EditIcon","DeleteIcon","ViewIcon","ToggleLeftIcon","ToggleRightIcon"],"sources":["../../../src/components/atoms/ActionButtons.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button, type ButtonProps } from './Button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n Edit as EditIcon,\n Eye as ViewIcon,\n ToggleLeft as ToggleLeftIcon,\n ToggleRight as ToggleRightIcon,\n Trash2 as DeleteIcon,\n} from 'lucide-react';\nimport { Box } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit-web/ui/text';\n\nconst actionBtn = cva('', {\n variants: {\n tone: {\n neutral: 'default',\n danger: 'destructive',\n subtle: 'secondary',\n outline: 'outline',\n },\n size: {\n sm: 'sm',\n md: 'default',\n lg: 'lg',\n icon: 'icon',\n },\n },\n defaultVariants: { tone: 'neutral', size: 'md' },\n});\n\ntype ActionBtnProps = Omit<ButtonProps, 'size' | 'variant'> &\n VariantProps<typeof actionBtn> & {\n label?: React.ReactNode;\n iconLeft?: React.ReactNode;\n };\n\nfunction toVariant(\n tone: NonNullable<VariantProps<typeof actionBtn>['tone']>\n): ButtonProps['variant'] {\n switch (tone) {\n case 'danger':\n return 'destructive';\n case 'subtle':\n return 'secondary';\n case 'outline':\n return 'outline';\n default:\n return 'default';\n }\n}\n\nfunction toSize(\n size: NonNullable<VariantProps<typeof actionBtn>['size']>\n): ButtonProps['size'] {\n switch (size) {\n case 'sm':\n return 'sm';\n case 'lg':\n return 'lg';\n case 'icon':\n return 'icon';\n default:\n return 'default';\n }\n}\n\nfunction ActionButtonBase({\n tone = 'neutral',\n size = 'md',\n label,\n iconLeft,\n ...props\n}: ActionBtnProps) {\n return (\n <Button\n variant={toVariant(tone || 'neutral')}\n size={toSize(size || 'md')}\n {...props}\n >\n {iconLeft ? (\n <Box className=\"mr-2 inline-flex h-4 w-4\">{iconLeft}</Box>\n ) : null}\n <Text>{label}</Text>\n </Button>\n );\n}\n\nexport function EditButton(props: Omit<ActionBtnProps, 'iconLeft' | 'tone'>) {\n return (\n <ActionButtonBase iconLeft={<EditIcon className=\"h-4 w-4\" />} {...props} />\n );\n}\n\nexport function DeleteButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase\n iconLeft={<DeleteIcon className=\"h-4 w-4\" />}\n tone=\"danger\"\n {...props}\n />\n );\n}\n\nexport function ViewButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase iconLeft={<ViewIcon className=\"h-4 w-4\" />} {...props} />\n );\n}\n\nexport function ToggleButton(\n props: Omit<ActionBtnProps, 'iconLeft'> & { active?: boolean }\n) {\n const { active, ...rest } = props;\n return (\n <ActionButtonBase\n iconLeft={\n active ? (\n <ToggleLeftIcon className=\"h-4 w-4\" />\n ) : (\n <ToggleRightIcon className=\"h-4 w-4\" />\n )\n }\n {...rest}\n />\n );\n}\n\nexport function ToggleLeftButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase\n iconLeft={<ToggleLeftIcon className=\"h-4 w-4\" />}\n {...props}\n />\n );\n}\n\nexport function ToggleRightButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase\n iconLeft={<ToggleRightIcon className=\"h-4 w-4\" />}\n {...props}\n />\n );\n}\n"],"mappings":";;;;;;;;;AAakB,IAAI,IAAI;CACxB,UAAU;EACR,MAAM;GACJ,SAAS;GACT,QAAQ;GACR,QAAQ;GACR,SAAS;GACV;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACF;CACD,iBAAiB;EAAE,MAAM;EAAW,MAAM;EAAM;CACjD,CAAC;AAQF,SAAS,UACP,MACwB;AACxB,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,SACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,OACP,MACqB;AACrB,SAAQ,MAAR;EACE,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,iBAAiB,EACxB,OAAO,WACP,OAAO,MACP,OACA,SACA,GAAG,SACc;AACjB,QACE,qBAAC;EACC,SAAS,UAAU,QAAQ,UAAU;EACrC,MAAM,OAAO,QAAQ,KAAK;EAC1B,GAAI;aAEH,WACC,oBAAC;GAAI,WAAU;aAA4B;IAAe,GACxD,MACJ,oBAAC,kBAAM,QAAa;GACb;;AAIb,SAAgB,WAAW,OAAkD;AAC3E,QACE,oBAAC;EAAiB,UAAU,oBAACA,QAAS,WAAU,YAAY;EAAE,GAAI;GAAS;;AAI/E,SAAgB,aAAa,OAAyC;AACpE,QACE,oBAAC;EACC,UAAU,oBAACC,UAAW,WAAU,YAAY;EAC5C,MAAK;EACL,GAAI;GACJ;;AAIN,SAAgB,WAAW,OAAyC;AAClE,QACE,oBAAC;EAAiB,UAAU,oBAACC,OAAS,WAAU,YAAY;EAAE,GAAI;GAAS;;AAI/E,SAAgB,aACd,OACA;CACA,MAAM,EAAE,OAAQ,GAAG,SAAS;AAC5B,QACE,oBAAC;EACC,UACE,SACE,oBAACC,cAAe,WAAU,YAAY,GAEtC,oBAACC,eAAgB,WAAU,YAAY;EAG3C,GAAI;GACJ;;AAIN,SAAgB,iBAAiB,OAAyC;AACxE,QACE,oBAAC;EACC,UAAU,oBAACD,cAAe,WAAU,YAAY;EAChD,GAAI;GACJ;;AAIN,SAAgB,kBAAkB,OAAyC;AACzE,QACE,oBAAC;EACC,UAAU,oBAACC,eAAgB,WAAU,YAAY;EACjD,GAAI;GACJ"}
1
+ {"version":3,"file":"ActionButtons.js","names":["EditIcon","DeleteIcon","ViewIcon","ToggleLeftIcon","ToggleRightIcon"],"sources":["../../../src/components/atoms/ActionButtons.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button, type ButtonProps } from './Button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n Edit as EditIcon,\n Eye as ViewIcon,\n ToggleLeft as ToggleLeftIcon,\n ToggleRight as ToggleRightIcon,\n Trash2 as DeleteIcon,\n} from 'lucide-react';\nimport { Box } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit-web/ui/text';\n\nconst actionBtn = cva('', {\n variants: {\n tone: {\n neutral: 'default',\n danger: 'destructive',\n subtle: 'secondary',\n outline: 'outline',\n },\n size: {\n sm: 'sm',\n md: 'default',\n lg: 'lg',\n icon: 'icon',\n },\n },\n defaultVariants: { tone: 'neutral', size: 'md' },\n});\n\ntype ActionBtnProps = Omit<ButtonProps, 'size' | 'variant'> &\n VariantProps<typeof actionBtn> & {\n label?: React.ReactNode;\n iconLeft?: React.ReactNode;\n };\n\nfunction toVariant(\n tone: NonNullable<VariantProps<typeof actionBtn>['tone']>\n): ButtonProps['variant'] {\n switch (tone) {\n case 'danger':\n return 'destructive';\n case 'subtle':\n return 'secondary';\n case 'outline':\n return 'outline';\n default:\n return 'default';\n }\n}\n\nfunction toSize(\n size: NonNullable<VariantProps<typeof actionBtn>['size']>\n): ButtonProps['size'] {\n switch (size) {\n case 'sm':\n return 'sm';\n case 'lg':\n return 'lg';\n case 'icon':\n return 'icon';\n default:\n return 'default';\n }\n}\n\nfunction ActionButtonBase({\n tone = 'neutral',\n size = 'md',\n label,\n iconLeft,\n ...props\n}: ActionBtnProps) {\n return (\n <Button\n variant={toVariant(tone || 'neutral')}\n size={toSize(size || 'md')}\n {...props}\n >\n {iconLeft ? (\n <Box className=\"mr-2 inline-flex h-4 w-4\">{iconLeft}</Box>\n ) : null}\n <Text>{label}</Text>\n </Button>\n );\n}\n\nexport function EditButton(props: Omit<ActionBtnProps, 'iconLeft' | 'tone'>) {\n return (\n <ActionButtonBase iconLeft={<EditIcon className=\"h-4 w-4\" />} {...props} />\n );\n}\n\nexport function DeleteButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase\n iconLeft={<DeleteIcon className=\"h-4 w-4\" />}\n tone=\"danger\"\n {...props}\n />\n );\n}\n\nexport function ViewButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase iconLeft={<ViewIcon className=\"h-4 w-4\" />} {...props} />\n );\n}\n\nexport function ToggleButton(\n props: Omit<ActionBtnProps, 'iconLeft'> & { active?: boolean }\n) {\n const { active, ...rest } = props;\n return (\n <ActionButtonBase\n iconLeft={\n active ? (\n <ToggleLeftIcon className=\"h-4 w-4\" />\n ) : (\n <ToggleRightIcon className=\"h-4 w-4\" />\n )\n }\n {...rest}\n />\n );\n}\n\nexport function ToggleLeftButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase\n iconLeft={<ToggleLeftIcon className=\"h-4 w-4\" />}\n {...props}\n />\n );\n}\n\nexport function ToggleRightButton(props: Omit<ActionBtnProps, 'iconLeft'>) {\n return (\n <ActionButtonBase\n iconLeft={<ToggleRightIcon className=\"h-4 w-4\" />}\n {...props}\n />\n );\n}\n"],"mappings":";;;;;;;;;AAakB,IAAI,IAAI;CACxB,UAAU;EACR,MAAM;GACJ,SAAS;GACT,QAAQ;GACR,QAAQ;GACR,SAAS;GACV;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACF;CACD,iBAAiB;EAAE,MAAM;EAAW,MAAM;EAAM;CACjD,CAAC;AAQF,SAAS,UACP,MACwB;AACxB,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,SACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,OACP,MACqB;AACrB,SAAQ,MAAR;EACE,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,iBAAiB,EACxB,OAAO,WACP,OAAO,MACP,OACA,UACA,GAAG,SACc;AACjB,QACE,qBAAC;EACC,SAAS,UAAU,QAAQ,UAAU;EACrC,MAAM,OAAO,QAAQ,KAAK;EAC1B,GAAI;aAEH,WACC,oBAAC;GAAI,WAAU;aAA4B;IAAe,GACxD,MACJ,oBAAC,kBAAM,QAAa;GACb;;AAIb,SAAgB,WAAW,OAAkD;AAC3E,QACE,oBAAC;EAAiB,UAAU,oBAACA,QAAS,WAAU,YAAY;EAAE,GAAI;GAAS;;AAI/E,SAAgB,aAAa,OAAyC;AACpE,QACE,oBAAC;EACC,UAAU,oBAACC,UAAW,WAAU,YAAY;EAC5C,MAAK;EACL,GAAI;GACJ;;AAIN,SAAgB,WAAW,OAAyC;AAClE,QACE,oBAAC;EAAiB,UAAU,oBAACC,OAAS,WAAU,YAAY;EAAE,GAAI;GAAS;;AAI/E,SAAgB,aACd,OACA;CACA,MAAM,EAAE,QAAQ,GAAG,SAAS;AAC5B,QACE,oBAAC;EACC,UACE,SACE,oBAACC,cAAe,WAAU,YAAY,GAEtC,oBAACC,eAAgB,WAAU,YAAY;EAG3C,GAAI;GACJ;;AAIN,SAAgB,iBAAiB,OAAyC;AACxE,QACE,oBAAC;EACC,UAAU,oBAACD,cAAe,WAAU,YAAY;EAChD,GAAI;GACJ;;AAIN,SAAgB,kBAAkB,OAAyC;AACzE,QACE,oBAAC;EACC,UAAU,oBAACC,eAAgB,WAAU,YAAY;EACjD,GAAI;GACJ"}
@@ -1,6 +1,6 @@
1
1
  import * as React$1 from "react";
2
2
  import { ButtonProps as ButtonProps$1 } from "@lssm/lib.ui-kit-web/ui/button";
3
- import * as react_jsx_runtime7 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime10 from "react/jsx-runtime";
4
4
  import { PressableProps } from "react-native";
5
5
 
6
6
  //#region src/components/atoms/Button.d.ts
@@ -34,7 +34,7 @@ declare function Button({
34
34
  className,
35
35
  disabled,
36
36
  ...rest
37
- }: ButtonProps): react_jsx_runtime7.JSX.Element;
37
+ }: ButtonProps): react_jsx_runtime10.JSX.Element;
38
38
  //#endregion
39
39
  export { Button, Button as default, ButtonProps };
40
40
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","names":[],"sources":["../../../src/components/atoms/Button.tsx"],"sourcesContent":[],"mappings":";;;;;;KASK,gBAAA;KAEA,oBAAA,GAAuB,KAC1B;KAIU,WAAA,GAAc,KACxB,sDAGA;EAXG,QAAA,EAYS,OAAA,CAAM,SAZC;EAEhB,OAAA,CAAA,EAAA,OAAA;EAKO,WAAA,CAAA,EAAW,MAAA;EACrB,gBAAA,CAAA,EAOqB,gBAPrB;EADwB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAIxB,SAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACY,UAAM,CAAA,EAAA,GAAA,GAAA,IAAA;EAGG,WAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAOe,OAAA,CAAA,EAAxB,OAAA,CAAM,iBAAkB,CAAA,iBAAA,CAAA;CAAxB;AAAuB,iBAGrB,MAAA,CAHqB;EAAA,QAAA;EAAA,OAAA;EAAA,gBAAA;EAAA,OAAA;EAAA,SAAA;EAAA,UAAA;EAAA,WAAA;EAAA,YAAA;EAAA,UAAA;EAAA,aAAA;EAAA,WAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAoBlC,WApBkC,CAAA,EAoBvB,kBAAA,CAAA,GAAA,CAAA,OApBuB"}
1
+ {"version":3,"file":"Button.d.ts","names":[],"sources":["../../../src/components/atoms/Button.tsx"],"sourcesContent":[],"mappings":";;;;;;KASK,gBAAA;KAEA,oBAAA,GAAuB,KAC1B;KAIU,WAAA,GAAc,KACxB,sDAGA;EAXG,QAAA,EAYS,OAAA,CAAM,SAZC;EAEhB,OAAA,CAAA,EAAA,OAAA;EAKO,WAAA,CAAA,EAAW,MAAA;EACrB,gBAAA,CAAA,EAOqB,gBAPrB;EADwB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAIxB,SAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACY,UAAM,CAAA,EAAA,GAAA,GAAA,IAAA;EAGG,WAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAOe,OAAA,CAAA,EAAxB,OAAA,CAAM,iBAAkB,CAAA,iBAAA,CAAA;CAAxB;AAAuB,iBAGrB,MAAA,CAHqB;EAAA,QAAA;EAAA,OAAA;EAAA,gBAAA;EAAA,OAAA;EAAA,SAAA;EAAA,UAAA;EAAA,WAAA;EAAA,YAAA;EAAA,UAAA;EAAA,aAAA;EAAA,WAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAoBlC,WApBkC,CAAA,EAoBvB,mBAAA,CAAA,GAAA,CAAA,OApBuB"}
@@ -4,7 +4,7 @@ import { Loader2 } from "lucide-react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/atoms/Button.tsx
7
- function Button({ children, loading, spinnerPlacement = "start", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled,...rest }) {
7
+ function Button({ children, loading, spinnerPlacement = "start", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled, ...rest }) {
8
8
  const isDisabled = Boolean(disabled || loading);
9
9
  const content = !rest.asChild ? /* @__PURE__ */ jsxs(Fragment, { children: [
10
10
  loading && spinnerPlacement === "start" ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : null,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["WebButton"],"sources":["../../../src/components/atoms/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Button as WebButton,\n type ButtonProps as WebButtonProps,\n} from '@lssm/lib.ui-kit-web/ui/button';\nimport { Loader2 } from 'lucide-react';\n// type-only import to avoid bundling RN on web\nimport type { PressableProps as RNPressableProps } from 'react-native';\n\ntype SpinnerPlacement = 'start' | 'end';\n\ntype PressableBridgeProps = Omit<\n RNPressableProps,\n 'onPress' | 'onPressIn' | 'onPressOut' | 'onLongPress'\n>;\n\nexport type ButtonProps = Omit<\n WebButtonProps,\n 'onClick' | 'disabled' | 'children'\n> &\n PressableBridgeProps & {\n children: React.ReactNode;\n loading?: boolean;\n loadingText?: string; // ignored on web, present for API symmetry\n spinnerPlacement?: SpinnerPlacement;\n // Normalized events\n onPress?: () => void;\n onPressIn?: () => void;\n onPressOut?: () => void;\n onLongPress?: () => void;\n // Web-only optional onClick for compatibility\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n\nexport function Button({\n children,\n loading,\n spinnerPlacement = 'start',\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n onTouchStart,\n onTouchEnd,\n onTouchCancel,\n onMouseDown,\n onMouseUp,\n onClick,\n className,\n disabled,\n ...rest\n}: ButtonProps) {\n const isDisabled = Boolean(disabled || loading);\n\n const content = !rest.asChild ? (\n <>\n {loading && spinnerPlacement === 'start' ? (\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n ) : null}\n {children}\n {loading && spinnerPlacement === 'end' ? (\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n ) : null}\n </>\n ) : (\n children\n );\n\n return (\n <WebButton\n {...(rest as any)}\n className={className}\n disabled={isDisabled}\n aria-busy={loading ? true : undefined}\n aria-disabled={isDisabled ? true : undefined}\n // normalized + bridged events\n onPress={onPress || onClick}\n onClick={onPress || onClick}\n onMouseDown={onMouseDown || onPressIn}\n onMouseUp={onMouseUp || onPressOut}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd || onPressOut}\n onTouchCancel={onTouchCancel || onPressOut}\n type={(rest as any)?.type ?? 'button'}\n >\n {content}\n </WebButton>\n );\n}\n\nexport default Button;\n"],"mappings":";;;;;;AAkCA,SAAgB,OAAO,EACrB,UACA,SACA,mBAAmB,SACnB,SACA,WACA,YACA,aACA,cACA,YACA,eACA,aACA,WACA,SACA,WACA,SACA,GAAG,QACW;CACd,MAAM,aAAa,QAAQ,YAAY,QAAQ;CAE/C,MAAM,UAAU,CAAC,KAAK,UACpB;EACG,WAAW,qBAAqB,UAC/B,oBAAC,WAAQ,WAAU,yBAAyB,GAC1C;EACH;EACA,WAAW,qBAAqB,QAC/B,oBAAC,WAAQ,WAAU,yBAAyB,GAC1C;KACH,GAEH;AAGF,QACE,oBAACA;EACC,GAAK;EACM;EACX,UAAU;EACV,aAAW,UAAU,OAAO;EAC5B,iBAAe,aAAa,OAAO;EAEnC,SAAS,WAAW;EACpB,SAAS,WAAW;EACpB,aAAa,eAAe;EAC5B,WAAW,aAAa;EACV;EACd,YAAY,cAAc;EAC1B,eAAe,iBAAiB;EAChC,MAAO,MAAc,QAAQ;YAE5B;GACS;;AAIhB,qBAAe"}
1
+ {"version":3,"file":"Button.js","names":["WebButton"],"sources":["../../../src/components/atoms/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Button as WebButton,\n type ButtonProps as WebButtonProps,\n} from '@lssm/lib.ui-kit-web/ui/button';\nimport { Loader2 } from 'lucide-react';\n// type-only import to avoid bundling RN on web\nimport type { PressableProps as RNPressableProps } from 'react-native';\n\ntype SpinnerPlacement = 'start' | 'end';\n\ntype PressableBridgeProps = Omit<\n RNPressableProps,\n 'onPress' | 'onPressIn' | 'onPressOut' | 'onLongPress'\n>;\n\nexport type ButtonProps = Omit<\n WebButtonProps,\n 'onClick' | 'disabled' | 'children'\n> &\n PressableBridgeProps & {\n children: React.ReactNode;\n loading?: boolean;\n loadingText?: string; // ignored on web, present for API symmetry\n spinnerPlacement?: SpinnerPlacement;\n // Normalized events\n onPress?: () => void;\n onPressIn?: () => void;\n onPressOut?: () => void;\n onLongPress?: () => void;\n // Web-only optional onClick for compatibility\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n\nexport function Button({\n children,\n loading,\n spinnerPlacement = 'start',\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n onTouchStart,\n onTouchEnd,\n onTouchCancel,\n onMouseDown,\n onMouseUp,\n onClick,\n className,\n disabled,\n ...rest\n}: ButtonProps) {\n const isDisabled = Boolean(disabled || loading);\n\n const content = !rest.asChild ? (\n <>\n {loading && spinnerPlacement === 'start' ? (\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n ) : null}\n {children}\n {loading && spinnerPlacement === 'end' ? (\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n ) : null}\n </>\n ) : (\n children\n );\n\n return (\n <WebButton\n {...(rest as any)}\n className={className}\n disabled={isDisabled}\n aria-busy={loading ? true : undefined}\n aria-disabled={isDisabled ? true : undefined}\n // normalized + bridged events\n onPress={onPress || onClick}\n onClick={onPress || onClick}\n onMouseDown={onMouseDown || onPressIn}\n onMouseUp={onMouseUp || onPressOut}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd || onPressOut}\n onTouchCancel={onTouchCancel || onPressOut}\n type={(rest as any)?.type ?? 'button'}\n >\n {content}\n </WebButton>\n );\n}\n\nexport default Button;\n"],"mappings":";;;;;;AAkCA,SAAgB,OAAO,EACrB,UACA,SACA,mBAAmB,SACnB,SACA,WACA,YACA,aACA,cACA,YACA,eACA,aACA,WACA,SACA,WACA,UACA,GAAG,QACW;CACd,MAAM,aAAa,QAAQ,YAAY,QAAQ;CAE/C,MAAM,UAAU,CAAC,KAAK,UACpB;EACG,WAAW,qBAAqB,UAC/B,oBAAC,WAAQ,WAAU,yBAAyB,GAC1C;EACH;EACA,WAAW,qBAAqB,QAC/B,oBAAC,WAAQ,WAAU,yBAAyB,GAC1C;KACH,GAEH;AAGF,QACE,oBAACA;EACC,GAAK;EACM;EACX,UAAU;EACV,aAAW,UAAU,OAAO;EAC5B,iBAAe,aAAa,OAAO;EAEnC,SAAS,WAAW;EACpB,SAAS,WAAW;EACpB,aAAa,eAAe;EAC5B,WAAW,aAAa;EACV;EACd,YAAY,cAAc;EAC1B,eAAe,iBAAiB;EAChC,MAAO,MAAc,QAAQ;YAE5B;GACS;;AAIhB,qBAAe"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime8 from "react/jsx-runtime";
2
2
  import { PressableProps } from "react-native";
3
3
  import { ButtonProps as ButtonProps$1 } from "@lssm/lib.ui-kit/ui/button";
4
4
 
@@ -16,7 +16,7 @@ declare function Button({
16
16
  spinnerPlacement,
17
17
  disabled,
18
18
  ...props
19
- }: ButtonProps): react_jsx_runtime6.JSX.Element;
19
+ }: ButtonProps): react_jsx_runtime8.JSX.Element;
20
20
  //#endregion
21
21
  export { Button, Button as default, ButtonProps };
22
22
  //# sourceMappingURL=Button.mobile.d.ts.map
@@ -6,7 +6,7 @@ import { HStack } from "@lssm/lib.ui-kit/ui/stack";
6
6
  import { Text as Text$1 } from "@lssm/lib.ui-kit/ui/text";
7
7
 
8
8
  //#region src/components/atoms/Button.mobile.tsx
9
- function Button({ children, loading, loadingText, spinnerPlacement = "start", disabled,...props }) {
9
+ function Button({ children, loading, loadingText, spinnerPlacement = "start", disabled, ...props }) {
10
10
  const isDisabled = Boolean(disabled || loading);
11
11
  const content = loading ? /* @__PURE__ */ jsxs(HStack, {
12
12
  className: "items-center gap-x-2",
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mobile.js","names":["Text","NativeButton"],"sources":["../../../src/components/atoms/Button.mobile.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Button as NativeButton,\n type ButtonProps as NativeButtonProps,\n} from '@lssm/lib.ui-kit/ui/button';\nimport { ActivityIndicator, type PressableProps } from 'react-native';\nimport { HStack } from '@lssm/lib.ui-kit/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit/ui/text';\n\ntype SpinnerPlacement = 'start' | 'end';\n\nexport type ButtonProps = NativeButtonProps &\n Omit<PressableProps, 'disabled'> & {\n loading?: boolean;\n loadingText?: string;\n spinnerPlacement?: SpinnerPlacement;\n };\n\nexport function Button({\n children,\n loading,\n loadingText,\n spinnerPlacement = 'start',\n disabled,\n ...props\n}: ButtonProps) {\n const isDisabled = Boolean(disabled || loading);\n\n const content = loading ? (\n <HStack className=\"items-center gap-x-2\">\n {spinnerPlacement === 'start' ? (\n <ActivityIndicator\n size=\"small\"\n color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}\n />\n ) : null}\n <Text>{loadingText || 'Loading…'}</Text>\n {spinnerPlacement === 'end' ? (\n <ActivityIndicator\n size=\"small\"\n color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}\n />\n ) : null}\n </HStack>\n ) : (\n children\n );\n\n return (\n <NativeButton disabled={isDisabled} {...props}>\n {content as any}\n </NativeButton>\n );\n}\n\nexport default Button;\n"],"mappings":";;;;;;;;AAkBA,SAAgB,OAAO,EACrB,UACA,SACA,aACA,mBAAmB,SACnB,SACA,GAAG,SACW;CACd,MAAM,aAAa,QAAQ,YAAY,QAAQ;CAE/C,MAAM,UAAU,UACd,qBAAC;EAAO,WAAU;;GACf,qBAAqB,UACpB,oBAAC;IACC,MAAK;IACL,OAAO,MAAM,YAAY,YAAY,YAAY;KACjD,GACA;GACJ,oBAACA,oBAAM,eAAe,aAAkB;GACvC,qBAAqB,QACpB,oBAAC;IACC,MAAK;IACL,OAAO,MAAM,YAAY,YAAY,YAAY;KACjD,GACA;;GACG,GAET;AAGF,QACE,oBAACC;EAAa,UAAU;EAAY,GAAI;YACrC;GACY;;AAInB,4BAAe"}
1
+ {"version":3,"file":"Button.mobile.js","names":["Text","NativeButton"],"sources":["../../../src/components/atoms/Button.mobile.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Button as NativeButton,\n type ButtonProps as NativeButtonProps,\n} from '@lssm/lib.ui-kit/ui/button';\nimport { ActivityIndicator, type PressableProps } from 'react-native';\nimport { HStack } from '@lssm/lib.ui-kit/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit/ui/text';\n\ntype SpinnerPlacement = 'start' | 'end';\n\nexport type ButtonProps = NativeButtonProps &\n Omit<PressableProps, 'disabled'> & {\n loading?: boolean;\n loadingText?: string;\n spinnerPlacement?: SpinnerPlacement;\n };\n\nexport function Button({\n children,\n loading,\n loadingText,\n spinnerPlacement = 'start',\n disabled,\n ...props\n}: ButtonProps) {\n const isDisabled = Boolean(disabled || loading);\n\n const content = loading ? (\n <HStack className=\"items-center gap-x-2\">\n {spinnerPlacement === 'start' ? (\n <ActivityIndicator\n size=\"small\"\n color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}\n />\n ) : null}\n <Text>{loadingText || 'Loading…'}</Text>\n {spinnerPlacement === 'end' ? (\n <ActivityIndicator\n size=\"small\"\n color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}\n />\n ) : null}\n </HStack>\n ) : (\n children\n );\n\n return (\n <NativeButton disabled={isDisabled} {...props}>\n {content as any}\n </NativeButton>\n );\n}\n\nexport default Button;\n"],"mappings":";;;;;;;;AAkBA,SAAgB,OAAO,EACrB,UACA,SACA,aACA,mBAAmB,SACnB,UACA,GAAG,SACW;CACd,MAAM,aAAa,QAAQ,YAAY,QAAQ;CAE/C,MAAM,UAAU,UACd,qBAAC;EAAO,WAAU;;GACf,qBAAqB,UACpB,oBAAC;IACC,MAAK;IACL,OAAO,MAAM,YAAY,YAAY,YAAY;KACjD,GACA;GACJ,oBAACA,oBAAM,eAAe,aAAkB;GACvC,qBAAqB,QACpB,oBAAC;IACC,MAAK;IACL,OAAO,MAAM,YAAY,YAAY,YAAY;KACjD,GACA;;GACG,GAET;AAGF,QACE,oBAACC;EAAa,UAAU;EAAY,GAAI;YACrC;GACY;;AAInB,4BAAe"}
@@ -1,6 +1,6 @@
1
1
  import { ButtonProps } from "./Button.js";
2
2
  import { LinkProps } from "./Link.web.js";
3
- import * as react_jsx_runtime9 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime11 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/atoms/ButtonLink.d.ts
6
6
  type ButtonLinkProps = ButtonProps & Pick<LinkProps, 'href' | 'target' | 'rel' | 'onClick'> & {
@@ -16,7 +16,7 @@ declare function ButtonLink({
16
16
  children,
17
17
  onClick,
18
18
  ...btn
19
- }: ButtonLinkProps): react_jsx_runtime9.JSX.Element;
19
+ }: ButtonLinkProps): react_jsx_runtime11.JSX.Element;
20
20
  //#endregion
21
21
  export { ButtonLink, ButtonLink as default, ButtonLinkProps };
22
22
  //# sourceMappingURL=ButtonLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonLink.d.ts","names":[],"sources":["../../../src/components/atoms/ButtonLink.tsx"],"sourcesContent":[],"mappings":";;;;;KAMY,eAAA,GAAkB,cAC5B,KAAK;;;AADK,iBAKI,UAAA,CALW;EAAA,IAAA;EAAA,MAAA;EAAA,GAAA;EAAA,OAAA;EAAA,OAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EAexB,eAfwB,CAAA,EAeT,kBAAA,CAAA,GAAA,CAAA,OAfS"}
1
+ {"version":3,"file":"ButtonLink.d.ts","names":[],"sources":["../../../src/components/atoms/ButtonLink.tsx"],"sourcesContent":[],"mappings":";;;;;KAMY,eAAA,GAAkB,cAC5B,KAAK;;;AADK,iBAKI,UAAA,CALW;EAAA,IAAA;EAAA,MAAA;EAAA,GAAA;EAAA,OAAA;EAAA,OAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EAexB,eAfwB,CAAA,EAeT,mBAAA,CAAA,GAAA,CAAA,OAfS"}
@@ -1,13 +1,12 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { Button } from "./Button.js";
5
4
  import { Link } from "./Link.web.js";
6
5
  import * as React$1 from "react";
7
6
  import { jsx } from "react/jsx-runtime";
8
7
 
9
8
  //#region src/components/atoms/ButtonLink.tsx
10
- function ButtonLink({ href, target, rel, replace, loading, disabled, children, onClick,...btn }) {
9
+ function ButtonLink({ href, target, rel, replace, loading, disabled, children, onClick, ...btn }) {
11
10
  const blocked = Boolean(disabled || loading);
12
11
  const handleClick = React$1.useCallback((e) => {
13
12
  if (blocked) {