@lssm/lib.design-system 1.10.0 → 1.11.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 (548) hide show
  1. package/README.md +11 -0
  2. package/dist/components/agent/AgentMonitor.d.ts +3 -4
  3. package/dist/components/agent/AgentMonitor.js +1 -2
  4. package/dist/components/agent/ApprovalQueue.d.ts +3 -4
  5. package/dist/components/agent/ApprovalQueue.js +1 -2
  6. package/dist/components/atoms/ActionButtons.d.ts +8 -9
  7. package/dist/components/atoms/ActionButtons.js +1 -2
  8. package/dist/components/atoms/Button.d.ts +3 -4
  9. package/dist/components/atoms/Button.js +1 -2
  10. package/dist/components/atoms/Button.mobile.d.ts +3 -4
  11. package/dist/components/atoms/Button.mobile.js +1 -2
  12. package/dist/components/atoms/ButtonLink.d.ts +3 -4
  13. package/dist/components/atoms/ButtonLink.js +1 -2
  14. package/dist/components/atoms/ButtonLink.mobile.d.ts +3 -4
  15. package/dist/components/atoms/ButtonLink.mobile.js +1 -2
  16. package/dist/components/atoms/Cta.d.ts +3 -4
  17. package/dist/components/atoms/Cta.js +1 -2
  18. package/dist/components/atoms/Cta.mobile.d.ts +1 -2
  19. package/dist/components/atoms/Cta.mobile.js +1 -2
  20. package/dist/components/atoms/DataChips.d.ts +8 -9
  21. package/dist/components/atoms/DataChips.js +1 -2
  22. package/dist/components/atoms/EmptyState.d.ts +3 -4
  23. package/dist/components/atoms/EmptyState.js +1 -2
  24. package/dist/components/atoms/ErrorState.d.ts +3 -4
  25. package/dist/components/atoms/ErrorState.js +1 -2
  26. package/dist/components/atoms/ErrorState.mobile.d.ts +3 -4
  27. package/dist/components/atoms/ErrorState.mobile.js +1 -2
  28. package/dist/components/atoms/Input.d.ts +3 -4
  29. package/dist/components/atoms/Input.js +1 -2
  30. package/dist/components/atoms/Input.mobile.d.ts +3 -4
  31. package/dist/components/atoms/Input.mobile.js +1 -2
  32. package/dist/components/atoms/Link.d.ts +3 -4
  33. package/dist/components/atoms/Link.js +1 -2
  34. package/dist/components/atoms/Link.web.d.ts +3 -4
  35. package/dist/components/atoms/Link.web.js +1 -2
  36. package/dist/components/atoms/LoaderCircular.d.ts +5 -6
  37. package/dist/components/atoms/LoaderCircular.js +1 -2
  38. package/dist/components/atoms/LoaderCircular.mobile.d.ts +3 -4
  39. package/dist/components/atoms/LoaderCircular.mobile.js +1 -2
  40. package/dist/components/atoms/NavBrand.d.ts +3 -4
  41. package/dist/components/atoms/NavBrand.js +1 -2
  42. package/dist/components/atoms/Stepper.d.ts +3 -4
  43. package/dist/components/atoms/Stepper.js +1 -2
  44. package/dist/components/atoms/Textarea.d.ts +3 -4
  45. package/dist/components/atoms/Textarea.js +1 -2
  46. package/dist/components/atoms/Textarea.mobile.d.ts +3 -4
  47. package/dist/components/atoms/Textarea.mobile.js +1 -2
  48. package/dist/components/data-view/DataViewDetail.d.ts +3 -4
  49. package/dist/components/data-view/DataViewDetail.js +1 -2
  50. package/dist/components/data-view/DataViewList.d.ts +3 -4
  51. package/dist/components/data-view/DataViewList.js +1 -2
  52. package/dist/components/data-view/DataViewRenderer.d.ts +3 -4
  53. package/dist/components/data-view/DataViewRenderer.js +1 -2
  54. package/dist/components/data-view/DataViewTable.d.ts +3 -4
  55. package/dist/components/data-view/DataViewTable.js +1 -2
  56. package/dist/components/data-view/utils.d.ts +1 -2
  57. package/dist/components/data-view/utils.js +1 -2
  58. package/dist/components/forms/FormCardLayout.d.ts +3 -4
  59. package/dist/components/forms/FormCardLayout.js +1 -2
  60. package/dist/components/forms/FormDialog.d.ts +3 -4
  61. package/dist/components/forms/FormDialog.js +1 -2
  62. package/dist/components/forms/FormLayout.d.ts +5 -6
  63. package/dist/components/forms/FormLayout.js +1 -2
  64. package/dist/components/forms/FormOneByOneLayout.d.ts +3 -4
  65. package/dist/components/forms/FormOneByOneLayout.js +1 -2
  66. package/dist/components/forms/FormStepsLayout.d.ts +3 -4
  67. package/dist/components/forms/FormStepsLayout.js +1 -2
  68. package/dist/components/forms/ZodForm.d.ts +3 -4
  69. package/dist/components/forms/ZodForm.js +1 -2
  70. package/dist/components/legal/atoms/DefinitionList.d.ts +3 -4
  71. package/dist/components/legal/atoms/DefinitionList.js +1 -2
  72. package/dist/components/legal/atoms/KeyValueList.d.ts +3 -4
  73. package/dist/components/legal/atoms/KeyValueList.js +1 -2
  74. package/dist/components/legal/atoms/LegalCallout.d.ts +6 -7
  75. package/dist/components/legal/atoms/LegalCallout.js +1 -2
  76. package/dist/components/legal/atoms/LegalHeading.d.ts +5 -6
  77. package/dist/components/legal/atoms/LegalHeading.js +1 -2
  78. package/dist/components/legal/atoms/LegalList.d.ts +5 -6
  79. package/dist/components/legal/atoms/LegalList.js +1 -2
  80. package/dist/components/legal/atoms/LegalSection.d.ts +5 -6
  81. package/dist/components/legal/atoms/LegalSection.js +1 -2
  82. package/dist/components/legal/atoms/LegalText.d.ts +6 -7
  83. package/dist/components/legal/atoms/LegalText.js +1 -2
  84. package/dist/components/legal/molecules/Consent.d.ts +4 -5
  85. package/dist/components/legal/molecules/Consent.js +1 -2
  86. package/dist/components/legal/molecules/ContactFields.d.ts +3 -4
  87. package/dist/components/legal/molecules/ContactFields.js +1 -2
  88. package/dist/components/legal/molecules/LegalMeta.d.ts +3 -4
  89. package/dist/components/legal/molecules/LegalMeta.js +1 -2
  90. package/dist/components/legal/molecules/LegalTOC.d.ts +5 -6
  91. package/dist/components/legal/molecules/LegalTOC.js +1 -2
  92. package/dist/components/legal/organisms/ContactForm.d.ts +3 -4
  93. package/dist/components/legal/organisms/ContactForm.js +1 -2
  94. package/dist/components/legal/organisms/GDPRDataRequest.d.ts +3 -4
  95. package/dist/components/legal/organisms/GDPRDataRequest.js +1 -2
  96. package/dist/components/legal/organisms/GDPRRights.d.ts +3 -4
  97. package/dist/components/legal/organisms/GDPRRights.js +1 -2
  98. package/dist/components/legal/organisms/LegalPageLayout.d.ts +3 -4
  99. package/dist/components/legal/organisms/LegalPageLayout.js +1 -2
  100. package/dist/components/legal/templates/ContactTemplate.d.ts +3 -4
  101. package/dist/components/legal/templates/ContactTemplate.js +1 -2
  102. package/dist/components/legal/templates/CookiesTemplate.d.ts +3 -4
  103. package/dist/components/legal/templates/CookiesTemplate.js +1 -2
  104. package/dist/components/legal/templates/PrivacyTemplate.d.ts +3 -4
  105. package/dist/components/legal/templates/PrivacyTemplate.js +1 -2
  106. package/dist/components/legal/templates/SalesTermsTemplate.d.ts +3 -4
  107. package/dist/components/legal/templates/SalesTermsTemplate.js +1 -2
  108. package/dist/components/legal/templates/TermsTemplate.d.ts +3 -4
  109. package/dist/components/legal/templates/TermsTemplate.js +1 -2
  110. package/dist/components/molecules/AiLinkButton.d.ts +3 -4
  111. package/dist/components/molecules/AiLinkButton.js +1 -2
  112. package/dist/components/molecules/Breadcrumbs.d.ts +3 -4
  113. package/dist/components/molecules/Breadcrumbs.js +1 -2
  114. package/dist/components/molecules/CommandPalette.d.ts +3 -4
  115. package/dist/components/molecules/CommandPalette.js +1 -2
  116. package/dist/components/molecules/CommandSearchTrigger.d.ts +3 -4
  117. package/dist/components/molecules/CommandSearchTrigger.js +1 -2
  118. package/dist/components/molecules/EntityCard.d.ts +5 -6
  119. package/dist/components/molecules/EntityCard.js +1 -2
  120. package/dist/components/molecules/FiltersToolbar.d.ts +3 -4
  121. package/dist/components/molecules/FiltersToolbar.js +1 -2
  122. package/dist/components/molecules/FiltersToolbar.mobile.d.ts +3 -4
  123. package/dist/components/molecules/FiltersToolbar.mobile.js +1 -2
  124. package/dist/components/molecules/HoverPreview.d.ts +3 -4
  125. package/dist/components/molecules/HoverPreview.js +1 -2
  126. package/dist/components/molecules/LangSwitch.d.ts +3 -4
  127. package/dist/components/molecules/LangSwitch.js +1 -2
  128. package/dist/components/molecules/LangSwitchDropdown.d.ts +3 -4
  129. package/dist/components/molecules/LangSwitchDropdown.js +1 -2
  130. package/dist/components/molecules/LoaderBlock.d.ts +3 -4
  131. package/dist/components/molecules/LoaderBlock.js +1 -2
  132. package/dist/components/molecules/LoaderBlock.mobile.d.ts +3 -4
  133. package/dist/components/molecules/LoaderBlock.mobile.js +1 -2
  134. package/dist/components/molecules/MobileNavMenu.d.ts +3 -4
  135. package/dist/components/molecules/MobileNavMenu.js +1 -2
  136. package/dist/components/molecules/NavItemCard.d.ts +3 -4
  137. package/dist/components/molecules/NavItemCard.js +1 -2
  138. package/dist/components/molecules/NavMain.d.ts +3 -4
  139. package/dist/components/molecules/NavMain.js +1 -2
  140. package/dist/components/molecules/NavUser.d.ts +3 -4
  141. package/dist/components/molecules/NavUser.js +1 -2
  142. package/dist/components/molecules/OverviewCard.d.ts +3 -4
  143. package/dist/components/molecules/OverviewCard.js +1 -2
  144. package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts +3 -4
  145. package/dist/components/molecules/SkeletonBlock/index.mobile.js +1 -2
  146. package/dist/components/molecules/SkeletonBlock/index.web.d.ts +3 -4
  147. package/dist/components/molecules/SkeletonBlock/index.web.js +1 -2
  148. package/dist/components/molecules/SkeletonBlock/types.d.ts +1 -2
  149. package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts +3 -4
  150. package/dist/components/molecules/SkeletonCircle/index.mobile.js +1 -2
  151. package/dist/components/molecules/SkeletonCircle/index.web.d.ts +3 -4
  152. package/dist/components/molecules/SkeletonCircle/index.web.js +1 -2
  153. package/dist/components/molecules/SkeletonCircle/types.d.ts +1 -2
  154. package/dist/components/molecules/SkeletonList/index.mobile.d.ts +3 -4
  155. package/dist/components/molecules/SkeletonList/index.mobile.js +1 -2
  156. package/dist/components/molecules/SkeletonList/index.web.d.ts +3 -4
  157. package/dist/components/molecules/SkeletonList/index.web.js +1 -2
  158. package/dist/components/molecules/SkeletonList/types.d.ts +1 -2
  159. package/dist/components/molecules/StatCard.d.ts +6 -7
  160. package/dist/components/molecules/StatCard.js +1 -2
  161. package/dist/components/molecules/StatusChip.d.ts +4 -5
  162. package/dist/components/molecules/StatusChip.js +1 -2
  163. package/dist/components/molecules/hover-previews/Doc.d.ts +3 -4
  164. package/dist/components/molecules/hover-previews/Doc.js +1 -2
  165. package/dist/components/molecules/hover-previews/Media.d.ts +3 -4
  166. package/dist/components/molecules/hover-previews/Media.js +1 -2
  167. package/dist/components/molecules/hover-previews/Simple.d.ts +3 -4
  168. package/dist/components/molecules/hover-previews/Simple.js +1 -2
  169. package/dist/components/molecules/hover-previews/Stats.d.ts +3 -4
  170. package/dist/components/molecules/hover-previews/Stats.js +1 -2
  171. package/dist/components/molecules/hover-previews/User.d.ts +3 -4
  172. package/dist/components/molecules/hover-previews/User.js +1 -2
  173. package/dist/components/native/BottomTabs.mobile.d.ts +3 -4
  174. package/dist/components/native/BottomTabs.mobile.js +1 -2
  175. package/dist/components/native/FlatListScreen.mobile.d.ts +5 -6
  176. package/dist/components/native/FlatListScreen.mobile.js +1 -2
  177. package/dist/components/native/SheetMenu.mobile.d.ts +3 -4
  178. package/dist/components/native/SheetMenu.mobile.js +1 -2
  179. package/dist/components/organisms/AcademyLayout.d.ts +3 -4
  180. package/dist/components/organisms/AcademyLayout.js +1 -2
  181. package/dist/components/organisms/AppHeader.d.ts +3 -4
  182. package/dist/components/organisms/AppHeader.js +1 -2
  183. package/dist/components/organisms/AppHeader.mobile.d.ts +3 -4
  184. package/dist/components/organisms/AppHeader.mobile.js +1 -2
  185. package/dist/components/organisms/AppLayout.d.ts +3 -4
  186. package/dist/components/organisms/AppLayout.js +1 -2
  187. package/dist/components/organisms/AppSidebar.d.ts +3 -4
  188. package/dist/components/organisms/AppSidebar.js +1 -2
  189. package/dist/components/organisms/EmptyDataList.d.ts +3 -4
  190. package/dist/components/organisms/EmptyDataList.js +1 -2
  191. package/dist/components/organisms/EmptyDataList.mobile.d.ts +3 -4
  192. package/dist/components/organisms/EmptyDataList.mobile.js +1 -2
  193. package/dist/components/organisms/EmptyDataList.types.d.ts +1 -2
  194. package/dist/components/organisms/EmptySearchResult.d.ts +3 -4
  195. package/dist/components/organisms/EmptySearchResult.js +1 -2
  196. package/dist/components/organisms/FAQSection.d.ts +3 -4
  197. package/dist/components/organisms/FAQSection.js +1 -2
  198. package/dist/components/organisms/FeatureCarousel.d.ts +3 -4
  199. package/dist/components/organisms/FeatureCarousel.js +1 -2
  200. package/dist/components/organisms/FeaturesSection.d.ts +3 -4
  201. package/dist/components/organisms/FeaturesSection.js +1 -2
  202. package/dist/components/organisms/Footer.d.ts +3 -4
  203. package/dist/components/organisms/Footer.js +1 -2
  204. package/dist/components/organisms/GridLayout.d.ts +5 -6
  205. package/dist/components/organisms/GridLayout.js +1 -2
  206. package/dist/components/organisms/Header.d.ts +5 -6
  207. package/dist/components/organisms/Header.js +1 -2
  208. package/dist/components/organisms/Header.mobile.d.ts +3 -4
  209. package/dist/components/organisms/Header.mobile.js +1 -2
  210. package/dist/components/organisms/HeroResponsive.d.ts +3 -4
  211. package/dist/components/organisms/HeroResponsive.js +1 -2
  212. package/dist/components/organisms/HeroSection.d.ts +3 -4
  213. package/dist/components/organisms/HeroSection.js +1 -2
  214. package/dist/components/organisms/ListCardPage.d.ts +6 -7
  215. package/dist/components/organisms/ListCardPage.js +1 -2
  216. package/dist/components/organisms/ListGridPage.d.ts +6 -7
  217. package/dist/components/organisms/ListGridPage.js +1 -2
  218. package/dist/components/organisms/ListPageResponsive.d.ts +3 -4
  219. package/dist/components/organisms/ListPageResponsive.js +1 -2
  220. package/dist/components/organisms/ListTablePage.d.ts +5 -6
  221. package/dist/components/organisms/ListTablePage.js +1 -2
  222. package/dist/components/organisms/MarketingHeader.d.ts +3 -4
  223. package/dist/components/organisms/MarketingHeader.js +1 -2
  224. package/dist/components/organisms/MarketingHeaderDesktop.d.ts +3 -4
  225. package/dist/components/organisms/MarketingHeaderDesktop.js +1 -2
  226. package/dist/components/organisms/MarketingHeaderMobile.d.ts +3 -4
  227. package/dist/components/organisms/MarketingHeaderMobile.js +1 -2
  228. package/dist/components/organisms/MarketingLayout.d.ts +3 -4
  229. package/dist/components/organisms/MarketingLayout.js +1 -2
  230. package/dist/components/organisms/PageHeaderResponsive.d.ts +3 -4
  231. package/dist/components/organisms/PageHeaderResponsive.js +1 -2
  232. package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts +3 -4
  233. package/dist/components/organisms/PageHeaderResponsive.mobile.js +1 -2
  234. package/dist/components/organisms/PricingCarousel.d.ts +3 -4
  235. package/dist/components/organisms/PricingCarousel.js +1 -2
  236. package/dist/components/organisms/PricingSection.d.ts +3 -4
  237. package/dist/components/organisms/PricingSection.js +1 -2
  238. package/dist/components/organisms/TestimonialCarousel.d.ts +3 -4
  239. package/dist/components/organisms/TestimonialCarousel.js +1 -2
  240. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts +1 -2
  241. package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +1 -2
  242. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +3 -4
  243. package/dist/components/templates/lists/ListPageTemplate/index.web.js +1 -2
  244. package/dist/components/templates/lists/ListPageTemplate/types.d.ts +1 -2
  245. package/dist/hooks/useListUrlState.d.ts +1 -2
  246. package/dist/hooks/useListUrlState.js +1 -2
  247. package/dist/index.js +1 -2
  248. package/dist/lib/keyboard.d.ts +1 -2
  249. package/dist/lib/keyboard.js +1 -2
  250. package/dist/lib/utils.d.ts +1 -2
  251. package/dist/lib/utils.js +1 -2
  252. package/dist/platform/useColorScheme.d.ts +1 -2
  253. package/dist/platform/useColorScheme.js +1 -2
  254. package/dist/platform/useColorScheme.mobile.d.ts +1 -2
  255. package/dist/platform/useColorScheme.mobile.js +1 -2
  256. package/dist/platform/useReducedMotion.d.ts +1 -2
  257. package/dist/platform/useReducedMotion.js +1 -2
  258. package/dist/platform/useReducedMotion.mobile.d.ts +1 -2
  259. package/dist/platform/useReducedMotion.mobile.js +1 -2
  260. package/dist/platform/useResponsive.d.ts +1 -2
  261. package/dist/platform/useResponsive.js +1 -2
  262. package/dist/platform/useResponsive.mobile.d.ts +1 -2
  263. package/dist/platform/useResponsive.mobile.js +1 -2
  264. package/dist/platform/withPlatformUI.d.ts +1 -2
  265. package/dist/platform/withPlatformUI.js +1 -2
  266. package/dist/renderers/form-contract.d.ts +3 -4
  267. package/dist/renderers/form-contract.js +1 -2
  268. package/dist/theme/tokenBridge.d.ts +1 -2
  269. package/dist/theme/tokenBridge.js +1 -2
  270. package/dist/theme/tokens.d.ts +1 -2
  271. package/dist/theme/tokens.js +1 -2
  272. package/dist/theme/variants.d.ts +4 -5
  273. package/dist/theme/variants.js +1 -2
  274. package/dist/types/navigation.d.ts +1 -2
  275. package/package.json +10 -7
  276. package/dist/components/agent/AgentMonitor.d.ts.map +0 -1
  277. package/dist/components/agent/AgentMonitor.js.map +0 -1
  278. package/dist/components/agent/ApprovalQueue.d.ts.map +0 -1
  279. package/dist/components/agent/ApprovalQueue.js.map +0 -1
  280. package/dist/components/atoms/ActionButtons.d.ts.map +0 -1
  281. package/dist/components/atoms/ActionButtons.js.map +0 -1
  282. package/dist/components/atoms/Button.d.ts.map +0 -1
  283. package/dist/components/atoms/Button.js.map +0 -1
  284. package/dist/components/atoms/Button.mobile.d.ts.map +0 -1
  285. package/dist/components/atoms/Button.mobile.js.map +0 -1
  286. package/dist/components/atoms/ButtonLink.d.ts.map +0 -1
  287. package/dist/components/atoms/ButtonLink.js.map +0 -1
  288. package/dist/components/atoms/ButtonLink.mobile.d.ts.map +0 -1
  289. package/dist/components/atoms/ButtonLink.mobile.js.map +0 -1
  290. package/dist/components/atoms/Cta.d.ts.map +0 -1
  291. package/dist/components/atoms/Cta.js.map +0 -1
  292. package/dist/components/atoms/Cta.mobile.d.ts.map +0 -1
  293. package/dist/components/atoms/Cta.mobile.js.map +0 -1
  294. package/dist/components/atoms/DataChips.d.ts.map +0 -1
  295. package/dist/components/atoms/DataChips.js.map +0 -1
  296. package/dist/components/atoms/EmptyState.d.ts.map +0 -1
  297. package/dist/components/atoms/EmptyState.js.map +0 -1
  298. package/dist/components/atoms/ErrorState.d.ts.map +0 -1
  299. package/dist/components/atoms/ErrorState.js.map +0 -1
  300. package/dist/components/atoms/ErrorState.mobile.d.ts.map +0 -1
  301. package/dist/components/atoms/ErrorState.mobile.js.map +0 -1
  302. package/dist/components/atoms/Input.d.ts.map +0 -1
  303. package/dist/components/atoms/Input.js.map +0 -1
  304. package/dist/components/atoms/Input.mobile.d.ts.map +0 -1
  305. package/dist/components/atoms/Input.mobile.js.map +0 -1
  306. package/dist/components/atoms/Link.d.ts.map +0 -1
  307. package/dist/components/atoms/Link.js.map +0 -1
  308. package/dist/components/atoms/Link.web.d.ts.map +0 -1
  309. package/dist/components/atoms/Link.web.js.map +0 -1
  310. package/dist/components/atoms/LoaderCircular.d.ts.map +0 -1
  311. package/dist/components/atoms/LoaderCircular.js.map +0 -1
  312. package/dist/components/atoms/LoaderCircular.mobile.d.ts.map +0 -1
  313. package/dist/components/atoms/LoaderCircular.mobile.js.map +0 -1
  314. package/dist/components/atoms/NavBrand.d.ts.map +0 -1
  315. package/dist/components/atoms/NavBrand.js.map +0 -1
  316. package/dist/components/atoms/Stepper.d.ts.map +0 -1
  317. package/dist/components/atoms/Stepper.js.map +0 -1
  318. package/dist/components/atoms/Textarea.d.ts.map +0 -1
  319. package/dist/components/atoms/Textarea.js.map +0 -1
  320. package/dist/components/atoms/Textarea.mobile.d.ts.map +0 -1
  321. package/dist/components/atoms/Textarea.mobile.js.map +0 -1
  322. package/dist/components/data-view/DataViewDetail.d.ts.map +0 -1
  323. package/dist/components/data-view/DataViewDetail.js.map +0 -1
  324. package/dist/components/data-view/DataViewList.d.ts.map +0 -1
  325. package/dist/components/data-view/DataViewList.js.map +0 -1
  326. package/dist/components/data-view/DataViewRenderer.d.ts.map +0 -1
  327. package/dist/components/data-view/DataViewRenderer.js.map +0 -1
  328. package/dist/components/data-view/DataViewTable.d.ts.map +0 -1
  329. package/dist/components/data-view/DataViewTable.js.map +0 -1
  330. package/dist/components/data-view/utils.d.ts.map +0 -1
  331. package/dist/components/data-view/utils.js.map +0 -1
  332. package/dist/components/forms/FormCardLayout.d.ts.map +0 -1
  333. package/dist/components/forms/FormCardLayout.js.map +0 -1
  334. package/dist/components/forms/FormDialog.d.ts.map +0 -1
  335. package/dist/components/forms/FormDialog.js.map +0 -1
  336. package/dist/components/forms/FormLayout.d.ts.map +0 -1
  337. package/dist/components/forms/FormLayout.js.map +0 -1
  338. package/dist/components/forms/FormOneByOneLayout.d.ts.map +0 -1
  339. package/dist/components/forms/FormOneByOneLayout.js.map +0 -1
  340. package/dist/components/forms/FormStepsLayout.d.ts.map +0 -1
  341. package/dist/components/forms/FormStepsLayout.js.map +0 -1
  342. package/dist/components/forms/ZodForm.d.ts.map +0 -1
  343. package/dist/components/forms/ZodForm.js.map +0 -1
  344. package/dist/components/legal/atoms/DefinitionList.d.ts.map +0 -1
  345. package/dist/components/legal/atoms/DefinitionList.js.map +0 -1
  346. package/dist/components/legal/atoms/KeyValueList.d.ts.map +0 -1
  347. package/dist/components/legal/atoms/KeyValueList.js.map +0 -1
  348. package/dist/components/legal/atoms/LegalCallout.d.ts.map +0 -1
  349. package/dist/components/legal/atoms/LegalCallout.js.map +0 -1
  350. package/dist/components/legal/atoms/LegalHeading.d.ts.map +0 -1
  351. package/dist/components/legal/atoms/LegalHeading.js.map +0 -1
  352. package/dist/components/legal/atoms/LegalList.d.ts.map +0 -1
  353. package/dist/components/legal/atoms/LegalList.js.map +0 -1
  354. package/dist/components/legal/atoms/LegalSection.d.ts.map +0 -1
  355. package/dist/components/legal/atoms/LegalSection.js.map +0 -1
  356. package/dist/components/legal/atoms/LegalText.d.ts.map +0 -1
  357. package/dist/components/legal/atoms/LegalText.js.map +0 -1
  358. package/dist/components/legal/molecules/Consent.d.ts.map +0 -1
  359. package/dist/components/legal/molecules/Consent.js.map +0 -1
  360. package/dist/components/legal/molecules/ContactFields.d.ts.map +0 -1
  361. package/dist/components/legal/molecules/ContactFields.js.map +0 -1
  362. package/dist/components/legal/molecules/LegalMeta.d.ts.map +0 -1
  363. package/dist/components/legal/molecules/LegalMeta.js.map +0 -1
  364. package/dist/components/legal/molecules/LegalTOC.d.ts.map +0 -1
  365. package/dist/components/legal/molecules/LegalTOC.js.map +0 -1
  366. package/dist/components/legal/organisms/ContactForm.d.ts.map +0 -1
  367. package/dist/components/legal/organisms/ContactForm.js.map +0 -1
  368. package/dist/components/legal/organisms/GDPRDataRequest.d.ts.map +0 -1
  369. package/dist/components/legal/organisms/GDPRDataRequest.js.map +0 -1
  370. package/dist/components/legal/organisms/GDPRRights.d.ts.map +0 -1
  371. package/dist/components/legal/organisms/GDPRRights.js.map +0 -1
  372. package/dist/components/legal/organisms/LegalPageLayout.d.ts.map +0 -1
  373. package/dist/components/legal/organisms/LegalPageLayout.js.map +0 -1
  374. package/dist/components/legal/templates/ContactTemplate.d.ts.map +0 -1
  375. package/dist/components/legal/templates/ContactTemplate.js.map +0 -1
  376. package/dist/components/legal/templates/CookiesTemplate.d.ts.map +0 -1
  377. package/dist/components/legal/templates/CookiesTemplate.js.map +0 -1
  378. package/dist/components/legal/templates/PrivacyTemplate.d.ts.map +0 -1
  379. package/dist/components/legal/templates/PrivacyTemplate.js.map +0 -1
  380. package/dist/components/legal/templates/SalesTermsTemplate.d.ts.map +0 -1
  381. package/dist/components/legal/templates/SalesTermsTemplate.js.map +0 -1
  382. package/dist/components/legal/templates/TermsTemplate.d.ts.map +0 -1
  383. package/dist/components/legal/templates/TermsTemplate.js.map +0 -1
  384. package/dist/components/molecules/AiLinkButton.d.ts.map +0 -1
  385. package/dist/components/molecules/AiLinkButton.js.map +0 -1
  386. package/dist/components/molecules/Breadcrumbs.d.ts.map +0 -1
  387. package/dist/components/molecules/Breadcrumbs.js.map +0 -1
  388. package/dist/components/molecules/CommandPalette.d.ts.map +0 -1
  389. package/dist/components/molecules/CommandPalette.js.map +0 -1
  390. package/dist/components/molecules/CommandSearchTrigger.d.ts.map +0 -1
  391. package/dist/components/molecules/CommandSearchTrigger.js.map +0 -1
  392. package/dist/components/molecules/EntityCard.d.ts.map +0 -1
  393. package/dist/components/molecules/EntityCard.js.map +0 -1
  394. package/dist/components/molecules/FiltersToolbar.d.ts.map +0 -1
  395. package/dist/components/molecules/FiltersToolbar.js.map +0 -1
  396. package/dist/components/molecules/FiltersToolbar.mobile.d.ts.map +0 -1
  397. package/dist/components/molecules/FiltersToolbar.mobile.js.map +0 -1
  398. package/dist/components/molecules/HoverPreview.d.ts.map +0 -1
  399. package/dist/components/molecules/HoverPreview.js.map +0 -1
  400. package/dist/components/molecules/LangSwitch.d.ts.map +0 -1
  401. package/dist/components/molecules/LangSwitch.js.map +0 -1
  402. package/dist/components/molecules/LangSwitchDropdown.d.ts.map +0 -1
  403. package/dist/components/molecules/LangSwitchDropdown.js.map +0 -1
  404. package/dist/components/molecules/LoaderBlock.d.ts.map +0 -1
  405. package/dist/components/molecules/LoaderBlock.js.map +0 -1
  406. package/dist/components/molecules/LoaderBlock.mobile.d.ts.map +0 -1
  407. package/dist/components/molecules/LoaderBlock.mobile.js.map +0 -1
  408. package/dist/components/molecules/MobileNavMenu.d.ts.map +0 -1
  409. package/dist/components/molecules/MobileNavMenu.js.map +0 -1
  410. package/dist/components/molecules/NavItemCard.d.ts.map +0 -1
  411. package/dist/components/molecules/NavItemCard.js.map +0 -1
  412. package/dist/components/molecules/NavMain.d.ts.map +0 -1
  413. package/dist/components/molecules/NavMain.js.map +0 -1
  414. package/dist/components/molecules/NavUser.d.ts.map +0 -1
  415. package/dist/components/molecules/NavUser.js.map +0 -1
  416. package/dist/components/molecules/OverviewCard.d.ts.map +0 -1
  417. package/dist/components/molecules/OverviewCard.js.map +0 -1
  418. package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts.map +0 -1
  419. package/dist/components/molecules/SkeletonBlock/index.mobile.js.map +0 -1
  420. package/dist/components/molecules/SkeletonBlock/index.web.d.ts.map +0 -1
  421. package/dist/components/molecules/SkeletonBlock/index.web.js.map +0 -1
  422. package/dist/components/molecules/SkeletonBlock/types.d.ts.map +0 -1
  423. package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts.map +0 -1
  424. package/dist/components/molecules/SkeletonCircle/index.mobile.js.map +0 -1
  425. package/dist/components/molecules/SkeletonCircle/index.web.d.ts.map +0 -1
  426. package/dist/components/molecules/SkeletonCircle/index.web.js.map +0 -1
  427. package/dist/components/molecules/SkeletonCircle/types.d.ts.map +0 -1
  428. package/dist/components/molecules/SkeletonList/index.mobile.d.ts.map +0 -1
  429. package/dist/components/molecules/SkeletonList/index.mobile.js.map +0 -1
  430. package/dist/components/molecules/SkeletonList/index.web.d.ts.map +0 -1
  431. package/dist/components/molecules/SkeletonList/index.web.js.map +0 -1
  432. package/dist/components/molecules/SkeletonList/types.d.ts.map +0 -1
  433. package/dist/components/molecules/StatCard.d.ts.map +0 -1
  434. package/dist/components/molecules/StatCard.js.map +0 -1
  435. package/dist/components/molecules/StatusChip.d.ts.map +0 -1
  436. package/dist/components/molecules/StatusChip.js.map +0 -1
  437. package/dist/components/molecules/hover-previews/Doc.d.ts.map +0 -1
  438. package/dist/components/molecules/hover-previews/Doc.js.map +0 -1
  439. package/dist/components/molecules/hover-previews/Media.d.ts.map +0 -1
  440. package/dist/components/molecules/hover-previews/Media.js.map +0 -1
  441. package/dist/components/molecules/hover-previews/Simple.d.ts.map +0 -1
  442. package/dist/components/molecules/hover-previews/Simple.js.map +0 -1
  443. package/dist/components/molecules/hover-previews/Stats.d.ts.map +0 -1
  444. package/dist/components/molecules/hover-previews/Stats.js.map +0 -1
  445. package/dist/components/molecules/hover-previews/User.d.ts.map +0 -1
  446. package/dist/components/molecules/hover-previews/User.js.map +0 -1
  447. package/dist/components/native/BottomTabs.mobile.d.ts.map +0 -1
  448. package/dist/components/native/BottomTabs.mobile.js.map +0 -1
  449. package/dist/components/native/FlatListScreen.mobile.d.ts.map +0 -1
  450. package/dist/components/native/FlatListScreen.mobile.js.map +0 -1
  451. package/dist/components/native/SheetMenu.mobile.d.ts.map +0 -1
  452. package/dist/components/native/SheetMenu.mobile.js.map +0 -1
  453. package/dist/components/organisms/AcademyLayout.d.ts.map +0 -1
  454. package/dist/components/organisms/AcademyLayout.js.map +0 -1
  455. package/dist/components/organisms/AppHeader.d.ts.map +0 -1
  456. package/dist/components/organisms/AppHeader.js.map +0 -1
  457. package/dist/components/organisms/AppHeader.mobile.d.ts.map +0 -1
  458. package/dist/components/organisms/AppHeader.mobile.js.map +0 -1
  459. package/dist/components/organisms/AppLayout.d.ts.map +0 -1
  460. package/dist/components/organisms/AppLayout.js.map +0 -1
  461. package/dist/components/organisms/AppSidebar.d.ts.map +0 -1
  462. package/dist/components/organisms/AppSidebar.js.map +0 -1
  463. package/dist/components/organisms/EmptyDataList.d.ts.map +0 -1
  464. package/dist/components/organisms/EmptyDataList.js.map +0 -1
  465. package/dist/components/organisms/EmptyDataList.mobile.d.ts.map +0 -1
  466. package/dist/components/organisms/EmptyDataList.mobile.js.map +0 -1
  467. package/dist/components/organisms/EmptyDataList.types.d.ts.map +0 -1
  468. package/dist/components/organisms/EmptySearchResult.d.ts.map +0 -1
  469. package/dist/components/organisms/EmptySearchResult.js.map +0 -1
  470. package/dist/components/organisms/FAQSection.d.ts.map +0 -1
  471. package/dist/components/organisms/FAQSection.js.map +0 -1
  472. package/dist/components/organisms/FeatureCarousel.d.ts.map +0 -1
  473. package/dist/components/organisms/FeatureCarousel.js.map +0 -1
  474. package/dist/components/organisms/FeaturesSection.d.ts.map +0 -1
  475. package/dist/components/organisms/FeaturesSection.js.map +0 -1
  476. package/dist/components/organisms/Footer.d.ts.map +0 -1
  477. package/dist/components/organisms/Footer.js.map +0 -1
  478. package/dist/components/organisms/GridLayout.d.ts.map +0 -1
  479. package/dist/components/organisms/GridLayout.js.map +0 -1
  480. package/dist/components/organisms/Header.d.ts.map +0 -1
  481. package/dist/components/organisms/Header.js.map +0 -1
  482. package/dist/components/organisms/Header.mobile.d.ts.map +0 -1
  483. package/dist/components/organisms/Header.mobile.js.map +0 -1
  484. package/dist/components/organisms/HeroResponsive.d.ts.map +0 -1
  485. package/dist/components/organisms/HeroResponsive.js.map +0 -1
  486. package/dist/components/organisms/HeroSection.d.ts.map +0 -1
  487. package/dist/components/organisms/HeroSection.js.map +0 -1
  488. package/dist/components/organisms/ListCardPage.d.ts.map +0 -1
  489. package/dist/components/organisms/ListCardPage.js.map +0 -1
  490. package/dist/components/organisms/ListGridPage.d.ts.map +0 -1
  491. package/dist/components/organisms/ListGridPage.js.map +0 -1
  492. package/dist/components/organisms/ListPageResponsive.d.ts.map +0 -1
  493. package/dist/components/organisms/ListPageResponsive.js.map +0 -1
  494. package/dist/components/organisms/ListTablePage.d.ts.map +0 -1
  495. package/dist/components/organisms/ListTablePage.js.map +0 -1
  496. package/dist/components/organisms/MarketingHeader.d.ts.map +0 -1
  497. package/dist/components/organisms/MarketingHeader.js.map +0 -1
  498. package/dist/components/organisms/MarketingHeaderDesktop.d.ts.map +0 -1
  499. package/dist/components/organisms/MarketingHeaderDesktop.js.map +0 -1
  500. package/dist/components/organisms/MarketingHeaderMobile.d.ts.map +0 -1
  501. package/dist/components/organisms/MarketingHeaderMobile.js.map +0 -1
  502. package/dist/components/organisms/MarketingLayout.d.ts.map +0 -1
  503. package/dist/components/organisms/MarketingLayout.js.map +0 -1
  504. package/dist/components/organisms/PageHeaderResponsive.d.ts.map +0 -1
  505. package/dist/components/organisms/PageHeaderResponsive.js.map +0 -1
  506. package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts.map +0 -1
  507. package/dist/components/organisms/PageHeaderResponsive.mobile.js.map +0 -1
  508. package/dist/components/organisms/PricingCarousel.d.ts.map +0 -1
  509. package/dist/components/organisms/PricingCarousel.js.map +0 -1
  510. package/dist/components/organisms/PricingSection.d.ts.map +0 -1
  511. package/dist/components/organisms/PricingSection.js.map +0 -1
  512. package/dist/components/organisms/TestimonialCarousel.d.ts.map +0 -1
  513. package/dist/components/organisms/TestimonialCarousel.js.map +0 -1
  514. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts.map +0 -1
  515. package/dist/components/templates/lists/ListPageTemplate/index.mobile.js.map +0 -1
  516. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts.map +0 -1
  517. package/dist/components/templates/lists/ListPageTemplate/index.web.js.map +0 -1
  518. package/dist/components/templates/lists/ListPageTemplate/types.d.ts.map +0 -1
  519. package/dist/hooks/useListUrlState.d.ts.map +0 -1
  520. package/dist/hooks/useListUrlState.js.map +0 -1
  521. package/dist/index.js.map +0 -1
  522. package/dist/lib/keyboard.d.ts.map +0 -1
  523. package/dist/lib/keyboard.js.map +0 -1
  524. package/dist/lib/utils.d.ts.map +0 -1
  525. package/dist/lib/utils.js.map +0 -1
  526. package/dist/platform/useColorScheme.d.ts.map +0 -1
  527. package/dist/platform/useColorScheme.js.map +0 -1
  528. package/dist/platform/useColorScheme.mobile.d.ts.map +0 -1
  529. package/dist/platform/useColorScheme.mobile.js.map +0 -1
  530. package/dist/platform/useReducedMotion.d.ts.map +0 -1
  531. package/dist/platform/useReducedMotion.js.map +0 -1
  532. package/dist/platform/useReducedMotion.mobile.d.ts.map +0 -1
  533. package/dist/platform/useReducedMotion.mobile.js.map +0 -1
  534. package/dist/platform/useResponsive.d.ts.map +0 -1
  535. package/dist/platform/useResponsive.js.map +0 -1
  536. package/dist/platform/useResponsive.mobile.d.ts.map +0 -1
  537. package/dist/platform/useResponsive.mobile.js.map +0 -1
  538. package/dist/platform/withPlatformUI.d.ts.map +0 -1
  539. package/dist/platform/withPlatformUI.js.map +0 -1
  540. package/dist/renderers/form-contract.d.ts.map +0 -1
  541. package/dist/renderers/form-contract.js.map +0 -1
  542. package/dist/theme/tokenBridge.d.ts.map +0 -1
  543. package/dist/theme/tokenBridge.js.map +0 -1
  544. package/dist/theme/tokens.d.ts.map +0 -1
  545. package/dist/theme/tokens.js.map +0 -1
  546. package/dist/theme/variants.d.ts.map +0 -1
  547. package/dist/theme/variants.js.map +0 -1
  548. package/dist/types/navigation.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppLayout.d.ts","names":[],"sources":["../../../src/components/organisms/AppLayout.tsx"],"sourcesContent":[],"mappings":";;;;;UAeiB,cAAA;UACP,OAAA,CAAM;YACJ,OAAA,CAAM,sBAAsB;EAFvB,UAAA,CAAA,EAAA;IACP,KAAM,EAAA;MACwB,IAAA,CAAA,EAAA,MAAA;MAAtB,KAAA,EAC8B,OAAA,CAAM,SADpC;IAC8B,CAAM,EAAA;EAC1C,CAAA;EACD,QAAM,EADL,OAAA,CAAM,SACD;EAAS,MAAA,CAAA,EAAf,OAAA,CAAM,SAAS;EAIV,SAAA,CAAA,EAAS,MAAA;;AAEvB,iBAFc,SAAA,CAEd;EAAA,MAAA;EAAA,OAAA;EAAA,UAAA;EAAA,QAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAKC,cALD,CAAA,EAKe,mBAAA,CAAA,GAAA,CAAA,OALf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppLayout.js","names":["React"],"sources":["../../../src/components/organisms/AppLayout.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { Separator } from '@lssm/lib.ui-kit-web/ui/separator';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '@lssm/lib.ui-kit-web/ui/breadcrumb';\nimport { AppSidebar } from './AppSidebar';\n\nexport interface AppLayoutProps {\n header: React.ReactNode;\n sidebar?: React.ComponentProps<typeof AppSidebar>;\n breadcrumb?: { items: { href?: string; label: React.ReactNode }[] };\n children: React.ReactNode;\n footer?: React.ReactNode;\n className?: string;\n}\n\nexport function AppLayout({\n header,\n sidebar,\n breadcrumb,\n children,\n footer,\n className,\n}: AppLayoutProps) {\n return (\n <div className={cn('bg-background min-h-svh', className)}>\n {header}\n <div className=\"mx-auto grid w-full max-w-7xl grid-cols-1 gap-4 px-4 py-4 md:grid-cols-[260px_minmax(0,1fr)]\">\n <aside className=\"hidden md:block\">\n {sidebar ? (\n <AppSidebar\n sections={sidebar.sections}\n top={sidebar.top}\n bottom={sidebar.bottom}\n className={sidebar.className}\n density={sidebar.density}\n />\n ) : (\n <div />\n )}\n </aside>\n\n <main className=\"min-w-0\">\n {breadcrumb && breadcrumb.items?.length ? (\n <div className=\"mb-2\">\n <Breadcrumb>\n <BreadcrumbList>\n {breadcrumb.items.map((it, idx) => (\n <React.Fragment key={idx}>\n <BreadcrumbItem>\n {it.href ? (\n <BreadcrumbLink href={it.href}>\n {it.label}\n </BreadcrumbLink>\n ) : (\n <BreadcrumbPage>{it.label}</BreadcrumbPage>\n )}\n </BreadcrumbItem>\n {idx < breadcrumb.items.length - 1 && (\n <BreadcrumbSeparator />\n )}\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n ) : null}\n\n {children}\n </main>\n </div>\n {footer && (\n <>\n <Separator className=\"mt-4\" />\n {footer}\n </>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAwBA,SAAgB,UAAU,EACxB,QACA,SACA,YACA,UACA,QACA,aACiB;AACjB,QACE,qBAAC;EAAI,WAAW,GAAG,2BAA2B,UAAU;;GACrD;GACD,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAM,WAAU;eACd,UACC,oBAAC;MACC,UAAU,QAAQ;MAClB,KAAK,QAAQ;MACb,QAAQ,QAAQ;MAChB,WAAW,QAAQ;MACnB,SAAS,QAAQ;OACjB,GAEF,oBAAC,UAAM;MAEH,EAER,qBAAC;KAAK,WAAU;gBACb,cAAc,WAAW,OAAO,SAC/B,oBAAC;MAAI,WAAU;gBACb,oBAAC,wBACC,oBAAC,4BACE,WAAW,MAAM,KAAK,IAAI,QACzB,qBAACA,QAAM,uBACL,oBAAC,4BACE,GAAG,OACF,oBAAC;OAAe,MAAM,GAAG;iBACtB,GAAG;QACW,GAEjB,oBAAC,4BAAgB,GAAG,QAAuB,GAE9B,EAChB,MAAM,WAAW,MAAM,SAAS,KAC/B,oBAAC,wBAAsB,KAXN,IAaJ,CACjB,GACa,GACN;OACT,GACJ,MAEH;MACI;KACH;GACL,UACC,4CACE,oBAAC,aAAU,WAAU,SAAS,EAC7B,UACA;;GAED"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppSidebar.d.ts","names":[],"sources":["../../../src/components/organisms/AppSidebar.tsx"],"sourcesContent":[],"mappings":";;;;;UAqBiB,eAAA;YACL;QACJ,OAAA,CAAM;EAFG,MAAA,CAAA,EAGN,OAAA,CAAM,SAHe;EACpB,iBAAA,CAAA,EAAA,MAAA;EACJ,SAAM,CAAA,EAAA,MAAA;EACH,OAAM,CAAA,EAAA,SAAA,GAAA,aAAA;;AAMD,iBAAA,UAAA,CAAU;EAAA,QAAA;EAAA,GAAA;EAAA,MAAA;EAAA,iBAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAOvB,eAPuB,CAAA,EAOR,oBAAA,CAAA,GAAA,CAAA,OAPQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppSidebar.js","names":[],"sources":["../../../src/components/organisms/AppSidebar.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarMenu,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarProvider,\n SidebarRail,\n} from '@lssm/lib.ui-kit-web/ui/sidebar';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { cva } from 'class-variance-authority';\nimport type { NavSection } from '../../types/navigation';\n\nexport interface AppSidebarProps {\n sections: NavSection[];\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n searchPlaceholder?: string;\n className?: string;\n density?: 'compact' | 'comfortable';\n}\n\nexport function AppSidebar({\n sections,\n top,\n bottom,\n searchPlaceholder = 'Search…',\n className,\n density,\n}: AppSidebarProps) {\n const sidebarVariants = cva('', {\n variants: {\n density: {\n compact: 'text-sm',\n comfortable: 'text-base',\n },\n },\n defaultVariants: { density: 'comfortable' },\n });\n return (\n <SidebarProvider>\n <Sidebar className={cn(sidebarVariants({ density }), className)}>\n <SidebarRail />\n <SidebarHeader>\n {top}\n <SidebarInput\n placeholder={searchPlaceholder}\n aria-label={searchPlaceholder}\n />\n </SidebarHeader>\n <SidebarContent>\n {sections.map((s, idx) => (\n <SidebarGroup key={idx}>\n {s.title && <SidebarGroupLabel>{s.title}</SidebarGroupLabel>}\n <SidebarGroupContent>\n <SidebarMenu>\n {s.items.map((l) => (\n <SidebarMenuItem key={l.href}>\n <SidebarMenuButton asChild={!!l.href} isActive={false}>\n {}\n <a\n href={l.href}\n target={l.target}\n className=\"inline-flex items-center gap-2\"\n >\n {l.icon}\n <span>{l.label}</span>\n </a>\n </SidebarMenuButton>\n {l.badge != null && (\n <SidebarMenuBadge>{String(l.badge)}</SidebarMenuBadge>\n )}\n </SidebarMenuItem>\n ))}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n ))}\n </SidebarContent>\n <SidebarFooter>{bottom}</SidebarFooter>\n </Sidebar>\n </SidebarProvider>\n );\n}\n\n// export { SidebarTrigger } from '@lssm/lib.ui-kit-web/ui/sidebar';\n"],"mappings":";;;;;;;AA8BA,SAAgB,WAAW,EACzB,UACA,KACA,QACA,oBAAoB,WACpB,WACA,WACkB;AAUlB,QACE,oBAAC,6BACC,qBAAC;EAAQ,WAAW,GAXA,IAAI,IAAI;GAC9B,UAAU,EACR,SAAS;IACP,SAAS;IACT,aAAa;IACd,EACF;GACD,iBAAiB,EAAE,SAAS,eAAe;GAC5C,CAAC,CAGyC,EAAE,SAAS,CAAC,EAAE,UAAU;;GAC7D,oBAAC,gBAAc;GACf,qBAAC,4BACE,KACD,oBAAC;IACC,aAAa;IACb,cAAY;KACZ,IACY;GAChB,oBAAC,4BACE,SAAS,KAAK,GAAG,QAChB,qBAAC,2BACE,EAAE,SAAS,oBAAC,+BAAmB,EAAE,QAA0B,EAC5D,oBAAC,iCACC,oBAAC,yBACE,EAAE,MAAM,KAAK,MACZ,qBAAC,8BACC,oBAAC;IAAkB,SAAS,CAAC,CAAC,EAAE;IAAM,UAAU;cAE9C,qBAAC;KACC,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,WAAU;gBAET,EAAE,MACH,oBAAC,oBAAM,EAAE,QAAa;MACpB;KACc,EACnB,EAAE,SAAS,QACV,oBAAC,8BAAkB,OAAO,EAAE,MAAM,GAAoB,KAbpC,EAAE,KAeN,CAClB,GACU,GACM,KAvBL,IAwBJ,CACf,GACa;GACjB,oBAAC,2BAAe,SAAuB;;GAC/B,GACM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyDataList.d.ts","names":[],"sources":["../../../src/components/organisms/EmptyDataList.tsx"],"sourcesContent":[],"mappings":";;;;iBAYgB,aAAA;;;;;;;;;;;;;GAab,qBAAkB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyDataList.js","names":[],"sources":["../../../src/components/organisms/EmptyDataList.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Empty,\n EmptyContent,\n EmptyDescription,\n EmptyHeader,\n EmptyMedia,\n EmptyTitle,\n} from '@lssm/lib.ui-kit-web/ui/empty';\nimport { Button } from '../atoms/Button';\nimport type { EmptyDataListProps } from './EmptyDataList.types';\n\nexport function EmptyDataList({\n emptyListTitle,\n emptyListDescription,\n createButton,\n secondaryButton,\n media,\n mediaVariant = 'icon',\n learnMoreHref,\n learnMoreLabel,\n learnMoreEndIcon,\n onLearnMore,\n handleLearnMore,\n className,\n}: EmptyDataListProps) {\n const learnMore = onLearnMore ?? handleLearnMore;\n\n return (\n <Empty className={className}>\n <EmptyHeader>\n {media ? <EmptyMedia variant={mediaVariant}>{media}</EmptyMedia> : null}\n {emptyListTitle ? <EmptyTitle>{emptyListTitle}</EmptyTitle> : null}\n {emptyListDescription ? (\n <EmptyDescription>{emptyListDescription}</EmptyDescription>\n ) : null}\n </EmptyHeader>\n <EmptyContent>\n <div className=\"flex gap-2\">\n {createButton}\n {secondaryButton}\n </div>\n </EmptyContent>\n {(learnMoreHref || learnMore) && learnMoreLabel ? (\n <Button\n variant=\"link\"\n asChild={Boolean(learnMoreHref)}\n className=\"text-muted-foreground\"\n size=\"sm\"\n onPress={learnMoreHref ? undefined : learnMore}\n >\n {learnMoreHref ? (\n <a href={learnMoreHref}>\n {learnMoreLabel} {learnMoreEndIcon}\n </a>\n ) : (\n <span>\n {learnMoreLabel} {learnMoreEndIcon}\n </span>\n )}\n </Button>\n ) : null}\n </Empty>\n );\n}\n"],"mappings":";;;;;;AAYA,SAAgB,cAAc,EAC5B,gBACA,sBACA,cACA,iBACA,OACA,eAAe,QACf,eACA,gBACA,kBACA,aACA,iBACA,aACqB;CACrB,MAAM,YAAY,eAAe;AAEjC,QACE,qBAAC;EAAiB;;GAChB,qBAAC;IACE,QAAQ,oBAAC;KAAW,SAAS;eAAe;MAAmB,GAAG;IAClE,iBAAiB,oBAAC,wBAAY,iBAA4B,GAAG;IAC7D,uBACC,oBAAC,8BAAkB,uBAAwC,GACzD;OACQ;GACd,oBAAC,0BACC,qBAAC;IAAI,WAAU;eACZ,cACA;KACG,GACO;IACb,iBAAiB,cAAc,iBAC/B,oBAAC;IACC,SAAQ;IACR,SAAS,QAAQ,cAAc;IAC/B,WAAU;IACV,MAAK;IACL,SAAS,gBAAgB,SAAY;cAEpC,gBACC,qBAAC;KAAE,MAAM;;MACN;MAAe;MAAE;;MAChB,GAEJ,qBAAC;KACE;KAAe;KAAE;QACb;KAEF,GACP;;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyDataList.mobile.d.ts","names":[],"sources":["../../../src/components/organisms/EmptyDataList.mobile.tsx"],"sourcesContent":[],"mappings":";;;;iBAagB,aAAA;;;;;;;;;;;;;GAab,qBAAkB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyDataList.mobile.js","names":[],"sources":["../../../src/components/organisms/EmptyDataList.mobile.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Empty,\n EmptyContent,\n EmptyDescription,\n EmptyHeader,\n EmptyMedia,\n EmptyTitle,\n} from '@lssm/lib.ui-kit/ui/empty';\nimport { HStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit-web/ui/text';\nimport type { EmptyDataListProps } from './EmptyDataList.types';\n\nexport function EmptyDataList({\n emptyListTitle,\n emptyListDescription,\n createButton,\n secondaryButton,\n media,\n mediaVariant = 'icon',\n learnMoreHref,\n learnMoreLabel,\n learnMoreEndIcon,\n onLearnMore,\n handleLearnMore,\n className,\n}: EmptyDataListProps) {\n const learnMore = onLearnMore ?? handleLearnMore;\n\n return (\n <Empty className={className}>\n <EmptyHeader>\n {media ? <EmptyMedia variant={mediaVariant}>{media}</EmptyMedia> : null}\n {emptyListTitle ? (\n <EmptyTitle>\n <Text>{emptyListTitle}</Text>\n </EmptyTitle>\n ) : null}\n {emptyListDescription ? (\n <EmptyDescription>\n <Text>{emptyListDescription}</Text>\n </EmptyDescription>\n ) : null}\n </EmptyHeader>\n <EmptyContent>\n <HStack className=\"gap-2\">\n {createButton}\n {/*{secondaryButton}*/}\n </HStack>\n </EmptyContent>\n {/*{(learnMoreHref || learnMore) && learnMoreLabel ? (*/}\n {/* learnMoreHref ? (*/}\n {/* <ButtonLink*/}\n {/* href={learnMoreHref}*/}\n {/* variant=\"link\"*/}\n {/* className=\"text-muted-foreground\"*/}\n {/* size=\"sm\"*/}\n {/* onPress={learnMoreHref ? undefined : learnMore}*/}\n {/* >*/}\n {/* <Text>*/}\n {/* {learnMoreLabel} {learnMoreEndIcon}*/}\n {/* </Text>*/}\n {/* </ButtonLink>*/}\n {/* ) : (*/}\n {/* <Text>*/}\n {/* {learnMoreLabel} {learnMoreEndIcon}*/}\n {/* </Text>*/}\n {/* )*/}\n {/*) : null}*/}\n </Empty>\n );\n}\n\nexport default EmptyDataList;\n"],"mappings":";;;;;;;AAaA,SAAgB,cAAc,EAC5B,gBACA,sBACA,cACA,iBACA,OACA,eAAe,QACf,eACA,gBACA,kBACA,aACA,iBACA,aACqB;AAGrB,QACE,qBAAC;EAAiB;aAChB,qBAAC;GACE,QAAQ,oBAAC;IAAW,SAAS;cAAe;KAAmB,GAAG;GAClE,iBACC,oBAAC,wBACC,oBAAC,kBAAM,iBAAsB,GAClB,GACX;GACH,uBACC,oBAAC,8BACC,oBAAC,kBAAM,uBAA4B,GAClB,GACjB;MACQ,EACd,oBAAC,0BACC,oBAAC;GAAO,WAAU;aACf;IAEM,GACI;GAoBT;;AAIZ,mCAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyDataList.types.d.ts","names":[],"sources":["../../../src/components/organisms/EmptyDataList.types.tsx"],"sourcesContent":[],"mappings":";;;UAEiB,kBAAA;mBACE,OAAA,CAAM;EADR,oBAAA,CAAkB,EAEV,OAAA,CAAM,SAFI;EAChB,YAAM,EAET,OAAA,CAAM,SAFG;EACA,eAAM,CAAA,EAEX,OAAA,CAAM,SAFK;EACf,KAAM,CAAA,EAEZ,OAAA,CAAM,SAFM;EACF,YAAM,CAAA,EAAA,SAAA,GAAA,MAAA;EAChB,aAAM,CAAA,EAAA,MAAA;EAGG,cAAM,CAAA,EAAN,OAAA,CAAM,SAAA;EACJ,gBAAM,CAAA,EAAN,OAAA,CAAM,SAAA;EAAS,WAAA,CAAA,EAAA,GAAA,GAAA,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptySearchResult.d.ts","names":[],"sources":["../../../src/components/organisms/EmptySearchResult.tsx"],"sourcesContent":[],"mappings":";;;;UAUiB,sBAAA;qBACI,OAAA,CAAM;sBACL,OAAA,CAAM;EAFX,sBAAA,CAAA,EAGU,OAAA,CAAM,SAHM;EAClB,uBAAM,CAAA,EAGC,OAAA,CAAM,SAHP;EACL,cAAM,CAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EACD,kBAAM,CAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EACL,SAAM,CAAA,EAAA,MAAA;;AAMlB,iBAAA,iBAAA,CAAiB;EAAA,gBAAA;EAAA,iBAAA;EAAA,sBAAA;EAAA,uBAAA;EAAA,cAAA;EAAA,kBAAA;EAAA;AAAA,CAAA,EAQ9B,sBAR8B,CAAA,EAQR,mBAAA,CAAA,GAAA,CAAA,OARQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptySearchResult.js","names":["React"],"sources":["../../../src/components/organisms/EmptySearchResult.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Empty,\n EmptyContent,\n EmptyDescription,\n EmptyHeader,\n EmptyTitle,\n} from '@lssm/lib.ui-kit-web/ui/empty';\nimport { Input } from '../atoms/Input';\n\nexport interface EmptySearchResultProps {\n emptySearchTitle?: React.ReactNode;\n emtptySearchTitle?: React.ReactNode; // alias\n emptySearchDescription?: React.ReactNode;\n emtptySearchDescription?: React.ReactNode; // alias\n onSearchChange?: (value: string) => void;\n handleSearchChange?: (value: string) => void; // alias\n className?: string;\n}\n\nexport function EmptySearchResult({\n emptySearchTitle,\n emtptySearchTitle,\n emptySearchDescription,\n emtptySearchDescription,\n onSearchChange,\n handleSearchChange,\n className,\n}: EmptySearchResultProps) {\n const title = emptySearchTitle ?? emtptySearchTitle ?? 'No results';\n const description =\n emptySearchDescription ?? emtptySearchDescription ?? 'Try another search.';\n const onChange = onSearchChange ?? handleSearchChange;\n const [q, setQ] = React.useState('');\n\n return (\n <Empty className={className}>\n <EmptyHeader>\n <EmptyTitle>{title}</EmptyTitle>\n {description ? (\n <EmptyDescription>{description}</EmptyDescription>\n ) : null}\n </EmptyHeader>\n <EmptyContent>\n <Input\n value={q}\n onChange={(v) => {\n setQ(v);\n onChange?.(v);\n }}\n placeholder=\"Search…\"\n keyboard={{ kind: 'search' }}\n />\n </EmptyContent>\n </Empty>\n );\n}\n"],"mappings":";;;;;;AAoBA,SAAgB,kBAAkB,EAChC,kBACA,mBACA,wBACA,yBACA,gBACA,oBACA,aACyB;CACzB,MAAM,QAAQ,oBAAoB,qBAAqB;CACvD,MAAM,cACJ,0BAA0B,2BAA2B;CACvD,MAAM,WAAW,kBAAkB;CACnC,MAAM,CAAC,GAAG,QAAQA,QAAM,SAAS,GAAG;AAEpC,QACE,qBAAC;EAAiB;aAChB,qBAAC,0BACC,oBAAC,wBAAY,QAAmB,EAC/B,cACC,oBAAC,8BAAkB,cAA+B,GAChD,QACQ,EACd,oBAAC,0BACC,oBAAC;GACC,OAAO;GACP,WAAW,MAAM;AACf,SAAK,EAAE;AACP,eAAW,EAAE;;GAEf,aAAY;GACZ,UAAU,EAAE,MAAM,UAAU;IAC5B,GACW;GACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FAQSection.d.ts","names":[],"sources":["../../../src/components/organisms/FAQSection.tsx"],"sourcesContent":[],"mappings":";;;;UASiB,OAAA;YACL,OAAA,CAAM;UACR,OAAA,CAAM;AAFhB;AAKgB,iBAAA,UAAA,CAAU;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,SAAA;EAAA,KAAA;EAAA,aAAA;EAAA,WAAA;EAAA,gBAAA;EAAA;CAAA,EAAA;EACxB,KAAA,EAUO,OAAA,CAAM,SAVb;EACA,QAAA,CAAA,EAUW,OAAA,CAAM,SAVjB;EACA,QAAA,CAAA,EAUW,OAAA,CAAM,SAVjB;EACA,SAAA,CAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAUQ,OAVR,EAAA;EACA,aAAA,CAAA,EAAA,QAAA,GAAA,UAAA;EACA,WAAA,CAAA,EAAA,OAAA;EACA,gBAAA,CAAA,EAAA,MAAA;EACA,kBAAA,CAAA,EAAA,MAAA;CAEO,CAAA,EASR,mBAAA,CAAA,GAAA,CAAA,OATc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FAQSection.js","names":["React"],"sources":["../../../src/components/organisms/FAQSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from '@lssm/lib.ui-kit-web/ui/accordion';\n\nexport interface FAQItem {\n question: React.ReactNode;\n answer: React.ReactNode;\n}\n\nexport function FAQSection({\n title,\n subtitle,\n children,\n className,\n items,\n accordionType = 'single',\n collapsible = true,\n defaultOpenIndex = 0,\n accordionClassName,\n}: {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n children?: React.ReactNode; // custom content (deprecated in favor of items)\n className?: string;\n items?: FAQItem[]; // when provided, renders an accordion list\n accordionType?: 'single' | 'multiple';\n collapsible?: boolean;\n defaultOpenIndex?: number; // for 'single' type\n accordionClassName?: string;\n}) {\n const hasItems = Array.isArray(items) && items.length > 0;\n\n const defaultValue = React.useMemo(() => {\n if (!hasItems) return undefined;\n if (accordionType === 'multiple') return undefined; // let UI kit default\n return `item-${Math.max(0, Math.min((items?.length ?? 1) - 1, defaultOpenIndex))}`;\n }, [hasItems, accordionType, defaultOpenIndex, items]);\n\n return (\n <section className={`py-12 sm:py-16 lg:py-24 ${className || ''}`}>\n <div className=\"container mx-auto px-4 sm:px-6 lg:px-8\">\n <VStack className=\"gap-2 text-center\">\n <h2 className=\"text-3xl font-bold md:text-4xl\">{title}</h2>\n {subtitle ? (\n <p className=\"text-muted-foreground mx-auto max-w-2xl text-base\">\n {subtitle}\n </p>\n ) : null}\n </VStack>\n <div className=\"mx-auto mt-8 max-w-3xl\">\n {hasItems ? (\n <VStack className=\"mt-8\">\n <Accordion\n type={accordionType}\n collapsible={collapsible}\n defaultValue={defaultValue as any}\n className={accordionClassName}\n >\n {items!.map((faq, index) => (\n <AccordionItem key={index} value={`item-${index}`}>\n <AccordionTrigger className=\"px-6\">\n <span className=\"text-foreground text-lg font-medium\">\n {faq.question}\n </span>\n </AccordionTrigger>\n <AccordionContent className=\"px-6\">\n <p className=\"text-muted-foreground\">{faq.answer}</p>\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </VStack>\n ) : (\n children\n )}\n </div>\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;;AAcA,SAAgB,WAAW,EACzB,OACA,UACA,UACA,WACA,OACA,gBAAgB,UAChB,cAAc,MACd,mBAAmB,GACnB,sBAWC;CACD,MAAM,WAAW,MAAM,QAAQ,MAAM,IAAI,MAAM,SAAS;CAExD,MAAM,eAAeA,QAAM,cAAc;AACvC,MAAI,CAAC,SAAU,QAAO;AACtB,MAAI,kBAAkB,WAAY,QAAO;AACzC,SAAO,QAAQ,KAAK,IAAI,GAAG,KAAK,KAAK,OAAO,UAAU,KAAK,GAAG,iBAAiB,CAAC;IAC/E;EAAC;EAAU;EAAe;EAAkB;EAAM,CAAC;AAEtD,QACE,oBAAC;EAAQ,WAAW,2BAA2B,aAAa;YAC1D,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAO,WAAU;eAChB,oBAAC;KAAG,WAAU;eAAkC;MAAW,EAC1D,WACC,oBAAC;KAAE,WAAU;eACV;MACC,GACF;KACG,EACT,oBAAC;IAAI,WAAU;cACZ,WACC,oBAAC;KAAO,WAAU;eAChB,oBAAC;MACC,MAAM;MACO;MACC;MACd,WAAW;gBAEV,MAAO,KAAK,KAAK,UAChB,qBAAC;OAA0B,OAAO,QAAQ;kBACxC,oBAAC;QAAiB,WAAU;kBAC1B,oBAAC;SAAK,WAAU;mBACb,IAAI;UACA;SACU,EACnB,oBAAC;QAAiB,WAAU;kBAC1B,oBAAC;SAAE,WAAU;mBAAyB,IAAI;UAAW;SACpC;SARD,MASJ,CAChB;OACQ;MACL,GAET;KAEE;IACF;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeatureCarousel.d.ts","names":[],"sources":["../../../src/components/organisms/FeatureCarousel.tsx"],"sourcesContent":[],"mappings":";;;;UAUiB,YAAA;SACR,OAAA,CAAM;gBACC,OAAA,CAAM;EAFL,KAAA,CAAA,EAGP,OAAA,CAAM,SAHa;;AAEb,iBAIA,eAAA,CAJM;EAAA,MAAA;EAAA;AAItB,CAJsB,EAAA;EACZ,MAAM,EAON,YAPM,EAAA;EAAS,SAAA,CAAA,EAAA,MAAA;AAGzB,CAAA,CAAA,EAMC,oBAAA,CAAA,GAAA,CAAA,OAN8B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeatureCarousel.js","names":[],"sources":["../../../src/components/organisms/FeatureCarousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from '@lssm/lib.ui-kit-web/ui/carousel';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\n\nexport interface FeatureSlide {\n title: React.ReactNode;\n description?: React.ReactNode;\n media?: React.ReactNode;\n}\n\nexport function FeatureCarousel({\n slides,\n className,\n}: {\n slides: FeatureSlide[];\n className?: string;\n}) {\n return (\n <div className={className}>\n <Carousel>\n <CarouselContent>\n {slides.map((s, i) => (\n <CarouselItem key={i}>\n <Card>\n <CardContent className=\"grid grid-cols-1 gap-4 p-6 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <div className=\"text-2xl font-semibold\">{s.title}</div>\n {s.description && (\n <div className=\"text-muted-foreground text-base\">\n {s.description}\n </div>\n )}\n </div>\n <div className=\"flex items-center justify-center\">\n {s.media}\n </div>\n </CardContent>\n </Card>\n </CarouselItem>\n ))}\n </CarouselContent>\n <CarouselPrevious />\n <CarouselNext />\n </Carousel>\n </div>\n );\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,gBAAgB,EAC9B,QACA,aAIC;AACD,QACE,oBAAC;EAAe;YACd,qBAAC;GACC,oBAAC,6BACE,OAAO,KAAK,GAAG,MACd,oBAAC,0BACC,oBAAC,kBACC,qBAAC;IAAY,WAAU;eACrB,qBAAC;KAAI,WAAU;gBACb,oBAAC;MAAI,WAAU;gBAA0B,EAAE;OAAY,EACtD,EAAE,eACD,oBAAC;MAAI,WAAU;gBACZ,EAAE;OACC;MAEJ,EACN,oBAAC;KAAI,WAAU;eACZ,EAAE;MACC;KACM,GACT,IAfU,EAgBJ,CACf,GACc;GAClB,oBAAC,qBAAmB;GACpB,oBAAC,iBAAe;MACP;GACP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeaturesSection.d.ts","names":[],"sources":["../../../src/components/organisms/FeaturesSection.tsx"],"sourcesContent":[],"mappings":";;;;iBAcgB,eAAA;;;;;;;SAOP,OAAA,CAAM;aACF,OAAA,CAAM;EARH,QAAA,EASJ,OAAA,CAAM,SATa;EAC7B,SAAA,CAAA,EAAA,MAAA;EACA,OAAA,CAAA,EAAA,SAAA,GAAA,aAAA;CACA,CAAA,EASD,oBAAA,CAAA,GAAA,CAAA,OATC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeaturesSection.js","names":[],"sources":["../../../src/components/organisms/FeaturesSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { cva } from 'class-variance-authority';\n\nconst sectionVariants = cva('', {\n variants: {\n density: {\n compact: 'py-10',\n comfortable: 'py-12 sm:py-16 lg:py-24',\n },\n },\n defaultVariants: { density: 'comfortable' },\n});\n\nexport function FeaturesSection({\n title,\n subtitle,\n children,\n className,\n density,\n}: {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n density?: 'compact' | 'comfortable';\n}) {\n return (\n <section\n className={[sectionVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <div className=\"container mx-auto px-4 sm:px-6 lg:px-8\">\n <VStack className=\"gap-2 text-center\">\n <h2 className=\"text-3xl font-bold md:text-4xl\">{title}</h2>\n {subtitle ? (\n <p className=\"text-muted-foreground mx-auto max-w-2xl text-base\">\n {subtitle}\n </p>\n ) : null}\n </VStack>\n <div className=\"mt-10\">{children}</div>\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;;AAIA,MAAM,kBAAkB,IAAI,IAAI;CAC9B,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CAAC;AAEF,SAAgB,gBAAgB,EAC9B,OACA,UACA,UACA,WACA,WAOC;AACD,QACE,oBAAC;EACC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,UAAU,CACjD,OAAO,QAAQ,CACf,KAAK,IAAI;YAEZ,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAO,WAAU;eAChB,oBAAC;KAAG,WAAU;eAAkC;MAAW,EAC1D,WACC,oBAAC;KAAE,WAAU;eACV;MACC,GACF;KACG,EACT,oBAAC;IAAI,WAAU;IAAS;KAAe;IACnC;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.d.ts","names":[],"sources":["../../../src/components/organisms/Footer.tsx"],"sourcesContent":[],"mappings":";;;;UAIiB,WAAA;SACR,OAAA,CAAM;WACJ,OAAA,CAAM;EAFA,KAAA,CAAA,EAGP,OAAA,CAAM,SAHY;EACnB,KAAM,CAAA,EAAA;IACJ,KAAM,EAEE,OAAA,CAAM,SAFR;IACP,IAAM,EAAA,MAAA;EACG,CAAA,EAAA;EAAe,SAAA,CAAA,EAAA,MAAA;EAsBlB,OAAA,CAAA,EAAM,SAAA,GAAA,WAAA;;AAEpB,iBAFc,MAAA,CAEd;EAAA,IAAA;EAAA,MAAA;EAAA,KAAA;EAAA,KAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAKC,WALD,CAAA,EAKY,mBAAA,CAAA,GAAA,CAAA,OALZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.js","names":[],"sources":["../../../src/components/organisms/Footer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { cva } from 'class-variance-authority';\n\nexport interface FooterProps {\n left?: React.ReactNode;\n center?: React.ReactNode;\n right?: React.ReactNode;\n links?: { label: React.ReactNode; href: string }[];\n className?: string;\n variant?: 'default' | 'marketing';\n}\n\nconst footerVariants = cva('border-t px-4 text-base', {\n variants: {\n variant: {\n default: '',\n marketing: 'bg-muted/30',\n },\n density: {\n compact: 'py-4',\n comfortable: 'py-6',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n variant: 'default',\n },\n});\n\nexport function Footer({\n left,\n center,\n right,\n links,\n className,\n variant,\n}: FooterProps) {\n return (\n <footer className={cn(footerVariants({ variant }), className)}>\n <div className=\"grid grid-cols-1 items-center gap-3 sm:grid-cols-3\">\n <div className=\"flex items-center gap-3\">{left}</div>\n <div className=\"text-muted-foreground text-center\">{center}</div>\n <div className=\"flex items-center justify-end gap-3\">{right}</div>\n </div>\n {links && links.length > 0 && (\n <div className=\"text-muted-foreground mt-4 flex flex-wrap items-center justify-center gap-3 text-base\">\n {links.map((l) => (\n <a\n href={l.href}\n key={String(l.href)}\n className=\"hover:text-foreground\"\n >\n {l.label}\n </a>\n ))}\n </div>\n )}\n </footer>\n );\n}\n"],"mappings":";;;;;;AAaA,MAAM,iBAAiB,IAAI,2BAA2B;CACpD,UAAU;EACR,SAAS;GACP,SAAS;GACT,WAAW;GACZ;EACD,SAAS;GACP,SAAS;GACT,aAAa;GACd;EACF;CACD,iBAAiB;EACf,SAAS;EACT,SAAS;EACV;CACF,CAAC;AAEF,SAAgB,OAAO,EACrB,MACA,QACA,OACA,OACA,WACA,WACc;AACd,QACE,qBAAC;EAAO,WAAW,GAAG,eAAe,EAAE,SAAS,CAAC,EAAE,UAAU;aAC3D,qBAAC;GAAI,WAAU;;IACb,oBAAC;KAAI,WAAU;eAA2B;MAAW;IACrD,oBAAC;KAAI,WAAU;eAAqC;MAAa;IACjE,oBAAC;KAAI,WAAU;eAAuC;MAAY;;IAC9D,EACL,SAAS,MAAM,SAAS,KACvB,oBAAC;GAAI,WAAU;aACZ,MAAM,KAAK,MACV,oBAAC;IACC,MAAM,EAAE;IAER,WAAU;cAET,EAAE;MAHE,OAAO,EAAE,KAAK,CAIjB,CACJ;IACE;GAED"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GridLayout.d.ts","names":[],"sources":["../../../src/components/organisms/GridLayout.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;IASJ,+BAAA,CAAA;iBAEc,UAAA;;;;;AASQ;EApBlB,QAAA,EAiBM,OAAA,CAAM,SARhB;EAEc,SAAA,CAAA,EAAA,MAAU;EACxB,OAAA,CAAA,EAAA;IACA,MAAA,CAAA,EAAA,MAAA;IACA,MAAA,CAAA,EAAA,MAAA;IACA,OAAA,CAAA,EAAA,MAAA;EAEU,CAAA;CAGY,GAApB,YAAoB,CAAA,OAAA,YAAA,CAAA,CAAA,EAAa,mBAAA,CAAA,GAAA,CAAA,OAAb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GridLayout.js","names":[],"sources":["../../../src/components/organisms/GridLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useResponsive } from '../../platform/useResponsive';\n\nconst gridVariants = cva('grid', {\n variants: {\n gap: {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6',\n },\n },\n defaultVariants: { gap: 'md' },\n});\n\nexport function GridLayout({\n children,\n className,\n columns,\n gap,\n}: {\n children: React.ReactNode;\n className?: string;\n columns?: { mobile?: number; tablet?: number; desktop?: number };\n} & VariantProps<typeof gridVariants>) {\n const { screen } = useResponsive();\n const cols =\n screen === 'desktop'\n ? (columns?.desktop ?? 1)\n : screen === 'tablet'\n ? (columns?.tablet ?? 1)\n : (columns?.mobile ?? 1);\n const presetColsClass =\n cols === 1\n ? 'grid-cols-1'\n : cols === 2\n ? 'grid-cols-2'\n : cols === 3\n ? 'grid-cols-3'\n : cols === 4\n ? 'grid-cols-4'\n : 'grid-cols-1';\n return (\n <div className={cn(gridVariants({ gap }), presetColsClass, className)}>\n {children}\n </div>\n );\n}\n\nexport default GridLayout;\n"],"mappings":";;;;;;;AAKA,MAAM,eAAe,IAAI,QAAQ;CAC/B,UAAU,EACR,KAAK;EACH,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EAAE,KAAK,MAAM;CAC/B,CAAC;AAEF,SAAgB,WAAW,EACzB,UACA,WACA,SACA,OAKqC;CACrC,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OACJ,WAAW,YACN,SAAS,WAAW,IACrB,WAAW,WACR,SAAS,UAAU,IACnB,SAAS,UAAU;CAC5B,MAAM,kBACJ,SAAS,IACL,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA;AACZ,QACE,oBAAC;EAAI,WAAW,GAAG,aAAa,EAAE,KAAK,CAAC,EAAE,iBAAiB,UAAU;EAClE;GACG;;AAIV,yBAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.d.ts","names":[],"sources":["../../../src/components/organisms/Header.tsx"],"sourcesContent":[],"mappings":";;;;;;UAuBiB,WAAA;QACT,OAAA,CAAM;OACP;EAFU,QAAA,CAAA,EAGJ,OAAA,CAAM,cAHS,CAAA,OAGa,OAHb,CAAA;EACpB,GAAA,CAAA,EAGA,SAHM;EACP,SAAA,CAAA,EAAA,MAAA;EACkC,OAAA,CAAA,EAAA,SAAA,GAAA,aAAA;EAA5B,aAAM,CAAA,EAAA;IACX,QAAA,EAIM,UAJN,EAAA;IAIM,GAAA,CAAA,EACJ,OAAA,CAAM,SADF;IACJ,MAAM,CAAA,EACH,OAAA,CAAM,SADH;EACH,CAAA;;AA8BG,iBAAA,aAAA,CAAa;EAAA,IAAA;EAAA,GAAA;EAAA,QAAA;EAAA,GAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAO1B,WAP0B,CAAA,EAOf,mBAAA,CAAA,GAAA,CAAA,OAPe;AAC3B,iBA0Bc,YAAA,CA1Bd;EAAA,IAAA;EAAA,QAAA;EAAA,aAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAgCC,WAhCD,CAAA,EAgCY,mBAAA,CAAA,GAAA,CAAA,OAhCZ;AACA,iBA8Dc,MAAA,CA9Dd,KAAA,EA8D4B,WA9D5B,CAAA,EA8DuC,mBAAA,CAAA,GAAA,CAAA,OA9DvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","names":[],"sources":["../../../src/components/organisms/Header.tsx"],"sourcesContent":["'use client';\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport {\n Sheet,\n SheetContent,\n SheetTitle,\n SheetTrigger,\n} from '@lssm/lib.ui-kit-web/ui/sheet';\nimport { Separator } from '@lssm/lib.ui-kit-web/ui/separator';\nimport { Menu } from 'lucide-react';\nimport { cva } from 'class-variance-authority';\nimport type {\n CtaAction,\n HeaderNavItem,\n NavSection,\n} from '../../types/navigation';\nimport { NavMain } from '../molecules/NavMain';\nimport { NavUser } from '../molecules/NavUser';\nimport { AppSidebar } from './AppSidebar';\nimport { ButtonLink } from '../atoms/ButtonLink';\nimport { Button } from '../atoms/Button';\n\nexport interface HeaderProps {\n logo: React.ReactNode;\n nav: HeaderNavItem[];\n userMenu?: React.ComponentProps<typeof NavUser>;\n cta?: CtaAction;\n className?: string;\n density?: 'compact' | 'comfortable';\n mobileSidebar?: {\n sections: NavSection[];\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n };\n}\n\nconst desktopHeaderVariants = cva(\n 'hidden items-center justify-between gap-4 md:flex',\n {\n variants: {\n density: {\n compact: 'px-3 py-1',\n comfortable: 'px-4 py-2',\n },\n },\n defaultVariants: { density: 'comfortable' },\n }\n);\n\nconst mobileHeaderVariants = cva(\n 'flex items-center justify-between md:hidden',\n {\n variants: {\n density: {\n compact: 'px-2 py-1',\n comfortable: 'px-3 py-2',\n },\n },\n defaultVariants: { density: 'comfortable' },\n }\n);\n\nexport function DesktopHeader({\n logo,\n nav,\n userMenu,\n cta,\n className,\n density,\n}: HeaderProps) {\n return (\n <header className={cn(desktopHeaderVariants({ density }), className)}>\n <div className=\"flex items-center gap-4\">\n {logo}\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <NavMain items={nav} />\n </div>\n <div className=\"flex items-center gap-2\">\n {cta && (\n <ButtonLink variant={cta.variant} href={cta.href}>\n {cta.label}\n </ButtonLink>\n )}\n {userMenu && <NavUser {...userMenu} />}\n </div>\n </header>\n );\n}\n\nexport function MobileHeader({\n logo,\n userMenu,\n mobileSidebar,\n className,\n density,\n}: HeaderProps) {\n return (\n <header className={cn(mobileHeaderVariants({ density }), className)}>\n <Sheet>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n <SheetTitle>Menu</SheetTitle>\n <SheetContent side=\"left\" className=\"w-[300px] p-0\">\n {mobileSidebar ? (\n <AppSidebar\n sections={mobileSidebar.sections}\n top={mobileSidebar.top}\n bottom={mobileSidebar.bottom}\n className=\"h-svh\"\n />\n ) : (\n <div className=\"p-4\">No sidebar configured</div>\n )}\n </SheetContent>\n </Sheet>\n <div className=\"flex-1 px-2\">{logo}</div>\n <div className=\"flex items-center gap-2\">\n {userMenu && <NavUser {...userMenu} />}\n </div>\n </header>\n );\n}\n\nexport function Header(props: HeaderProps) {\n return (\n <>\n <MobileHeader {...props} />\n <DesktopHeader {...props} />\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAqCA,MAAM,wBAAwB,IAC5B,qDACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CACF;AAED,MAAM,uBAAuB,IAC3B,+CACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CACF;AAED,SAAgB,cAAc,EAC5B,MACA,KACA,UACA,KACA,WACA,WACc;AACd,QACE,qBAAC;EAAO,WAAW,GAAG,sBAAsB,EAAE,SAAS,CAAC,EAAE,UAAU;aAClE,qBAAC;GAAI,WAAU;;IACZ;IACD,oBAAC;KAAU,aAAY;KAAW,WAAU;MAAQ;IACpD,oBAAC,WAAQ,OAAO,MAAO;;IACnB,EACN,qBAAC;GAAI,WAAU;cACZ,OACC,oBAAC;IAAW,SAAS,IAAI;IAAS,MAAM,IAAI;cACzC,IAAI;KACM,EAEd,YAAY,oBAAC,WAAQ,GAAI,WAAY;IAClC;GACC;;AAIb,SAAgB,aAAa,EAC3B,MACA,UACA,eACA,WACA,WACc;AACd,QACE,qBAAC;EAAO,WAAW,GAAG,qBAAqB,EAAE,SAAS,CAAC,EAAE,UAAU;;GACjE,qBAAC;IACC,oBAAC;KAAa;eACZ,oBAAC;MAAO,SAAQ;MAAQ,MAAK;MAAO,cAAW;gBAC7C,oBAAC,QAAK,WAAU,YAAY;OACrB;MACI;IACf,oBAAC,wBAAW,SAAiB;IAC7B,oBAAC;KAAa,MAAK;KAAO,WAAU;eACjC,gBACC,oBAAC;MACC,UAAU,cAAc;MACxB,KAAK,cAAc;MACnB,QAAQ,cAAc;MACtB,WAAU;OACV,GAEF,oBAAC;MAAI,WAAU;gBAAM;OAA2B;MAErC;OACT;GACR,oBAAC;IAAI,WAAU;cAAe;KAAW;GACzC,oBAAC;IAAI,WAAU;cACZ,YAAY,oBAAC,WAAQ,GAAI,WAAY;KAClC;;GACC;;AAIb,SAAgB,OAAO,OAAoB;AACzC,QACE,4CACE,oBAAC,gBAAa,GAAI,QAAS,EAC3B,oBAAC,iBAAc,GAAI,QAAS,IAC3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.mobile.d.ts","names":[],"sources":["../../../src/components/organisms/Header.mobile.tsx"],"sourcesContent":[],"mappings":";;;;UAKiB,WAAA;QACT,OAAA,CAAM;;EADG,QAAA,CAAA,EAAA,GAAW;EACpB,GAAA,CAAA,EAAM,GAAA;EAQJ,SAAM,CAAA,EAAA,MAAA;EACH,OAAM,CAAA,EAAA,SAAA,GAAA,aAAA;EAAS,aAAA,CAAA,EAAA;IAIZ,QAAM,EAAA,GAAA,EAAA;IAAG,GAAA,CAAA,EALf,OAAA,CAAM,SAKS;IAAQ,MAAA,CAAA,EAJpB,OAAA,CAAM,SAIc;EAAW,CAAA;;AAI/B,iBAJG,MAAA,CAImB;EAAT;AAAS,CAAT,EAJO,WAIE,CAAA,EAJS,oBAAA,CAAA,GAAA,CAAA,OAIT;AACtB,cADA,aACY,EAAA,OADC,MACQ;cAArB,qBAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.mobile.js","names":[],"sources":["../../../src/components/organisms/Header.mobile.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit/ui/stack';\n\nexport interface HeaderProps {\n logo: React.ReactNode;\n nav: any[];\n userMenu?: any;\n cta?: any;\n className?: string;\n density?: 'compact' | 'comfortable';\n mobileSidebar?: {\n sections: any[];\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n };\n}\n\nexport function Header({ logo }: HeaderProps) {\n return <VStack className=\"px-3 py-2\">{logo}</VStack>;\n}\n\nexport const DesktopHeader = Header;\nexport const MobileHeader = Header;\n"],"mappings":";;;;;;;AAmBA,SAAgB,OAAO,EAAE,QAAqB;AAC5C,QAAO,oBAAC;EAAO,WAAU;YAAa;GAAc;;AAGtD,MAAa,gBAAgB;AAC7B,MAAa,eAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeroResponsive.d.ts","names":[],"sources":["../../../src/components/organisms/HeroResponsive.tsx"],"sourcesContent":[],"mappings":";;;;;iBAMgB,cAAA;;;;;;GAMb,OAAA,CAAM,sBAAsB,eAAY,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeroResponsive.js","names":[],"sources":["../../../src/components/organisms/HeroResponsive.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { HeroSection } from './HeroSection';\nimport { useResponsive } from '../../platform/useResponsive';\n\nexport function HeroResponsive({\n title,\n subtitle,\n primaryCta,\n secondaryCta,\n className,\n}: React.ComponentProps<typeof HeroSection>) {\n const { screen } = useResponsive();\n const spacing =\n screen === 'desktop' ? 'gap-6' : screen === 'tablet' ? 'gap-4' : 'gap-3';\n const size =\n screen === 'desktop'\n ? 'text-5xl'\n : screen === 'tablet'\n ? 'text-4xl'\n : 'text-3xl';\n return (\n <HeroSection\n title={<div className={`${size}`}>{title}</div>}\n subtitle={subtitle}\n primaryCta={primaryCta}\n secondaryCta={secondaryCta}\n className={[className, spacing].filter(Boolean).join(' ')}\n />\n );\n}\n"],"mappings":";;;;;;;;AAMA,SAAgB,eAAe,EAC7B,OACA,UACA,YACA,cACA,aAC2C;CAC3C,MAAM,EAAE,WAAW,eAAe;AASlC,QACE,oBAAC;EACC,OAAO,oBAAC;GAAI,WAAW,GAPzB,WAAW,YACP,aACA,WAAW,WACT,aACA;aAG+B;IAAY;EACrC;EACE;EACE;EACd,WAAW,CAAC,WAbd,WAAW,YAAY,UAAU,WAAW,WAAW,UAAU,QAahC,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GACzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeroSection.d.ts","names":[],"sources":["../../../src/components/organisms/HeroSection.tsx"],"sourcesContent":[],"mappings":";;;;iBAiBgB,WAAA;;;;;;;;SAQP,OAAA,CAAM;aACF,OAAA,CAAM;EATH,UAAA,CAAA,EAAA;IACd,KAAA,EAAA,MAAA;IACA,IAAA,CAAA,EAAA,MAAA;IACA,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,CAAA;EACA,YAAA,CAAA,EAAA;IACA,KAAA,EAAA,MAAA;IAEO,IAAM,CAAA,EAAA,MAAA;IACF,OAAM,CAAA,EAAA,GAAA,GAAA,IAAA;EAKlB,CAAA;EAAA,SAAA,CAAA,EAAA,MAAA;;IAAA,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeroSection.js","names":[],"sources":["../../../src/components/organisms/HeroSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Hero } from '@lssm/lib.ui-kit-web/ui/marketing/Hero';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst sectionVariants = cva(\n 'relative overflow-hidden bg-linear-to-b from-background to-muted/20',\n {\n variants: {\n density: {\n compact: 'py-12',\n comfortable: 'py-16 sm:py-24 lg:py-32',\n },\n },\n defaultVariants: { density: 'comfortable' },\n }\n);\n\nexport function HeroSection({\n title,\n subtitle,\n primaryCta,\n secondaryCta,\n className,\n density,\n}: {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n primaryCta?: { label: string; href?: string; onClick?: () => void };\n secondaryCta?: { label: string; href?: string; onClick?: () => void };\n className?: string;\n density?: 'compact' | 'comfortable';\n}) {\n return (\n <section\n className={[sectionVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <div className=\"container mx-auto px-4 sm:px-6 lg:px-8\">\n <Hero\n title={title}\n subtitle={subtitle}\n primaryCta={primaryCta}\n secondaryCta={secondaryCta}\n />\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;;AAIA,MAAM,kBAAkB,IACtB,uEACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CACF;AAED,SAAgB,YAAY,EAC1B,OACA,UACA,YACA,cACA,WACA,WAQC;AACD,QACE,oBAAC;EACC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,UAAU,CACjD,OAAO,QAAQ,CACf,KAAK,IAAI;YAEZ,oBAAC;GAAI,WAAU;aACb,oBAAC;IACQ;IACG;IACE;IACE;KACd;IACE;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListCardPage.d.ts","names":[],"sources":["../../../src/components/organisms/ListCardPage.tsx"],"sourcesContent":[],"mappings":";;;;;;cAQM;;IAUJ,gCAAA,CAAA;cAEI,oBAWJ;EAvBI,IAAA,CAAA,EAAA,IAAA,GAAA,IAAA,GAUJ,IAAA,GAAA,IAAA,GAAA,SAAA;IAaA,gCAAA,CAAA,SAAA,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAEe,UAAA,iBAAiB,CAAA,CAAA,CAAA,SACxB,YADwB,CAAA,OACJ,iBADI,CAAA,EAE9B,YAF8B,CAAA,OAEV,YAFU,CAAA,CAAA;EACJ,KAAA,EAErB,OAAA,CAAM,SAFe;EACN,QAAA,CAAA,EAEX,OAAA,CAAM,SAFK;EACf,KAAM,EAEN,CAFM,EAAA;EACF,UAAM,EAAA,CAAA,IAAA,EAEE,CAFF,EAAA,KAAA,EAAA,MAAA,EAAA,GAEuB,OAAA,CAAM,SAF7B;EACV,SAAA,CAAA,EAAA,MAAA;EACY,OAAA,CAAA,EAAA;IAAqB,MAAM,CAAA,EAAA,MAAA;IALtC,MAAA,CAAA,EAAA,MAAA;IACN,OAAA,CAAA,EAAA,MAAA;EAAY,CAAA;AAShB;AACE,iBADc,YACd,CAAA,CAAA,CAAA,CAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,UAAA;EAAA,SAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAQC,iBARD,CAQmB,CARnB,CAAA,CAAA,EAQqB,oBAAA,CAAA,GAAA,CAAA,OARrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListCardPage.js","names":[],"sources":["../../../src/components/organisms/ListCardPage.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { useResponsive } from '../../platform/useResponsive';\n\nconst containerVariants = cva('', {\n variants: {\n density: {\n compact: 'gap-3',\n comfortable: 'gap-4 md:gap-5',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n },\n});\n\nconst gridVariants = cva('grid', {\n variants: {\n size: {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport interface ListCardPageProps<T>\n extends VariantProps<typeof containerVariants>,\n VariantProps<typeof gridVariants> {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n items: T[];\n renderCard: (item: T, index: number) => React.ReactNode;\n className?: string;\n columns?: { mobile?: number; tablet?: number; desktop?: number };\n}\n\nexport function ListCardPage<T>({\n title,\n subtitle,\n items,\n renderCard,\n className,\n columns,\n density,\n size,\n}: ListCardPageProps<T>) {\n const { screen } = useResponsive();\n const cols =\n screen === 'desktop'\n ? (columns?.desktop ?? 3)\n : screen === 'tablet'\n ? (columns?.tablet ?? 2)\n : (columns?.mobile ?? 1);\n const presetColsClass =\n cols === 1\n ? 'grid-cols-1'\n : cols === 2\n ? 'grid-cols-2'\n : cols === 3\n ? 'grid-cols-3'\n : cols === 4\n ? 'grid-cols-4'\n : 'grid-cols-3';\n return (\n <VStack\n className={[containerVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <VStack className=\"gap-1\">\n <h1 className=\"text-2xl font-bold md:text-3xl\">{title}</h1>\n {subtitle ? (\n <p className=\"text-muted-foreground text-base\">{subtitle}</p>\n ) : null}\n </VStack>\n <div className={[gridVariants({ size }), presetColsClass].join(' ')}>\n {items.map((item, index) => (\n <Card key={index} className=\"border-none shadow-2xs\">\n <CardContent className=\"p-4 md:p-5 lg:p-6\">\n {renderCard(item, index)}\n </CardContent>\n </Card>\n ))}\n </div>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;AAQA,MAAM,oBAAoB,IAAI,IAAI;CAChC,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,eACV;CACF,CAAC;AAEF,MAAM,eAAe,IAAI,QAAQ;CAC/B,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAaF,SAAgB,aAAgB,EAC9B,OACA,UACA,OACA,YACA,WACA,SACA,SACA,QACuB;CACvB,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OACJ,WAAW,YACN,SAAS,WAAW,IACrB,WAAW,WACR,SAAS,UAAU,IACnB,SAAS,UAAU;CAC5B,MAAM,kBACJ,SAAS,IACL,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA;AACZ,QACE,qBAAC;EACC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;aAEZ,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAG,WAAU;cAAkC;KAAW,EAC1D,WACC,oBAAC;IAAE,WAAU;cAAmC;KAAa,GAC3D;IACG,EACT,oBAAC;GAAI,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,IAAI;aAChE,MAAM,KAAK,MAAM,UAChB,oBAAC;IAAiB,WAAU;cAC1B,oBAAC;KAAY,WAAU;eACpB,WAAW,MAAM,MAAM;MACZ;MAHL,MAIJ,CACP;IACE;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListGridPage.d.ts","names":[],"sources":["../../../src/components/organisms/ListGridPage.tsx"],"sourcesContent":[],"mappings":";;;;;;cAOM;;IAUJ,+BAAA,CAAA;cAEI,uBAWJ;EAvBI,IAAA,CAAA,EAAA,IAAA,GAAA,IAAA,GAUJ,IAAA,GAAA,IAAA,GAAA,SAAA;IAaA,+BAAA,CAAA,SAAA,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAEe,UAAA,iBAAiB,CAAA,CAAA,CAAA,SACxB,YADwB,CAAA,OACJ,iBADI,CAAA,EAE9B,YAF8B,CAAA,OAEV,eAFU,CAAA,CAAA;EACJ,KAAA,EAErB,OAAA,CAAM,SAFe;EACN,QAAA,CAAA,EAEX,OAAA,CAAM,SAFK;EACf,KAAM,EAEN,CAFM,EAAA;EACF,UAAM,EAAA,CAAA,IAAA,EAEE,CAFF,EAAA,KAAA,EAAA,MAAA,EAAA,GAEuB,OAAA,CAAM,SAF7B;EACV,SAAA,CAAA,EAAA,MAAA;EACY,OAAA,CAAA,EAAA;IAAqB,MAAM,CAAA,EAAA,MAAA;IALtC,MAAA,CAAA,EAAA,MAAA;IACN,OAAA,CAAA,EAAA,MAAA;EAAY,CAAA;AAShB;AACE,iBADc,YACd,CAAA,CAAA,CAAA,CAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,UAAA;EAAA,SAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAQC,iBARD,CAQmB,CARnB,CAAA,CAAA,EAQqB,mBAAA,CAAA,GAAA,CAAA,OARrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListGridPage.js","names":[],"sources":["../../../src/components/organisms/ListGridPage.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useResponsive } from '../../platform/useResponsive';\n\nconst containerVariants = cva('', {\n variants: {\n density: {\n compact: 'gap-3',\n comfortable: 'gap-4 md:gap-5 lg:gap-6',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n },\n});\n\nconst gridGapVariants = cva('', {\n variants: {\n size: {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport interface ListGridPageProps<T>\n extends VariantProps<typeof containerVariants>,\n VariantProps<typeof gridGapVariants> {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n items: T[];\n renderItem: (item: T, index: number) => React.ReactNode;\n className?: string;\n columns?: { mobile?: number; tablet?: number; desktop?: number };\n}\n\nexport function ListGridPage<T>({\n title,\n subtitle,\n items,\n renderItem,\n className,\n columns,\n density,\n size,\n}: ListGridPageProps<T>) {\n const { screen } = useResponsive();\n const cols =\n screen === 'desktop'\n ? (columns?.desktop ?? 3)\n : screen === 'tablet'\n ? (columns?.tablet ?? 2)\n : (columns?.mobile ?? 1);\n const gridClass = `grid ${gridGapVariants({ size })}`;\n const colsClass = `grid-cols-${cols}`;\n // Tailwind can't generate dynamic classes reliably; provide common presets\n const presetColsClass =\n cols === 1\n ? 'grid-cols-1'\n : cols === 2\n ? 'grid-cols-2'\n : cols === 3\n ? 'grid-cols-3'\n : cols === 4\n ? 'grid-cols-4'\n : 'grid-cols-3';\n\n return (\n <VStack\n className={[containerVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <VStack className=\"gap-1\">\n <h1 className=\"text-2xl font-bold md:text-3xl\">{title}</h1>\n {subtitle ? (\n <p className=\"text-muted-foreground text-base\">{subtitle}</p>\n ) : null}\n </VStack>\n <div className={`${gridClass} ${presetColsClass}`}>\n {items.map((item, idx) => (\n <div key={idx}>{renderItem(item, idx)}</div>\n ))}\n </div>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;AAOA,MAAM,oBAAoB,IAAI,IAAI;CAChC,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,eACV;CACF,CAAC;AAEF,MAAM,kBAAkB,IAAI,IAAI;CAC9B,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAaF,SAAgB,aAAgB,EAC9B,OACA,UACA,OACA,YACA,WACA,SACA,SACA,QACuB;CACvB,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OACJ,WAAW,YACN,SAAS,WAAW,IACrB,WAAW,WACR,SAAS,UAAU,IACnB,SAAS,UAAU;CAC5B,MAAM,YAAY,QAAQ,gBAAgB,EAAE,MAAM,CAAC;AACjC,IAAa,KAAb;CAElB,MAAM,kBACJ,SAAS,IACL,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA;AAEZ,QACE,qBAAC;EACC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;aAEZ,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAG,WAAU;cAAkC;KAAW,EAC1D,WACC,oBAAC;IAAE,WAAU;cAAmC;KAAa,GAC3D;IACG,EACT,oBAAC;GAAI,WAAW,GAAG,UAAU,GAAG;aAC7B,MAAM,KAAK,MAAM,QAChB,oBAAC,mBAAe,WAAW,MAAM,IAAI,IAA3B,IAAkC,CAC5C;IACE;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListPageResponsive.d.ts","names":[],"sources":["../../../src/components/organisms/ListPageResponsive.tsx"],"sourcesContent":[],"mappings":";;;;iBAOgB,6BAA6B,cAAc,KAAE,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListPageResponsive.js","names":[],"sources":["../../../src/components/organisms/ListPageResponsive.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useResponsive } from '../../platform/useResponsive';\nimport { ListPage } from '@lssm/lib.ui-kit-web/ui/organisms/ListPage';\nimport type { ListPageProps } from '@lssm/lib.ui-kit-web/ui/organisms/ListPage/types';\n\nexport function ListPageResponsive<T>(props: ListPageProps<T>) {\n const { screen } = useResponsive();\n const className = [\n props.className,\n screen === 'desktop'\n ? 'space-y-6'\n : screen === 'tablet'\n ? 'space-y-5'\n : 'space-y-4',\n ]\n .filter(Boolean)\n .join(' ');\n return <ListPage {...props} className={className} />;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,mBAAsB,OAAyB;CAC7D,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,YAAY,CAChB,MAAM,WACN,WAAW,YACP,cACA,WAAW,WACT,cACA,YACP,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;AACZ,QAAO,oBAAC;EAAS,GAAI;EAAkB;GAAa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListTablePage.d.ts","names":[],"sources":["../../../src/components/organisms/ListTablePage.tsx"],"sourcesContent":[],"mappings":";;;;;;UAeiB;UACP,OAAA,CAAM;eACD,qBAAqB,OAAA,CAAM;;AAF1C;cAMM,iBALU,EAAA,CAAA,KAC0B,CAD1B,EAAA,CAAA;EACD,OAAA,CAAA,EAAA,SAAA,GAAA,aAAA,GAAA,IAAA,GAAA,SAAA;CAAqB,GAclC,gCAAA,CAAA,SAdwC,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAAS,UAgBlC,kBAhBkC,CAAA,CAAA,CAAA,SAiBzC,YAjByC,CAAA,OAiBrB,iBAjBqB,CAAA,CAAA;EAI7C,KAAA,EAcG,OAAA,CAAM,SAJb;EAEe,QAAA,CAAA,EAGJ,OAAA,CAAM,SAHgB;EACL,KAAA,EAGrB,CAHqB,EAAA;EACrB,OAAM,EAGJ,WAHI,CAGQ,CAHR,CAAA,EAAA;EACF,SAAM,CAAA,EAAA,MAAA;EACV,aAAA,CAAA,EAAA,CAAA,IAAA,EAGgB,CAHhB,EAAA,KAAA,EAAA,MAAA,EAAA,GAGqC,OAAA,CAAM,SAH3C;;AACE,iBAKK,aALL,CAAA,CAAA,CAAA,CAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,OAAA;EAAA,SAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAaR,kBAbQ,CAaW,CAbX,CAAA,CAAA,EAaa,oBAAA,CAAA,GAAA,CAAA,OAbb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListTablePage.js","names":[],"sources":["../../../src/components/organisms/ListTablePage.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n} from '@lssm/lib.ui-kit-web/ui/table';\nimport { useResponsive } from '../../platform/useResponsive';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nexport interface TableColumn<T> {\n header: React.ReactNode;\n cell: (item: T, index: number) => React.ReactNode;\n className?: string;\n}\n\nconst containerVariants = cva('', {\n variants: {\n density: {\n compact: 'gap-3',\n comfortable: 'gap-4 md:gap-5',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n },\n});\n\nexport interface ListTablePageProps<T>\n extends VariantProps<typeof containerVariants> {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n items: T[];\n columns: TableColumn<T>[];\n className?: string;\n renderActions?: (item: T, index: number) => React.ReactNode;\n}\n\nexport function ListTablePage<T>({\n title,\n subtitle,\n items,\n columns,\n className,\n density,\n renderActions,\n}: ListTablePageProps<T>) {\n const { screen } = useResponsive();\n const titleSize = screen === 'desktop' ? 'text-3xl' : 'text-2xl';\n\n return (\n <VStack\n className={[containerVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <VStack className=\"gap-1\">\n <h1 className={`${titleSize} font-bold`}>{title}</h1>\n {subtitle ? (\n <p className=\"text-muted-foreground text-base\">{subtitle}</p>\n ) : null}\n </VStack>\n\n <Table>\n <TableHeader>\n <TableRow>\n {columns.map((col, i) => (\n <TableHead key={i} className={col.className}>\n {col.header}\n </TableHead>\n ))}\n {renderActions ? <TableHead /> : null}\n </TableRow>\n </TableHeader>\n <TableBody>\n {items.map((item, rowIdx) => (\n <TableRow key={rowIdx}>\n {columns.map((col, colIdx) => (\n <TableCell key={colIdx} className={col.className}>\n {col.cell(item, rowIdx)}\n </TableCell>\n ))}\n {renderActions ? (\n <TableCell>\n <div className=\"flex items-center justify-end gap-2\">\n {renderActions(item, rowIdx)}\n </div>\n </TableCell>\n ) : null}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;AAqBA,MAAM,oBAAoB,IAAI,IAAI;CAChC,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,eACV;CACF,CAAC;AAYF,SAAgB,cAAiB,EAC/B,OACA,UACA,OACA,SACA,WACA,SACA,iBACwB;CACxB,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,YAAY,WAAW,YAAY,aAAa;AAEtD,QACE,qBAAC;EACC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;aAEZ,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAG,WAAW,GAAG,UAAU;cAAc;KAAW,EACpD,WACC,oBAAC;IAAE,WAAU;cAAmC;KAAa,GAC3D;IACG,EAET,qBAAC,oBACC,oBAAC,yBACC,qBAAC,uBACE,QAAQ,KAAK,KAAK,MACjB,oBAAC;GAAkB,WAAW,IAAI;aAC/B,IAAI;KADS,EAEJ,CACZ,EACD,gBAAgB,oBAAC,cAAY,GAAG,QACxB,GACC,EACd,oBAAC,uBACE,MAAM,KAAK,MAAM,WAChB,qBAAC,uBACE,QAAQ,KAAK,KAAK,WACjB,oBAAC;GAAuB,WAAW,IAAI;aACpC,IAAI,KAAK,MAAM,OAAO;KADT,OAEJ,CACZ,EACD,gBACC,oBAAC,uBACC,oBAAC;GAAI,WAAU;aACZ,cAAc,MAAM,OAAO;IACxB,GACI,GACV,SAZS,OAaJ,CACX,GACQ,IACN;GACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHeader.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingHeader.tsx"],"sourcesContent":[],"mappings":";;;;;;;UAsCiB,oBAAA;QACT,OAAA,CAAM;QACN;EAFS,QAAA,CAAA,EAAA;IACT,IAAM,CAAA,EAAA,MAAA;IACN,KAAA,CAAA,EAAA,MAAA;IAKG,QAAA,CAAA,EAAA,MAAA;IAEH,KAAA,EAFG,YAEH,EAAA;EAGE,CAAA;EAC0C,GAAA,CAAA,EAJ5C,SAI4C;EAA5B,SAAM,CAAA,EAAA,MAAA;EACX,OAAA,CAAA,EAAA,SAAA,GAAA,aAAA;EAAe,KAAA,CAAA,EAFxB,OAAA,CAAM,SAEkB;EAalB,oBAAe,EAdP,OAAA,CAAM,cAcC,CAAA,OAdqB,cAcrB,CAAA,CAAA,QAAA,CAAA;EAC7B,eAAA,EAdiB,eAcjB;;AAEA,iBAHc,eAAA,CAGd;EAAA,IAAA;EAAA,GAAA;EAAA,QAAA;EAAA,GAAA;EAAA,SAAA;EAAA,OAAA;EAAA,KAAA;EAAA,oBAAA;EAAA;AAAA,CAAA,EAOC,oBAPD,CAAA,EAOqB,mBAAA,CAAA,GAAA,CAAA,OAPrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHeader.js","names":["React","Nav","NavList","NavItem","NavTrigger","NavContent","NavLink"],"sources":["../../../src/components/organisms/MarketingHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { Button } from '../atoms/Button';\nimport { ButtonLink } from '../atoms/ButtonLink';\nimport {\n NavigationMenu as Nav,\n NavigationMenuContent as NavContent,\n NavigationMenuItem as NavItem,\n NavigationMenuLink as NavLink,\n NavigationMenuList as NavList,\n NavigationMenuTrigger as NavTrigger,\n} from '@lssm/lib.ui-kit-web/ui/navigation-menu';\nimport { Separator } from '@lssm/lib.ui-kit-web/ui/separator';\nimport {\n Sheet,\n SheetContent,\n SheetHeader,\n SheetTrigger,\n} from '@lssm/lib.ui-kit-web/ui/sheet';\nimport { Menu } from 'lucide-react';\nimport { MobileNavMenu } from '../molecules/MobileNavMenu';\nimport { CommandSearchTrigger } from '../molecules/CommandSearchTrigger';\nimport { LangSwitchDropdown } from '../molecules/LangSwitchDropdown';\nimport type {\n CtaAction,\n HeaderNavItem,\n UserMenuItem,\n} from '../../types/navigation';\nimport { NavUser } from '../molecules/NavUser';\nimport { cva } from 'class-variance-authority';\nimport { NavItemCard } from '../molecules/NavItemCard';\nimport { Box, HStack, VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { CommandPalette } from '../molecules/CommandPalette';\nimport type { LangSwitchProps } from '../molecules/LangSwitch';\nimport { Text } from '@lssm/lib.ui-kit-web/ui/text';\n\nexport interface MarketingHeaderProps {\n logo: React.ReactNode;\n nav?: HeaderNavItem[];\n userMenu?: {\n name?: string;\n email?: string;\n imageUrl?: string;\n items: UserMenuItem[];\n };\n cta?: CtaAction;\n className?: string;\n density?: 'compact' | 'comfortable';\n right?: React.ReactNode; // e.g. AI link button, extra actions\n commandPaletteGroups: React.ComponentProps<typeof CommandPalette>['groups'];\n langSwitchProps: LangSwitchProps;\n}\n\nconst headerVariants = cva('flex items-center justify-between gap-4', {\n variants: {\n density: {\n compact: 'px-3 py-2',\n comfortable: 'px-4 py-3',\n },\n },\n defaultVariants: { density: 'comfortable' },\n});\n\nexport function MarketingHeader({\n logo,\n nav = [],\n userMenu,\n cta,\n className,\n density,\n right,\n commandPaletteGroups,\n langSwitchProps,\n}: MarketingHeaderProps) {\n const [open, setOpen] = React.useState(false);\n return (\n <HStack\n as=\"header\"\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur-xs',\n className\n )}\n >\n <HStack\n className={cn(\n 'mx-auto w-full max-w-7xl items-center justify-center',\n headerVariants({ density })\n )}\n >\n {/* Mobile: compact left cluster */}\n <VStack className=\"flex items-center gap-2 md:hidden\">\n {/* Menu trigger (sheet) */}\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n\n <SheetContent side=\"left\" className=\"w-[320px] p-4\">\n <SheetHeader>\n <CommandSearchTrigger groups={commandPaletteGroups} />\n {/*<SheetTitle>Menu</SheetTitle>*/}\n </SheetHeader>\n\n {cta && (\n <VStack className=\"mb-3\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </VStack>\n )}\n\n <MobileNavMenu items={nav} />\n </SheetContent>\n </Sheet>\n </VStack>\n\n {logo}\n\n {/* Desktop navigation */}\n <HStack className=\"hidden items-center gap-4 md:flex\">\n {nav.length > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <Nav className=\"hidden md:flex\">\n <NavList>\n {nav.map((item) => (\n <NavItem key={String(item.key ?? item.href ?? item.label)}>\n {item.items && item.items.length > 0 ? (\n <>\n <NavTrigger>{item.label}</NavTrigger>\n <NavContent>\n <div className=\"grid w-[760px] grid-cols-3 gap-3 p-3\">\n {item.items.map((link) => (\n <NavItemCard key={link.href} item={link} />\n ))}\n </div>\n </NavContent>\n </>\n ) : (\n <NavLink href={item.href || '#'}>{item.label}</NavLink>\n )}\n </NavItem>\n ))}\n </NavList>\n </Nav>\n </>\n )}\n </HStack>\n\n <HStack className=\"flex items-center gap-2\">\n {/* Desktop: show search trigger and custom right slot */}\n <Box className=\"hidden items-center gap-2 md:flex\">\n <CommandSearchTrigger groups={commandPaletteGroups} />\n </Box>\n\n <LangSwitchDropdown\n value={langSwitchProps.value}\n onChange={langSwitchProps.onChange}\n options={langSwitchProps.options}\n />\n\n {right && <Box className=\"hidden md:flex\">{right}</Box>}\n\n {cta && (\n <Box className=\"hidden md:flex\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </Box>\n )}\n\n {userMenu && <NavUser {...userMenu} />}\n </HStack>\n </HStack>\n </HStack>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuDA,MAAM,iBAAiB,IAAI,2CAA2C;CACpE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CAAC;AAEF,SAAgB,gBAAgB,EAC9B,MACA,MAAM,EAAE,EACR,UACA,KACA,WACA,SACA,OACA,sBACA,mBACuB;CACvB,MAAM,CAAC,MAAM,WAAWA,QAAM,SAAS,MAAM;AAC7C,QACE,oBAAC;EACC,IAAG;EACH,WAAW,GACT,iHACA,UACD;YAED,qBAAC;GACC,WAAW,GACT,wDACA,eAAe,EAAE,SAAS,CAAC,CAC5B;;IAGD,oBAAC;KAAO,WAAU;eAEhB,qBAAC;MAAY;MAAM,cAAc;iBAC/B,oBAAC;OAAa;iBACZ,oBAAC;QAAO,SAAQ;QAAQ,MAAK;QAAO,cAAW;kBAC7C,oBAAC,QAAK,WAAU,YAAY;SACrB;QACI,EAEf,qBAAC;OAAa,MAAK;OAAO,WAAU;;QAClC,oBAAC,yBACC,oBAAC,wBAAqB,QAAQ,uBAAwB,GAE1C;QAEb,OACC,oBAAC;SAAO,WAAU;mBAChB,oBAAC;UACC,SAAS,IAAI;UACb,MAAM,IAAI;UACV,MAAM,IAAI;UACV,SAAS,IAAI;oBAEb,oBAAC,kBAAM,IAAI,QAAa;WACb;UACN;QAGX,oBAAC,iBAAc,OAAO,MAAO;;QAChB;OACT;MACD;IAER;IAGD,oBAAC;KAAO,WAAU;eACf,IAAI,SAAS,KACZ,4CACE,oBAAC;MAAU,aAAY;MAAW,WAAU;OAAQ,EACpD,oBAACC;MAAI,WAAU;gBACb,oBAACC,gCACE,IAAI,KAAK,SACR,oBAACC,gCACE,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,4CACE,oBAACC,mCAAY,KAAK,QAAmB,EACrC,oBAACC,mCACC,oBAAC;OAAI,WAAU;iBACZ,KAAK,MAAM,KAAK,SACf,oBAAC,eAA4B,MAAM,QAAjB,KAAK,KAAoB,CAC3C;QACE,GACK,IACZ,GAEH,oBAACC;OAAQ,MAAM,KAAK,QAAQ;iBAAM,KAAK;QAAgB,IAb7C,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,CAe/C,CACV,GACM;OACN,IACL;MAEE;IAET,qBAAC;KAAO,WAAU;;MAEhB,oBAAC;OAAI,WAAU;iBACb,oBAAC,wBAAqB,QAAQ,uBAAwB;QAClD;MAEN,oBAAC;OACC,OAAO,gBAAgB;OACvB,UAAU,gBAAgB;OAC1B,SAAS,gBAAgB;QACzB;MAED,SAAS,oBAAC;OAAI,WAAU;iBAAkB;QAAY;MAEtD,OACC,oBAAC;OAAI,WAAU;iBACb,oBAAC;QACC,SAAS,IAAI;QACb,MAAM,IAAI;QACV,MAAM,IAAI;QACV,SAAS,IAAI;kBAEb,oBAAC,kBAAM,IAAI,QAAa;SACb;QACT;MAGP,YAAY,oBAAC,WAAQ,GAAI,WAAY;;MAC/B;;IACF;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHeaderDesktop.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingHeaderDesktop.tsx"],"sourcesContent":[],"mappings":";;;;iBAgCgB,sBAAA;;;;;;;;GAQb,uBAAoB,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHeaderDesktop.js","names":["Nav","NavList","NavItem","NavTrigger","NavContent","NavLink"],"sources":["../../../src/components/organisms/MarketingHeaderDesktop.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport {\n NavigationMenu as Nav,\n NavigationMenuContent as NavContent,\n NavigationMenuItem as NavItem,\n NavigationMenuLink as NavLink,\n NavigationMenuList as NavList,\n NavigationMenuTrigger as NavTrigger,\n} from '@lssm/lib.ui-kit-web/ui/navigation-menu';\nimport { Separator } from '@lssm/lib.ui-kit-web/ui/separator';\nimport type { MarketingHeaderProps } from './MarketingHeader';\nimport { cva } from 'class-variance-authority';\nimport { NavUser } from '../molecules/NavUser';\nimport { NavItemCard } from '../molecules/NavItemCard';\nimport { ButtonLink } from '../atoms/ButtonLink';\n\nconst headerVariants = cva(\n 'hidden items-center justify-between gap-4 md:flex',\n {\n variants: {\n density: {\n compact: 'px-3 py-2',\n comfortable: 'px-4 py-3',\n },\n },\n defaultVariants: { density: 'comfortable' },\n }\n);\n\nexport function MarketingHeaderDesktop({\n logo,\n nav = [],\n userMenu,\n cta,\n className,\n density,\n right,\n}: MarketingHeaderProps) {\n return (\n <div\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 w-full border-b backdrop-blur-xs',\n className\n )}\n >\n <div\n className={cn('mx-auto w-full max-w-7xl', headerVariants({ density }))}\n >\n <div className=\"flex items-center gap-4\">\n {logo}\n {nav.length > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <Nav>\n <NavList>\n {nav.map((item) => (\n <NavItem key={String(item.key ?? item.href ?? item.label)}>\n {item.items && item.items.length > 0 ? (\n <>\n <NavTrigger>{item.label}</NavTrigger>\n <NavContent>\n <div className=\"grid w-[760px] grid-cols-3 gap-3 p-3\">\n {item.items.map((link) => (\n <NavItemCard key={link.href} item={link} />\n ))}\n </div>\n </NavContent>\n </>\n ) : (\n <NavLink href={item.href || '#'}>{item.label}</NavLink>\n )}\n </NavItem>\n ))}\n </NavList>\n </Nav>\n </>\n )}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {right}\n {cta && (\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n {cta.label}\n </ButtonLink>\n )}\n {userMenu && <NavUser {...userMenu} />}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,MAAM,iBAAiB,IACrB,qDACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CACF;AAED,SAAgB,uBAAuB,EACrC,MACA,MAAM,EAAE,EACR,UACA,KACA,WACA,SACA,SACuB;AACvB,QACE,oBAAC;EACC,WAAW,GACT,+FACA,UACD;YAED,qBAAC;GACC,WAAW,GAAG,4BAA4B,eAAe,EAAE,SAAS,CAAC,CAAC;cAEtE,qBAAC;IAAI,WAAU;eACZ,MACA,IAAI,SAAS,KACZ,4CACE,oBAAC;KAAU,aAAY;KAAW,WAAU;MAAQ,EACpD,oBAACA,4BACC,oBAACC,gCACE,IAAI,KAAK,SACR,oBAACC,gCACE,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,4CACE,oBAACC,mCAAY,KAAK,QAAmB,EACrC,oBAACC,mCACC,oBAAC;KAAI,WAAU;eACZ,KAAK,MAAM,KAAK,SACf,oBAAC,eAA4B,MAAM,QAAjB,KAAK,KAAoB,CAC3C;MACE,GACK,IACZ,GAEH,oBAACC;KAAQ,MAAM,KAAK,QAAQ;eAAM,KAAK;MAAgB,IAb7C,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,CAe/C,CACV,GACM,GACN,IACL;KAED,EAEN,qBAAC;IAAI,WAAU;;KACZ;KACA,OACC,oBAAC;MACC,SAAS,IAAI;MACb,MAAM,IAAI;MACV,MAAM,IAAI;MACV,SAAS,IAAI;gBAEZ,IAAI;OACM;KAEd,YAAY,oBAAC,WAAQ,GAAI,WAAY;;KAClC;IACF;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHeaderMobile.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingHeaderMobile.tsx"],"sourcesContent":[],"mappings":";;;;iBAqBgB,qBAAA;;;;;GAKb,uBAAoB,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHeaderMobile.js","names":["React"],"sources":["../../../src/components/organisms/MarketingHeaderMobile.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { Button } from '../atoms/Button';\nimport {\n Sheet,\n SheetContent,\n SheetTrigger,\n SheetTitle,\n SheetHeader,\n SheetFooter,\n SheetDescription,\n} from '@lssm/lib.ui-kit-web/ui/sheet';\nimport { Menu } from 'lucide-react';\nimport type { MarketingHeaderProps } from './MarketingHeader';\nimport { MobileNavMenu } from '../molecules/MobileNavMenu';\nimport { CommandSearchTrigger } from '../molecules/CommandSearchTrigger';\nimport { LangSwitchDropdown } from '../molecules/LangSwitchDropdown';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\n\nexport function MarketingHeaderMobile({\n logo,\n nav = [],\n className,\n right,\n}: MarketingHeaderProps) {\n const [open, setOpen] = React.useState(false);\n return (\n <div\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 w-full border-b backdrop-blur-xs md:hidden',\n className\n )}\n >\n <div className=\"mx-auto flex w-full max-w-7xl items-center justify-between px-3 py-2\">\n <div className=\"flex items-center gap-2\">\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n <SheetContent side=\"left\" className=\"w-[320px] p-4\">\n <SheetHeader>\n <SheetTitle>Menu</SheetTitle>\n <SheetDescription>\n <div className=\"mb-3\">\n <CommandSearchTrigger groups={[]} compact />\n </div>\n <MobileNavMenu items={nav} />\n </SheetDescription>\n </SheetHeader>\n <VStack>\n <MobileNavMenu items={nav} />\n </VStack>\n <SheetFooter>\n {right}\n {/* todo */}\n </SheetFooter>\n </SheetContent>\n </Sheet>\n {logo}\n </div>\n <div className=\"flex items-center gap-2\">\n <LangSwitchDropdown\n value={'en'}\n options={[\n { code: 'fr', label: 'FR' },\n { code: 'en', label: 'EN' },\n ]}\n onChange={() => {}}\n />\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,SAAgB,sBAAsB,EACpC,MACA,MAAM,EAAE,EACR,WACA,SACuB;CACvB,MAAM,CAAC,MAAM,WAAWA,QAAM,SAAS,MAAM;AAC7C,QACE,oBAAC;EACC,WAAW,GACT,yGACA,UACD;YAED,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAI,WAAU;eACb,qBAAC;KAAY;KAAM,cAAc;gBAC/B,oBAAC;MAAa;gBACZ,oBAAC;OAAO,SAAQ;OAAQ,MAAK;OAAO,cAAW;iBAC7C,oBAAC,QAAK,WAAU,YAAY;QACrB;OACI,EACf,qBAAC;MAAa,MAAK;MAAO,WAAU;;OAClC,qBAAC,0BACC,oBAAC,wBAAW,SAAiB,EAC7B,qBAAC,+BACC,oBAAC;QAAI,WAAU;kBACb,oBAAC;SAAqB,QAAQ,EAAE;SAAE;UAAU;SACxC,EACN,oBAAC,iBAAc,OAAO,MAAO,IACZ,IACP;OACd,oBAAC,oBACC,oBAAC,iBAAc,OAAO,MAAO,GACtB;OACT,oBAAC,yBACE,QAEW;;OACD;MACT,EACP;KACG,EACN,oBAAC;IAAI,WAAU;cACb,oBAAC;KACC,OAAO;KACP,SAAS,CACP;MAAE,MAAM;MAAM,OAAO;MAAM,EAC3B;MAAE,MAAM;MAAM,OAAO;MAAM,CAC5B;KACD,gBAAgB;MAChB;KACE;IACF;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingLayout.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingLayout.tsx"],"sourcesContent":[],"mappings":";;;;UAMiB,oBAAA;UACP,OAAA,CAAM;YACJ,OAAA,CAAM;EAFD,MAAA,CAAA,EAGN,OAAA,CAAM,SAHoB;EAC3B,SAAM,CAAA,EAAA,MAAA;;AAEL,iBAIK,eAAA,CAJC;EAAA,MAAA;EAAA,QAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EASd,oBATc,CAAA,EASM,mBAAA,CAAA,GAAA,CAAA,OATN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingLayout.js","names":[],"sources":["../../../src/components/organisms/MarketingLayout.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\n\nexport interface MarketingLayoutProps {\n header: React.ReactNode;\n children: React.ReactNode;\n footer?: React.ReactNode;\n className?: string;\n}\n\nexport function MarketingLayout({\n header,\n children,\n footer,\n className,\n}: MarketingLayoutProps) {\n return (\n <VStack className={cn('bg-background min-h-svh', className)}>\n {header}\n {/* <main id=\"main\" className=\"mx-auto w-full max-w-7xl px-4 py-8\"> */}\n <main id=\"main\" className=\"flex-1\">\n {children}\n </main>\n {footer}\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;AAaA,SAAgB,gBAAgB,EAC9B,QACA,UACA,QACA,aACuB;AACvB,QACE,qBAAC;EAAO,WAAW,GAAG,2BAA2B,UAAU;;GACxD;GAED,oBAAC;IAAK,IAAG;IAAO,WAAU;IACvB;KACI;GACN;;GACM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageHeaderResponsive.d.ts","names":[],"sources":["../../../src/components/organisms/PageHeaderResponsive.tsx"],"sourcesContent":[],"mappings":";;;;UASiB,yBAAA,SAAkC;iBAEnC,oBAAA,QAA4B,4BAAyB,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageHeaderResponsive.js","names":["WebPageHeader"],"sources":["../../../src/components/organisms/PageHeaderResponsive.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n PageHeader as WebPageHeader,\n type PageHeaderProps,\n} from '@lssm/lib.ui-kit-web/ui/page-header';\nimport { useResponsive } from '../../platform/useResponsive';\n\nexport interface PageHeaderResponsiveProps extends PageHeaderProps {}\n\nexport function PageHeaderResponsive(props: PageHeaderResponsiveProps) {\n const { screen } = useResponsive();\n const spacing =\n screen === 'desktop' ? 'lg' : screen === 'tablet' ? 'md' : 'sm';\n return (\n <WebPageHeader {...props} spacing={props.spacing ?? (spacing as any)} />\n );\n}\n"],"mappings":";;;;;;;;AAWA,SAAgB,qBAAqB,OAAkC;CACrE,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,UACJ,WAAW,YAAY,OAAO,WAAW,WAAW,OAAO;AAC7D,QACE,oBAACA;EAAc,GAAI;EAAO,SAAS,MAAM,WAAY;GAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageHeaderResponsive.mobile.d.ts","names":[],"sources":["../../../src/components/organisms/PageHeaderResponsive.mobile.tsx"],"sourcesContent":[],"mappings":";;;;UAOU,KAAA;SACD,OAAA,CAAM;aACF,OAAA,CAAM;EAFT,OAAA,CAAK,EAGH,OAAA,CAAM,SAHH;EACN,UAAM,CAAA,EAGA,OAAA,CAAM,SAHN;EACF,OAAM,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA;EACP,SAAM,CAAA,EAAA,MAAA;;AACY,iBAKd,oBAAA,CALc;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA,UAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAY3B,KAZ2B,CAAA,EAYtB,oBAAA,CAAA,GAAA,CAAA,OAZsB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageHeaderResponsive.mobile.js","names":[],"sources":["../../../src/components/organisms/PageHeaderResponsive.mobile.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { HStack, VStack } from '@lssm/lib.ui-kit/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit/ui/text';\nimport { useResponsive } from '../../platform/useResponsive.mobile';\n\ninterface Props {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n actions?: React.ReactNode;\n breadcrumb?: React.ReactNode;\n spacing?: 'sm' | 'md' | 'lg';\n className?: string;\n}\n\nexport function PageHeaderResponsive({\n title,\n subtitle,\n actions,\n breadcrumb,\n spacing,\n className,\n}: Props) {\n const { screen } = useResponsive();\n const resolvedSpacing =\n spacing ??\n (screen === 'desktop' ? 'lg' : screen === 'tablet' ? 'md' : 'sm');\n const gapClass =\n resolvedSpacing === 'lg'\n ? 'gap-4'\n : resolvedSpacing === 'md'\n ? 'gap-3'\n : 'gap-2';\n\n return (\n <VStack className={[gapClass, className].filter(Boolean).join(' ')}>\n {breadcrumb}\n <HStack className=\"items-start justify-between\">\n <VStack className=\"gap-1\">\n {typeof title === 'string' ? (\n <Text className=\"text-2xl font-bold\">{title}</Text>\n ) : (\n title\n )}\n {subtitle ? (\n typeof subtitle === 'string' ? (\n <Text className=\"text-muted-foreground text-base\">\n {subtitle}\n </Text>\n ) : (\n subtitle\n )\n ) : null}\n </VStack>\n\n {actions}\n </HStack>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,qBAAqB,EACnC,OACA,UACA,SACA,YACA,SACA,aACQ;CACR,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,kBACJ,YACC,WAAW,YAAY,OAAO,WAAW,WAAW,OAAO;AAQ9D,QACE,qBAAC;EAAO,WAAW,CAPnB,oBAAoB,OAChB,UACA,oBAAoB,OAClB,UACA,SAGwB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;aAC/D,YACD,qBAAC;GAAO,WAAU;cAChB,qBAAC;IAAO,WAAU;eACf,OAAO,UAAU,WAChB,oBAAC;KAAK,WAAU;eAAsB;MAAa,GAEnD,OAED,WACC,OAAO,aAAa,WAClB,oBAAC;KAAK,WAAU;eACb;MACI,GAEP,WAEA;KACG,EAER;IACM;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PricingCarousel.d.ts","names":[],"sources":["../../../src/components/organisms/PricingCarousel.tsx"],"sourcesContent":[],"mappings":";;;UAYiB,YAAA;;;EAAA,OAAA,CAAA,EAAA,MAAY;EASb,QAAA,EAAA,MAAA,EAAe;EAC7B,GAAA,CAAA,EAAA;IACA,KAAA,EAAA,MAAA;IAEO,IAAA,CAAA,EAAA,MAAA;IAER,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;;iBANe,eAAA;;;;SAIP;;IAER,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PricingCarousel.js","names":[],"sources":["../../../src/components/organisms/PricingCarousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from '@lssm/lib.ui-kit-web/ui/carousel';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { Button } from '../atoms/Button';\nimport { ButtonLink } from '../atoms/ButtonLink';\n\nexport interface PricingSlide {\n name: string;\n price: string;\n tagline?: string;\n features: string[];\n cta?: { label: string; href?: string; onPress?: () => void };\n highlighted?: boolean;\n}\n\nexport function PricingCarousel({\n tiers,\n className,\n}: {\n tiers: PricingSlide[];\n className?: string;\n}) {\n return (\n <div className={className}>\n <Carousel>\n <CarouselContent>\n {tiers.map((t, i) => (\n <CarouselItem key={i}>\n <Card\n className={\n t.highlighted ? 'border-primary shadow-lg' : undefined\n }\n >\n <CardContent className=\"p-6\">\n <div className=\"text-muted-foreground mb-2 text-base font-medium\">\n {t.name}\n </div>\n <div className=\"text-3xl font-semibold\">{t.price}</div>\n {t.tagline && (\n <div className=\"text-muted-foreground mt-1 text-base\">\n {t.tagline}\n </div>\n )}\n <ul className=\"mt-4 space-y-2 text-base\">\n {t.features.map((f, j) => (\n <li key={j} className=\"flex items-start gap-2\">\n <span className=\"bg-primary mt-1 h-1.5 w-1.5 rounded-full\" />\n <span>{f}</span>\n </li>\n ))}\n </ul>\n {t.cta && (\n <div className=\"mt-6\">\n {t.cta.href ? (\n <ButtonLink className=\"w-full\" href={t.cta.href}>\n {t.cta.label}\n </ButtonLink>\n ) : (\n <Button className=\"w-full\" onPress={t.cta.onPress}>\n {t.cta.label}\n </Button>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n </CarouselItem>\n ))}\n </CarouselContent>\n <CarouselPrevious />\n <CarouselNext />\n </Carousel>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,gBAAgB,EAC9B,OACA,aAIC;AACD,QACE,oBAAC;EAAe;YACd,qBAAC;GACC,oBAAC,6BACE,MAAM,KAAK,GAAG,MACb,oBAAC,0BACC,oBAAC;IACC,WACE,EAAE,cAAc,6BAA6B;cAG/C,qBAAC;KAAY,WAAU;;MACrB,oBAAC;OAAI,WAAU;iBACZ,EAAE;QACC;MACN,oBAAC;OAAI,WAAU;iBAA0B,EAAE;QAAY;MACtD,EAAE,WACD,oBAAC;OAAI,WAAU;iBACZ,EAAE;QACC;MAER,oBAAC;OAAG,WAAU;iBACX,EAAE,SAAS,KAAK,GAAG,MAClB,qBAAC;QAAW,WAAU;mBACpB,oBAAC,UAAK,WAAU,6CAA6C,EAC7D,oBAAC,oBAAM,IAAS;UAFT,EAGJ,CACL;QACC;MACJ,EAAE,OACD,oBAAC;OAAI,WAAU;iBACZ,EAAE,IAAI,OACL,oBAAC;QAAW,WAAU;QAAS,MAAM,EAAE,IAAI;kBACxC,EAAE,IAAI;SACI,GAEb,oBAAC;QAAO,WAAU;QAAS,SAAS,EAAE,IAAI;kBACvC,EAAE,IAAI;SACA;QAEP;;MAEI;KACT,IAtCU,EAuCJ,CACf,GACc;GAClB,oBAAC,qBAAmB;GACpB,oBAAC,iBAAe;MACP;GACP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PricingSection.d.ts","names":[],"sources":["../../../src/components/organisms/PricingSection.tsx"],"sourcesContent":[],"mappings":";;;;;iBAMgB,cAAA;;;;;;SAMP;UACC,OAAA,CAAM;EAPA,QAAA,CAAA,EAQH,OAAA,CAAM,SARW;EAC5B,SAAA,CAAA,EAAA,MAAA;CACA,CAAA,EAQD,mBAAA,CAAA,GAAA,CAAA,OARC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PricingSection.js","names":[],"sources":["../../../src/components/organisms/PricingSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n PricingTable,\n type PricingTier,\n} from '@lssm/lib.ui-kit-web/ui/marketing/PricingTable';\n\nexport function PricingSection({\n tiers,\n title,\n subtitle,\n className,\n}: {\n tiers: PricingTier[];\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n className?: string;\n}) {\n return (\n <section className={`py-12 sm:py-16 lg:py-24 ${className || ''}`}>\n <div className=\"container mx-auto px-4 sm:px-6 lg:px-8\">\n {title ? (\n <div className=\"mb-8 text-center\">\n <h2 className=\"text-3xl font-bold md:text-4xl\">{title}</h2>\n {subtitle ? (\n <p className=\"text-muted-foreground mx-auto mt-2 max-w-2xl text-base\">\n {subtitle}\n </p>\n ) : null}\n </div>\n ) : null}\n <PricingTable tiers={tiers} />\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;AAMA,SAAgB,eAAe,EAC7B,OACA,OACA,UACA,aAMC;AACD,QACE,oBAAC;EAAQ,WAAW,2BAA2B,aAAa;YAC1D,qBAAC;GAAI,WAAU;cACZ,QACC,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAG,WAAU;eAAkC;MAAW,EAC1D,WACC,oBAAC;KAAE,WAAU;eACV;MACC,GACF;KACA,GACJ,MACJ,oBAAC,gBAAoB,QAAS;IAC1B;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestimonialCarousel.d.ts","names":[],"sources":["../../../src/components/organisms/TestimonialCarousel.tsx"],"sourcesContent":[],"mappings":";;;;UAUiB,WAAA;SACR,OAAA,CAAM;UACL,OAAA,CAAM;EAFC,IAAA,CAAA,EAGR,OAAA,CAAM,SAHa;EACnB,MAAM,CAAA,EAGJ,OAAA,CAAM,SAHF;;AAEN,iBAIO,mBAAA,CAJD;EAAA,YAAA;EAAA;AAIf,CAJe,EAAA;EACJ,YAAM,EAOD,WAPC,EAAA;EAAS,SAAA,CAAA,EAAA,MAAA;AAG1B,CAAA,CAAA,EAMC,mBAAA,CAAA,GAAA,CAAA,OANkC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestimonialCarousel.js","names":[],"sources":["../../../src/components/organisms/TestimonialCarousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from '@lssm/lib.ui-kit-web/ui/carousel';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\n\nexport interface Testimonial {\n quote: React.ReactNode;\n author: React.ReactNode;\n role?: React.ReactNode;\n avatar?: React.ReactNode;\n}\n\nexport function TestimonialCarousel({\n testimonials,\n className,\n}: {\n testimonials: Testimonial[];\n className?: string;\n}) {\n return (\n <div className={className}>\n <Carousel>\n <CarouselContent>\n {testimonials.map((t, i) => (\n <CarouselItem key={i}>\n <Card>\n <CardContent className=\"p-6\">\n <div className=\"text-lg\">{t.quote}</div>\n <div className=\"mt-4 flex items-center gap-3\">\n {t.avatar}\n <div className=\"text-base\">\n <div className=\"font-medium\">{t.author}</div>\n {t.role && (\n <div className=\"text-muted-foreground\">{t.role}</div>\n )}\n </div>\n </div>\n </CardContent>\n </Card>\n </CarouselItem>\n ))}\n </CarouselContent>\n <CarouselPrevious />\n <CarouselNext />\n </Carousel>\n </div>\n );\n}\n"],"mappings":";;;;;;AAiBA,SAAgB,oBAAoB,EAClC,cACA,aAIC;AACD,QACE,oBAAC;EAAe;YACd,qBAAC;GACC,oBAAC,6BACE,aAAa,KAAK,GAAG,MACpB,oBAAC,0BACC,oBAAC,kBACC,qBAAC;IAAY,WAAU;eACrB,oBAAC;KAAI,WAAU;eAAW,EAAE;MAAY,EACxC,qBAAC;KAAI,WAAU;gBACZ,EAAE,QACH,qBAAC;MAAI,WAAU;iBACb,oBAAC;OAAI,WAAU;iBAAe,EAAE;QAAa,EAC5C,EAAE,QACD,oBAAC;OAAI,WAAU;iBAAyB,EAAE;QAAW;OAEnD;MACF;KACM,GACT,IAdU,EAeJ,CACf,GACc;GAClB,oBAAC,qBAAmB;GACpB,oBAAC,iBAAe;MACP;GACP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mobile.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.mobile.tsx"],"sourcesContent":[],"mappings":";;;;iBAUgB;;;;;;;;;;;;;;GAcb,sBAAsB,KAAE,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mobile.js","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.mobile.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ListRenderItem } from 'react-native';\nimport { FiltersToolbar } from '../../../molecules/FiltersToolbar.mobile';\nimport { PageHeaderResponsive } from '../../../organisms/PageHeaderResponsive.mobile';\nimport { FlatListScreen } from '../../../native/FlatListScreen.mobile';\nimport type { ListPageTemplateProps } from './types';\nimport { EmptyDataList } from '../../../organisms/EmptyDataList.mobile';\n\nexport * from './types';\n\nexport function ListPageTemplate<T = any>({\n children,\n title,\n description,\n breadcrumb,\n actions,\n searchPlaceholder,\n searchValue,\n onSearchChange,\n onSearchSubmit,\n isLoading,\n data,\n renderItem,\n emptyProps,\n}: ListPageTemplateProps<T>) {\n const header = (\n <>\n <PageHeaderResponsive\n title={title}\n subtitle={description}\n breadcrumb={breadcrumb}\n actions={actions}\n />\n <FiltersToolbar\n searchPlaceholder={searchPlaceholder}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchSubmit={onSearchSubmit}\n />\n </>\n );\n\n return (\n <FlatListScreen\n refreshing={isLoading}\n header={header}\n data={data ?? []}\n renderItem={renderItem as unknown as ListRenderItem<T>}\n showsVerticalScrollIndicator={false}\n padding=\"md\"\n emptyComponent={\n emptyProps ? <EmptyDataList {...emptyProps} /> : undefined\n }\n />\n );\n}\n"],"mappings":";;;;;;;;AAUA,SAAgB,iBAA0B,EACxC,UACA,OACA,aACA,YACA,SACA,mBACA,aACA,gBACA,gBACA,WACA,MACA,YACA,cAC2B;AAkB3B,QACE,oBAAC;EACC,YAAY;EACZ,QAnBF,4CACE,oBAAC;GACQ;GACP,UAAU;GACE;GACH;IACT,EACF,oBAAC;GACoB;GACN;GACG;GACA;IAChB,IACD;EAOD,MAAM,QAAQ,EAAE;EACJ;EACZ,8BAA8B;EAC9B,SAAQ;EACR,gBACE,aAAa,oBAAC,iBAAc,GAAI,aAAc,GAAG;GAEnD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.web.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.web.tsx"],"sourcesContent":[],"mappings":";;;;iBAegB;;;;;;;;;;;;;;;GAeb,sBAAsB,KAAE,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.web.js","names":["React"],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.web.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { PageHeaderResponsive } from '../../../organisms/PageHeaderResponsive';\nimport { FiltersToolbar } from '../../../molecules/FiltersToolbar';\nimport { AiLinkButton } from '../../../molecules/AiLinkButton';\nimport type { ListPageTemplateProps } from './types';\nimport { Skeleton } from '@lssm/lib.ui-kit-web/ui/skeleton';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { EmptyDataList } from '../../../organisms/EmptyDataList';\n\nconst containerVariants = cva('space-y-4 md:space-y-6');\n\nexport * from './types';\n\nexport function ListPageTemplate<T = any>({\n children,\n title,\n description,\n breadcrumb,\n actions,\n className,\n searchPlaceholder,\n searchValue,\n onSearchChange,\n onSearchSubmit,\n isLoading,\n data,\n renderItem,\n emptyProps,\n}: ListPageTemplateProps<T>) {\n const mdHref = React.useMemo(() => {\n if (typeof window === 'undefined') return undefined;\n const url = new URL(window.location.href);\n url.pathname = url.pathname.replace(/\\/$/, '') + '.md';\n return url.toString();\n }, []);\n\n const renderEmpty = () => {\n return (\n <Card>\n <CardContent>\n <EmptyDataList {...emptyProps} />\n </CardContent>\n </Card>\n );\n };\n\n return (\n <div className={cn(containerVariants(), className)}>\n <PageHeaderResponsive\n title={title}\n subtitle={description}\n breadcrumb={breadcrumb}\n actions={\n <>\n {actions}\n {mdHref && <AiLinkButton href={mdHref} />}\n </>\n }\n />\n <FiltersToolbar\n searchPlaceholder={searchPlaceholder}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchSubmit={onSearchSubmit}\n />\n <div className=\"space-y-2\">\n {data?.map((item, index) => (\n <div key={index}>{renderItem({ item, index })}</div>\n ))}\n {!data?.length &&\n (isLoading\n ? Array.from({ length: 10 }).map((_, index) => (\n <Skeleton key={index} className=\"h-20 w-full rounded-md\" />\n ))\n : renderEmpty())}\n </div>\n\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAWA,MAAM,oBAAoB,IAAI,yBAAyB;AAIvD,SAAgB,iBAA0B,EACxC,UACA,OACA,aACA,YACA,SACA,WACA,mBACA,aACA,gBACA,gBACA,WACA,MACA,YACA,cAC2B;CAC3B,MAAM,SAASA,QAAM,cAAc;AACjC,MAAI,OAAO,WAAW,YAAa,QAAO;EAC1C,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,MAAI,WAAW,IAAI,SAAS,QAAQ,OAAO,GAAG,GAAG;AACjD,SAAO,IAAI,UAAU;IACpB,EAAE,CAAC;CAEN,MAAM,oBAAoB;AACxB,SACE,oBAAC,kBACC,oBAAC,yBACC,oBAAC,iBAAc,GAAI,aAAc,GACrB,GACT;;AAIX,QACE,qBAAC;EAAI,WAAW,GAAG,mBAAmB,EAAE,UAAU;;GAChD,oBAAC;IACQ;IACP,UAAU;IACE;IACZ,SACE,4CACG,SACA,UAAU,oBAAC,gBAAa,MAAM,SAAU,IACxC;KAEL;GACF,oBAAC;IACoB;IACN;IACG;IACA;KAChB;GACF,qBAAC;IAAI,WAAU;eACZ,MAAM,KAAK,MAAM,UAChB,oBAAC,mBAAiB,WAAW;KAAE;KAAM;KAAO,CAAC,IAAnC,MAA0C,CACpD,EACD,CAAC,MAAM,WACL,YACG,MAAM,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,UACjC,oBAAC,YAAqB,WAAU,4BAAjB,MAA4C,CAC3D,GACF,aAAa;KACf;GAEL;;GACG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/types.ts"],"sourcesContent":[],"mappings":";;;;UAGiB;aACJ,OAAA,CAAM;EADF,KAAA,EAER,OAAA,CAAM,SAFE;EACJ,WAAM,CAAA,EAEH,OAAA,CAAM,SAFH;EACV,UAAM,CAAA,EAEA,OAAA,CAAM,SAFN;EACC,OAAM,CAAA,EAEV,OAAA,CAAM,SAFI;EACP,SAAM,CAAA,EAAA,MAAA;EACT,iBAAM,CAAA,EAAA,MAAA;EASV,WAAA,CAAA,EAAA,MAAA;EACqB,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAAuB,cAAM,CAAA,EAAA,GAAA,GAAA,IAAA;EAC5C,SAAA,CAAA,EAAA,OAAA;EAAkB,IAAA,EAFxB,CAEwB,EAAA,GAAA,IAAA;;UADH;;QAAuB,OAAA,CAAM;cAC5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListUrlState.d.ts","names":[],"sources":["../../src/hooks/useListUrlState.ts"],"sourcesContent":[],"mappings":";UAEiB,8BACE,0BAA0B;EAD5B,CAAA,EAAA,MAAA;EACE,IAAA,EAAA,MAAA;EAA0B,KAAA,EAAA,MAAA;EAMlC,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAQ,OAAA,EAAR,QAAQ;AAGnB;AACmB,iBADH,eACG,CAAA,iBAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,GAA0B,MAA1B,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA;EAAA,QAAA;EAAA,SAAA;EAAA;CAAA,EAAA;EAA0B,QAAA,EAYjC,YAZiC,CAYpB,QAZoB,CAAA;EAE3C,SAAA,CAAA,EAAA;IACA,CAAA,EAAA,MAAA;IAOA,IAAA,EAAA,MAAA;IAEuB,KAAA,EAAA,MAAA;IAAb,IAAA,EAAA,MAAA;;;EAuCoB,YAAA,CAAA,EAAA,OAAA;CAAb,CAAA,EAAA;EAAR,SAAA,KAAA,cAAA,SAAA,CAAA;EAgCM,SAAA,QAAA,EAAA,CAAA,IAAA,EAhCN,OAgCM,CAhCE,YAgCF,CAhCe,QAgCf,CAAA,CAAA,EAAA,GAAA,IAAA;EACJ,SAAA,SAAA,EAAA,CAAA,GAAA,EAAA,MADI,QACJ,EAAA,KAAA,EAAA,QAAA,CAAA,MAAe,QAAf,CAAA,GAAA,SAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAAe,SAAA,YAAA,EAAA,GAAA,GAAA,IAAA;CAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListUrlState.js","names":["React","filters: TFilters","merged: ListUrlState<TFilters>"],"sources":["../../src/hooks/useListUrlState.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface ListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n> {\n q: string;\n page: number;\n limit: number;\n sort?: string | null;\n filters: TFilters;\n}\n\nexport function useListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n>({\n defaults,\n paramKeys = {\n q: 'q',\n page: 'page',\n limit: 'limit',\n sort: 'sort',\n filters: 'f',\n },\n replaceState = true,\n}: {\n defaults: ListUrlState<TFilters>;\n paramKeys?: {\n q: string;\n page: string;\n limit: string;\n sort: string;\n filters: string;\n };\n replaceState?: boolean;\n}) {\n const read = React.useCallback((): ListUrlState<TFilters> => {\n if (typeof window === 'undefined') return defaults;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const parseNum = (v: string | null, d: number) => {\n const n = v ? Number(v) : NaN;\n return Number.isFinite(n) && n > 0 ? n : d;\n };\n const filtersRaw = qs.get(paramKeys.filters);\n let filters: TFilters = defaults.filters;\n if (filtersRaw) {\n try {\n filters = JSON.parse(filtersRaw) as TFilters;\n } catch {\n filters = defaults.filters;\n }\n }\n return {\n q: qs.get(paramKeys.q) ?? defaults.q,\n page: parseNum(qs.get(paramKeys.page), defaults.page),\n limit: parseNum(qs.get(paramKeys.limit), defaults.limit),\n sort: qs.get(paramKeys.sort),\n filters,\n };\n }, [defaults, paramKeys]);\n\n const [state, setState] = React.useState<ListUrlState<TFilters>>(read);\n\n const write = React.useCallback(\n (next: Partial<ListUrlState<TFilters>>) => {\n if (typeof window === 'undefined') return;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const merged: ListUrlState<TFilters> = { ...state, ...next } as any;\n\n const setOrDel = (key: string, value: string | null | undefined) => {\n if (value == null || value === '' || value === 'null') qs.delete(key);\n else qs.set(key, value);\n };\n\n setOrDel(paramKeys.q, merged.q || null);\n setOrDel(paramKeys.page, String(merged.page));\n setOrDel(paramKeys.limit, String(merged.limit));\n setOrDel(paramKeys.sort, merged.sort ?? null);\n try {\n const json = JSON.stringify(merged.filters ?? {});\n setOrDel(paramKeys.filters, json === '{}' ? null : json);\n } catch {\n // ignore\n }\n\n const newUrl = `${url.pathname}?${qs.toString()}${url.hash}`;\n if (replaceState) window.history.replaceState({}, '', newUrl);\n else window.history.pushState({}, '', newUrl);\n setState(merged);\n },\n [state, paramKeys, replaceState]\n );\n\n const setFilter = React.useCallback(\n (\n key: keyof TFilters,\n value: TFilters[keyof TFilters] | undefined | null\n ) => {\n write({\n filters: { ...(state.filters as any), [key]: value } as TFilters,\n });\n },\n [state.filters, write]\n );\n\n const clearFilters = React.useCallback(() => {\n write({ filters: {} as TFilters, page: 1 });\n }, [write]);\n\n React.useEffect(() => {\n const onPop = () => setState(read());\n window.addEventListener('popstate', onPop);\n return () => window.removeEventListener('popstate', onPop);\n }, [read]);\n\n return { state, setState: write, setFilter, clearFilters } as const;\n}\n"],"mappings":";;;AAYA,SAAgB,gBAEd,EACA,UACA,YAAY;CACV,GAAG;CACH,MAAM;CACN,OAAO;CACP,MAAM;CACN,SAAS;CACV,EACD,eAAe,QAWd;CACD,MAAM,OAAOA,QAAM,kBAA0C;AAC3D,MAAI,OAAO,WAAW,YAAa,QAAO;EAE1C,MAAM,KADM,IAAI,IAAI,OAAO,SAAS,KAAK,CAC1B;EACf,MAAM,YAAY,GAAkB,MAAc;GAChD,MAAM,IAAI,IAAI,OAAO,EAAE,GAAG;AAC1B,UAAO,OAAO,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI;;EAE3C,MAAM,aAAa,GAAG,IAAI,UAAU,QAAQ;EAC5C,IAAIC,UAAoB,SAAS;AACjC,MAAI,WACF,KAAI;AACF,aAAU,KAAK,MAAM,WAAW;UAC1B;AACN,aAAU,SAAS;;AAGvB,SAAO;GACL,GAAG,GAAG,IAAI,UAAU,EAAE,IAAI,SAAS;GACnC,MAAM,SAAS,GAAG,IAAI,UAAU,KAAK,EAAE,SAAS,KAAK;GACrD,OAAO,SAAS,GAAG,IAAI,UAAU,MAAM,EAAE,SAAS,MAAM;GACxD,MAAM,GAAG,IAAI,UAAU,KAAK;GAC5B;GACD;IACA,CAAC,UAAU,UAAU,CAAC;CAEzB,MAAM,CAAC,OAAO,YAAYD,QAAM,SAAiC,KAAK;CAEtE,MAAM,QAAQA,QAAM,aACjB,SAA0C;AACzC,MAAI,OAAO,WAAW,YAAa;EACnC,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;EACzC,MAAM,KAAK,IAAI;EACf,MAAME,SAAiC;GAAE,GAAG;GAAO,GAAG;GAAM;EAE5D,MAAM,YAAY,KAAa,UAAqC;AAClE,OAAI,SAAS,QAAQ,UAAU,MAAM,UAAU,OAAQ,IAAG,OAAO,IAAI;OAChE,IAAG,IAAI,KAAK,MAAM;;AAGzB,WAAS,UAAU,GAAG,OAAO,KAAK,KAAK;AACvC,WAAS,UAAU,MAAM,OAAO,OAAO,KAAK,CAAC;AAC7C,WAAS,UAAU,OAAO,OAAO,OAAO,MAAM,CAAC;AAC/C,WAAS,UAAU,MAAM,OAAO,QAAQ,KAAK;AAC7C,MAAI;GACF,MAAM,OAAO,KAAK,UAAU,OAAO,WAAW,EAAE,CAAC;AACjD,YAAS,UAAU,SAAS,SAAS,OAAO,OAAO,KAAK;UAClD;EAIR,MAAM,SAAS,GAAG,IAAI,SAAS,GAAG,GAAG,UAAU,GAAG,IAAI;AACtD,MAAI,aAAc,QAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,OAAO;MACxD,QAAO,QAAQ,UAAU,EAAE,EAAE,IAAI,OAAO;AAC7C,WAAS,OAAO;IAElB;EAAC;EAAO;EAAW;EAAa,CACjC;CAED,MAAM,YAAYF,QAAM,aAEpB,KACA,UACG;AACH,QAAM,EACJ,SAAS;GAAE,GAAI,MAAM;IAAkB,MAAM;GAAO,EACrD,CAAC;IAEJ,CAAC,MAAM,SAAS,MAAM,CACvB;CAED,MAAM,eAAeA,QAAM,kBAAkB;AAC3C,QAAM;GAAE,SAAS,EAAE;GAAc,MAAM;GAAG,CAAC;IAC1C,CAAC,MAAM,CAAC;AAEX,SAAM,gBAAgB;EACpB,MAAM,cAAc,SAAS,MAAM,CAAC;AACpC,SAAO,iBAAiB,YAAY,MAAM;AAC1C,eAAa,OAAO,oBAAoB,YAAY,MAAM;IACzD,CAAC,KAAK,CAAC;AAEV,QAAO;EAAE;EAAO,UAAU;EAAO;EAAW;EAAc"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './types/navigation';\n\n// Atoms\nexport * from './renderers';\nexport { Cta } from './components/atoms/Cta';\nexport { Button } from './components/atoms/Button';\nexport { default as ButtonLink } from './components/atoms/ButtonLink';\nexport { Link } from './components/atoms/Link';\nexport { Input } from './components/atoms/Input';\nexport { Textarea } from './components/atoms/Textarea';\nexport { EmptyState } from './components/atoms/EmptyState';\n// export { ErrorState } from './components/atoms/ErrorState';\nexport { Stepper } from './components/atoms/Stepper';\nexport {\n EditButton,\n DeleteButton,\n ViewButton,\n ToggleButton,\n ToggleLeftButton,\n ToggleRightButton,\n} from './components/atoms/ActionButtons';\nexport {\n DateChip,\n TimeChip,\n PlaceChip,\n DurationChip,\n} from './components/atoms/DataChips';\n\n// Molecules\nexport { NavMain } from './components/molecules/NavMain';\nexport { NavUser } from './components/molecules/NavUser';\nexport { ApprovalQueue } from './components/agent/ApprovalQueue';\nexport { AgentMonitor } from './components/agent/AgentMonitor';\n\n// Organisms\nexport { AppSidebar } from './components/organisms/AppSidebar';\nexport {\n Header,\n DesktopHeader,\n MobileHeader,\n} from './components/organisms/Header';\nexport { Footer } from './components/organisms/Footer';\nexport { FeatureCarousel } from './components/organisms/FeatureCarousel';\nexport { MarketingHeader } from './components/organisms/MarketingHeader';\nexport { MarketingHeaderDesktop } from './components/organisms/MarketingHeaderDesktop';\nexport { MarketingHeaderMobile } from './components/organisms/MarketingHeaderMobile';\nexport { MarketingLayout } from './components/organisms/MarketingLayout';\nexport { AppLayout } from './components/organisms/AppLayout';\nexport { AcademyLayout } from './components/organisms/AcademyLayout';\nexport { AppHeader } from './components/organisms/AppHeader';\n// export { AppHeader as AppHeaderMobile } from './components/organisms/AppHeader.mobile';\n// export { BottomTabs } from './components/native/BottomTabs.mobile';\n// export { SheetMenu } from './components/native/SheetMenu.mobile';\nexport { CommandPalette } from './components/molecules/CommandPalette';\nexport { LangSwitch } from './components/molecules/LangSwitch';\nexport { NavBrand } from './components/atoms/NavBrand';\nexport { Breadcrumbs } from './components/molecules/Breadcrumbs';\nexport { CommandSearchTrigger } from './components/molecules/CommandSearchTrigger';\nexport { StatusChip } from './components/molecules/StatusChip';\nexport { EntityCard } from './components/molecules/EntityCard';\nexport { StatCard, StatCardGroup } from './components/molecules/StatCard';\nexport { HoverPreview } from './components/molecules/HoverPreview';\nexport { HoverPreviewSimple } from './components/molecules/hover-previews/Simple';\nexport { HoverPreviewMedia } from './components/molecules/hover-previews/Media';\nexport { HoverPreviewDoc } from './components/molecules/hover-previews/Doc';\nexport { HoverPreviewUser } from './components/molecules/hover-previews/User';\nexport { HoverPreviewStats } from './components/molecules/hover-previews/Stats';\nexport { PricingCarousel } from './components/organisms/PricingCarousel';\nexport { TestimonialCarousel } from './components/organisms/TestimonialCarousel';\nexport { HeroSection } from './components/organisms/HeroSection';\nexport { HeroResponsive } from './components/organisms/HeroResponsive';\nexport { FeaturesSection } from './components/organisms/FeaturesSection';\nexport { PageHeaderResponsive } from './components/organisms/PageHeaderResponsive';\nexport { PricingSection } from './components/organisms/PricingSection';\nexport { FAQSection } from './components/organisms/FAQSection';\nexport { ListPageResponsive } from './components/organisms/ListPageResponsive';\nexport { ListGridPage } from './components/organisms/ListGridPage';\nexport { ListCardPage } from './components/organisms/ListCardPage';\nexport { ListTablePage } from './components/organisms/ListTablePage';\nexport { FiltersToolbar } from './components/molecules/FiltersToolbar';\nexport { ListPageTemplate } from './components/templates/lists/ListPageTemplate';\nexport { AiLinkButton } from './components/molecules/AiLinkButton';\nexport { EmptyDataList } from './components/organisms/EmptyDataList';\nexport { EmptySearchResult } from './components/organisms/EmptySearchResult';\n// Loaders & Skeletons\nexport { LoaderCircular } from './components/atoms/LoaderCircular';\nexport { LoaderBlock } from './components/molecules/LoaderBlock';\nexport { SkeletonBlock } from './components/molecules/SkeletonBlock';\nexport { SkeletonCircle } from './components/molecules/SkeletonCircle';\nexport { SkeletonList } from './components/molecules/SkeletonList';\nexport { ErrorState } from './components/atoms/ErrorState';\n// export {\n// DropdownMenu,\n// DropdownMenuPortal,\n// DropdownMenuTrigger,\n// DropdownMenuContent,\n// DropdownMenuGroup,\n// DropdownMenuLabel,\n// DropdownMenuItem,\n// DropdownMenuCheckboxItem,\n// DropdownMenuRadioGroup,\n// DropdownMenuRadioItem,\n// DropdownMenuSeparator,\n// DropdownMenuShortcut,\n// DropdownMenuSub,\n// DropdownMenuSubTrigger,\n// DropdownMenuSubContent,\n// } from './components/molecules/DropdownMenu';\nexport { useListUrlState } from './hooks/useListUrlState';\n\n// Legal components\nexport { LegalHeading } from './components/legal/atoms/LegalHeading';\nexport { LegalText } from './components/legal/atoms/LegalText';\nexport { LegalSection } from './components/legal/atoms/LegalSection';\nexport { DefinitionList } from './components/legal/atoms/DefinitionList';\nexport { KeyValueList } from './components/legal/atoms/KeyValueList';\nexport { LegalList } from './components/legal/atoms/LegalList';\nexport { LegalCallout } from './components/legal/atoms/LegalCallout';\nexport { LegalTOC } from './components/legal/molecules/LegalTOC';\nexport { LegalMeta } from './components/legal/molecules/LegalMeta';\nexport { ConsentItem, ConsentList } from './components/legal/molecules/Consent';\nexport { ContactFields } from './components/legal/molecules/ContactFields';\nexport * from './components/legal/organisms/LegalPageLayout';\nexport * from './components/legal/organisms/GDPRRights';\nexport * from './components/legal/organisms/ContactForm';\nexport * from './components/legal/organisms/GDPRDataRequest';\nexport { TermsTemplate } from './components/legal/templates/TermsTemplate';\nexport { SalesTermsTemplate } from './components/legal/templates/SalesTermsTemplate';\nexport { PrivacyTemplate } from './components/legal/templates/PrivacyTemplate';\nexport { CookiesTemplate } from './components/legal/templates/CookiesTemplate';\nexport { ContactTemplate } from './components/legal/templates/ContactTemplate';\n// Platform adapter\nexport * from './platform/withPlatformUI';\nexport { useResponsive } from './platform/useResponsive';\nexport { useReducedMotion } from './platform/useReducedMotion';\nexport { useColorScheme } from './platform/useColorScheme';\nexport * from './theme/variants';\nexport * from './theme/tokens';\nexport { mapTokensForPlatform } from './theme/tokenBridge';\n\n// Forms\nexport { FormDialog } from './components/forms/FormDialog';\nexport { ZodForm } from './components/forms/ZodForm';\nexport { FormSection, FormRow, FormGrid } from './components/forms/FormLayout';\nexport { FormCardLayout } from './components/forms/FormCardLayout';\nexport { FormStepsLayout } from './components/forms/FormStepsLayout';\nexport { FormOneByOneLayout } from './components/forms/FormOneByOneLayout';\n\n// Data views\nexport { DataViewList } from './components/data-view/DataViewList';\nexport { DataViewTable } from './components/data-view/DataViewTable';\nexport { DataViewDetail } from './components/data-view/DataViewDetail';\nexport { DataViewRenderer } from './components/data-view/DataViewRenderer';\n\n// Overlays re-exports (web default; native via Metro alias)\n// Overlays are used directly from ui-kit(s) in apps for now to avoid DTS bundling issues\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA6DmE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.d.ts","names":[],"sources":["../../src/lib/keyboard.ts"],"sourcesContent":[],"mappings":";KAAY,YAAA;AAAA,KA6BA,iBAAA,GA7BY,IAAA,GAAA,KAAA,GAAA,MAAA,GAAA,kBAAA,GAAA,YAAA,GAAA,iBAAA,GAAA,aAAA,GAAA,kBAAA,GAAA,UAAA,GAAA,UAAA,GAAA,cAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,oBAAA,GAAA,cAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,eAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,SAAA,GAAA,cAAA,GAAA,aAAA,GAAA,SAAA,GAAA,eAAA,GAAA,oBAAA,GAAA,gBAAA,GAAA,WAAA,GAAA,QAAA,GAAA,cAAA,GAAA,aAAA,GAAA,QAAA,GAAA,SAAA,GAAA,oBAAA,GAAA,UAAA,GAAA,MAAA,GAAA,UAAA,GAAA,YAAA,GAAA,WAAA,GAAA,KAAA,GAAA,OAAA,GAAA,OAAA,GAAA,MAAA,GAAA,KAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,eAAA,GAAA,WAAA,GAAA,kBAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,KAAA,GAAA,UAAA,GAAA,WAAA,MAAA,EAAA,GAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AA6BZ,UAoEK,eAAA,CApEY;EAoEZ,IAAA,CAAA,EACR,YADuB;EAwJhB,cAAA,CAAA,EAAA,MAAgB,GAAA,WAAQ,GAAA,OAAA,GAAe,YAAA;EA0IvC,YAAA,CAAA,EA/RC,iBA+RkB;;;;iBA1InB,gBAAA,QAAwB,kBAAe;iBA0IvC,mBAAA,QAA2B,kBAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.js","names":["res: Record<string, unknown>","native: Record<string, unknown>"],"sources":["../../src/lib/keyboard.ts"],"sourcesContent":["export type KeyboardKind =\n | 'text'\n | 'email'\n | 'password'\n | 'new-password'\n | 'username'\n | 'url'\n | 'search'\n | 'phone'\n | 'tel' // alias of phone\n | 'number'\n | 'int' // alias of number\n | 'decimal'\n | 'numbers-and-punctuation'\n | 'otp'\n | 'name'\n | 'given-name'\n | 'family-name'\n | 'address-line1'\n | 'address-line2'\n | 'postal-code'\n | 'cc-number'\n | 'cc-exp'\n | 'cc-csc'\n | 'off'\n | 'date';\n\n// WHATWG HTML autofill tokens (subset + extensible). See:\n// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill\nexport type AutoCompleteToken =\n | 'on'\n | 'off'\n // identity\n | 'name'\n | 'honorific-prefix'\n | 'given-name'\n | 'additional-name'\n | 'family-name'\n | 'honorific-suffix'\n | 'nickname'\n | 'username'\n | 'new-password'\n | 'current-password'\n | 'one-time-code'\n // organization\n | 'organization-title'\n | 'organization'\n // address\n | 'street-address'\n | 'address-line1'\n | 'address-line2'\n | 'address-line3'\n | 'address-level4'\n | 'address-level3'\n | 'address-level2'\n | 'address-level1'\n | 'country'\n | 'country-name'\n | 'postal-code'\n // credit card / payment\n | 'cc-name'\n | 'cc-given-name'\n | 'cc-additional-name'\n | 'cc-family-name'\n | 'cc-number'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-csc'\n | 'cc-type'\n | 'transaction-amount'\n // personal\n | 'language'\n | 'bday'\n | 'bday-day'\n | 'bday-month'\n | 'bday-year'\n | 'sex'\n | 'photo'\n // contact\n | 'email'\n | 'impp'\n | 'tel'\n | 'tel-country-code'\n | 'tel-national'\n | 'tel-area-code'\n | 'tel-local'\n | 'tel-local-prefix'\n | 'tel-local-suffix'\n | 'tel-extension'\n | 'url'\n // webauthn and sections (allow prefix)\n | 'webauthn'\n | `section-${string}`\n // allow future spec additions while keeping strong hints\n | (string & {});\n\nexport interface KeyboardOptions {\n kind?: KeyboardKind;\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n autoComplete?: AutoCompleteToken;\n autoCorrect?: boolean;\n enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'search' | 'send';\n}\n\nfunction deriveKindFromAutoComplete(\n ac?: AutoCompleteToken\n): KeyboardKind | undefined {\n if (!ac) return undefined;\n switch (ac) {\n // Direct mappings\n case 'email':\n return 'email';\n case 'url':\n return 'url';\n case 'username':\n return 'username';\n case 'new-password':\n return 'new-password';\n case 'current-password':\n return 'password';\n case 'one-time-code':\n return 'otp';\n case 'tel':\n case 'tel-country-code':\n case 'tel-national':\n case 'tel-area-code':\n case 'tel-local':\n case 'tel-local-prefix':\n case 'tel-local-suffix':\n case 'tel-extension':\n return 'tel';\n // Numeric leaning\n case 'postal-code':\n case 'cc-number':\n case 'cc-csc':\n case 'bday-day':\n case 'bday-month':\n case 'bday-year':\n return 'int';\n case 'cc-exp':\n case 'cc-exp-month':\n case 'cc-exp-year':\n return 'numbers-and-punctuation';\n // Date-like\n case 'bday':\n return 'date';\n // Everything else is plain text (names, organization, street-address, etc.)\n default:\n return 'text';\n }\n}\n\nfunction applyAutoCompleteDefaultsWeb(\n res: Record<string, unknown>,\n ac?: AutoCompleteToken\n) {\n if (!ac) return;\n // Capitalization defaults for human names/org titles\n const wordsCaps: AutoCompleteToken[] = [\n 'name',\n 'given-name',\n 'additional-name',\n 'family-name',\n 'honorific-prefix',\n 'honorific-suffix',\n 'nickname',\n 'organization',\n 'organization-title',\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n ];\n if (wordsCaps.includes(ac)) {\n (res as Record<string, string>).autoCapitalize = 'words';\n }\n // Lowercase identifiers\n const noneCaps: AutoCompleteToken[] = [\n 'username',\n 'new-password',\n 'current-password',\n 'one-time-code',\n 'email',\n 'url',\n ];\n if (noneCaps.includes(ac)) {\n (res as Record<string, string>).autoCapitalize = 'none';\n }\n}\n\nfunction applyAutoCompleteDefaultsNative(\n native: Record<string, unknown>,\n ac?: AutoCompleteToken\n) {\n if (!ac) return;\n // iOS textContentType hints where available (best-effort)\n const textContentMap: Partial<Record<AutoCompleteToken, string>> = {\n name: 'name',\n 'given-name': 'givenName',\n 'additional-name': 'middleName',\n 'family-name': 'familyName',\n username: 'username',\n 'current-password': 'password',\n 'new-password': 'newPassword',\n email: 'emailAddress',\n url: 'URL',\n tel: 'telephoneNumber',\n 'address-line1': 'streetAddressLine1',\n 'address-line2': 'streetAddressLine2',\n 'postal-code': 'postalCode',\n organization: 'organizationName',\n 'organization-title': 'jobTitle',\n 'one-time-code': 'oneTimeCode',\n };\n const tc = textContentMap[ac];\n if (tc) (native as Record<string, string>).textContentType = tc;\n // Capitalization defaults\n const wordsCaps: AutoCompleteToken[] = [\n 'name',\n 'given-name',\n 'additional-name',\n 'family-name',\n 'honorific-prefix',\n 'honorific-suffix',\n 'nickname',\n 'organization',\n 'organization-title',\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n ];\n if (wordsCaps.includes(ac)) {\n (native as Record<string, string>).autoCapitalize = 'words';\n }\n const noneCaps: AutoCompleteToken[] = [\n 'username',\n 'new-password',\n 'current-password',\n 'one-time-code',\n 'email',\n 'url',\n ];\n if (noneCaps.includes(ac)) {\n (native as Record<string, string>).autoCapitalize = 'none';\n }\n}\n\nexport function mapKeyboardToWeb(opts?: KeyboardOptions) {\n const kind =\n opts?.kind ?? deriveKindFromAutoComplete(opts?.autoComplete) ?? 'text';\n const res: Record<string, unknown> = {};\n\n switch (kind) {\n case 'password':\n res.type = 'password';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'current-password';\n if (opts?.autoCorrect != null) res.autoCorrect = opts.autoCorrect;\n break;\n case 'new-password':\n res.type = 'password';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'new-password';\n if (opts?.autoCorrect != null) res.autoCorrect = opts.autoCorrect;\n break;\n case 'username':\n res.type = 'text';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'username';\n break;\n case 'email':\n res.type = 'email';\n res.inputMode = 'email';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'email';\n break;\n case 'url':\n res.type = 'url';\n res.inputMode = 'url';\n res.autoComplete = opts?.autoComplete ?? 'url';\n break;\n case 'search':\n res.type = 'search';\n res.inputMode = 'search';\n res.enterKeyHint = opts?.enterKeyHint ?? 'search';\n res.autoComplete = opts?.autoComplete ?? 'off';\n break;\n case 'phone':\n case 'tel':\n res.type = 'tel';\n res.inputMode = 'tel';\n res.autoComplete = opts?.autoComplete ?? 'tel';\n break;\n case 'number':\n case 'int':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n break;\n case 'decimal':\n res.type = 'text';\n res.inputMode = 'decimal';\n (res as Record<string, unknown>).step = 'any';\n break;\n case 'numbers-and-punctuation':\n res.type = 'text';\n res.inputMode = 'text';\n res.pattern = '[0-9.,-]*';\n break;\n case 'otp':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.autoComplete = opts?.autoComplete ?? 'one-time-code';\n res.autoCapitalize = 'none';\n break;\n case 'name':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'name';\n res.autoCapitalize = opts?.autoCapitalize ?? 'words';\n break;\n case 'given-name':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'given-name';\n res.autoCapitalize = opts?.autoCapitalize ?? 'words';\n break;\n case 'family-name':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'family-name';\n res.autoCapitalize = opts?.autoCapitalize ?? 'words';\n break;\n case 'address-line1':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'address-line1';\n break;\n case 'address-line2':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'address-line2';\n break;\n case 'postal-code':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n res.autoComplete = opts?.autoComplete ?? 'postal-code';\n break;\n case 'cc-number':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n res.autoComplete = opts?.autoComplete ?? 'cc-number';\n break;\n case 'cc-exp':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9/]*';\n res.autoComplete = opts?.autoComplete ?? 'cc-exp';\n break;\n case 'cc-csc':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n res.autoComplete = opts?.autoComplete ?? 'cc-csc';\n break;\n case 'off':\n res.type = 'text';\n res.autoComplete = 'off';\n break;\n case 'date':\n res.type = 'date';\n res.inputMode = 'date';\n res.pattern = '[0-9./-]*';\n break;\n default:\n res.type = 'text';\n break;\n }\n\n if (opts?.autoCapitalize) res.autoCapitalize = opts.autoCapitalize;\n if (opts?.autoComplete) res.autoComplete = opts.autoComplete;\n if (opts?.autoCorrect != null) res.autoCorrect = opts.autoCorrect;\n if (opts?.enterKeyHint) res.enterKeyHint = opts.enterKeyHint;\n // Apply additional defaults based on autofill tokens\n applyAutoCompleteDefaultsWeb(res, opts?.autoComplete);\n return res;\n}\n\nexport function mapKeyboardToNative(opts?: KeyboardOptions) {\n const kind =\n opts?.kind ?? deriveKindFromAutoComplete(opts?.autoComplete) ?? 'text';\n const native: Record<string, unknown> = {};\n\n switch (kind) {\n case 'password':\n native.secureTextEntry = true;\n native.textContentType = 'password';\n native.keyboardType = 'default';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'password';\n break;\n case 'new-password':\n native.secureTextEntry = true;\n native.textContentType = 'newPassword';\n native.keyboardType = 'default';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'new-password';\n break;\n case 'username':\n native.textContentType = 'username';\n native.keyboardType = 'default';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'username';\n break;\n case 'email':\n native.keyboardType = 'email-address';\n native.textContentType = 'emailAddress';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'email';\n break;\n case 'url':\n native.keyboardType = 'url';\n native.textContentType = 'URL';\n native.autoComplete = opts?.autoComplete ?? 'url';\n break;\n case 'search':\n native.keyboardType = 'default';\n native.returnKeyType = 'search';\n native.autoComplete = opts?.autoComplete ?? 'off';\n break;\n case 'phone':\n case 'tel':\n native.keyboardType = 'phone-pad';\n native.textContentType = 'telephoneNumber';\n native.autoComplete = opts?.autoComplete ?? 'tel';\n break;\n case 'number':\n case 'int':\n native.keyboardType = 'number-pad';\n break;\n case 'decimal':\n native.keyboardType = 'decimal-pad';\n break;\n case 'numbers-and-punctuation':\n native.keyboardType = 'numbers-and-punctuation';\n break;\n case 'otp':\n native.keyboardType = 'number-pad';\n native.textContentType = 'oneTimeCode';\n native.autoComplete = opts?.autoComplete ?? 'one-time-code';\n native.autoCapitalize = 'none';\n break;\n case 'name':\n native.textContentType = 'name';\n native.autoCapitalize = 'words';\n native.autoComplete = opts?.autoComplete ?? 'name';\n break;\n case 'given-name':\n native.textContentType = 'givenName';\n native.autoCapitalize = 'words';\n native.autoComplete = opts?.autoComplete ?? 'given-name';\n break;\n case 'family-name':\n native.textContentType = 'familyName';\n native.autoCapitalize = 'words';\n native.autoComplete = opts?.autoComplete ?? 'family-name';\n break;\n case 'address-line1':\n native.textContentType = 'streetAddressLine1';\n native.autoComplete = opts?.autoComplete ?? 'address-line1';\n break;\n case 'address-line2':\n native.textContentType = 'streetAddressLine2';\n native.autoComplete = opts?.autoComplete ?? 'address-line2';\n break;\n case 'postal-code':\n native.keyboardType = 'numbers-and-punctuation';\n native.textContentType = 'postalCode';\n native.autoComplete = opts?.autoComplete ?? 'postal-code';\n break;\n case 'cc-number':\n native.keyboardType = 'number-pad';\n native.textContentType = 'creditCardNumber';\n native.autoComplete = opts?.autoComplete ?? 'cc-number';\n break;\n case 'cc-exp':\n native.keyboardType = 'numbers-and-punctuation';\n native.autoComplete = opts?.autoComplete ?? 'cc-exp';\n break;\n case 'cc-csc':\n native.keyboardType = 'number-pad';\n native.autoComplete = opts?.autoComplete ?? 'cc-csc';\n break;\n case 'off':\n native.autoComplete = 'off';\n break;\n case 'date':\n native.keyboardType = 'default';\n break;\n default:\n native.keyboardType = 'default';\n break;\n }\n\n if (opts?.autoCapitalize) native.autoCapitalize = opts.autoCapitalize;\n if (opts?.autoCorrect != null) native.autoCorrect = opts.autoCorrect;\n\n if (opts?.enterKeyHint) {\n const map: Record<string, string> = {\n enter: 'default',\n done: 'done',\n go: 'go',\n next: 'next',\n search: 'search',\n send: 'send',\n };\n native.returnKeyType = map[opts.enterKeyHint] ?? 'default';\n }\n\n // Apply additional defaults based on autofill tokens\n applyAutoCompleteDefaultsNative(native, opts?.autoComplete);\n\n return native;\n}\n"],"mappings":";AAyGA,SAAS,2BACP,IAC0B;AAC1B,KAAI,CAAC,GAAI,QAAO;AAChB,SAAQ,IAAR;EAEE,KAAK,QACH,QAAO;EACT,KAAK,MACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,eACH,QAAO;EACT,KAAK,mBACH,QAAO;EACT,KAAK,gBACH,QAAO;EACT,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,gBACH,QAAO;EAET,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,YACH,QAAO;EACT,KAAK;EACL,KAAK;EACL,KAAK,cACH,QAAO;EAET,KAAK,OACH,QAAO;EAET,QACE,QAAO;;;AAIb,SAAS,6BACP,KACA,IACA;AACA,KAAI,CAAC,GAAI;AAiBT,KAfuC;EACrC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACa,SAAS,GAAG,CACxB,CAAC,IAA+B,iBAAiB;AAWnD,KARsC;EACpC;EACA;EACA;EACA;EACA;EACA;EACD,CACY,SAAS,GAAG,CACvB,CAAC,IAA+B,iBAAiB;;AAIrD,SAAS,gCACP,QACA,IACA;AACA,KAAI,CAAC,GAAI;CAoBT,MAAM,KAlB6D;EACjE,MAAM;EACN,cAAc;EACd,mBAAmB;EACnB,eAAe;EACf,UAAU;EACV,oBAAoB;EACpB,gBAAgB;EAChB,OAAO;EACP,KAAK;EACL,KAAK;EACL,iBAAiB;EACjB,iBAAiB;EACjB,eAAe;EACf,cAAc;EACd,sBAAsB;EACtB,iBAAiB;EAClB,CACyB;AAC1B,KAAI,GAAI,CAAC,OAAkC,kBAAkB;AAiB7D,KAfuC;EACrC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACa,SAAS,GAAG,CACxB,CAAC,OAAkC,iBAAiB;AAUtD,KARsC;EACpC;EACA;EACA;EACA;EACA;EACA;EACD,CACY,SAAS,GAAG,CACvB,CAAC,OAAkC,iBAAiB;;AAIxD,SAAgB,iBAAiB,MAAwB;CACvD,MAAM,OACJ,MAAM,QAAQ,2BAA2B,MAAM,aAAa,IAAI;CAClE,MAAMA,MAA+B,EAAE;AAEvC,SAAQ,MAAR;EACE,KAAK;AACH,OAAI,OAAO;AACX,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,MAAM,eAAe,KAAM,KAAI,cAAc,KAAK;AACtD;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,MAAM,eAAe,KAAM,KAAI,cAAc,KAAK;AACtD;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;EACL,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;EACL,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,GAAC,IAAgC,OAAO;AACxC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB;AACrB;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB,MAAM,kBAAkB;AAC7C;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB,MAAM,kBAAkB;AAC7C;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB,MAAM,kBAAkB;AAC7C;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe;AACnB;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd;EACF;AACE,OAAI,OAAO;AACX;;AAGJ,KAAI,MAAM,eAAgB,KAAI,iBAAiB,KAAK;AACpD,KAAI,MAAM,aAAc,KAAI,eAAe,KAAK;AAChD,KAAI,MAAM,eAAe,KAAM,KAAI,cAAc,KAAK;AACtD,KAAI,MAAM,aAAc,KAAI,eAAe,KAAK;AAEhD,8BAA6B,KAAK,MAAM,aAAa;AACrD,QAAO;;AAGT,SAAgB,oBAAoB,MAAwB;CAC1D,MAAM,OACJ,MAAM,QAAQ,2BAA2B,MAAM,aAAa,IAAI;CAClE,MAAMC,SAAkC,EAAE;AAE1C,SAAQ,MAAR;EACE,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,kBAAkB;AACzB,UAAO,eAAe;AACtB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,kBAAkB;AACzB,UAAO,eAAe;AACtB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,eAAe;AACtB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,gBAAgB;AACvB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;EACL,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;EACL,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C,UAAO,iBAAiB;AACxB;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF;AACE,UAAO,eAAe;AACtB;;AAGJ,KAAI,MAAM,eAAgB,QAAO,iBAAiB,KAAK;AACvD,KAAI,MAAM,eAAe,KAAM,QAAO,cAAc,KAAK;AAEzD,KAAI,MAAM,aASR,QAAO,gBAR6B;EAClC,OAAO;EACP,MAAM;EACN,IAAI;EACJ,MAAM;EACN,QAAQ;EACR,MAAM;EACP,CAC0B,KAAK,iBAAiB;AAInD,iCAAgC,QAAQ,MAAM,aAAa;AAE3D,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,EAAA,YAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;AAGA,SAAgB,GAAG,GAAG,QAAsB;AAC1C,QAAO,QAAQ,KAAK,OAAO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColorScheme.d.ts","names":[],"sources":["../../src/platform/useColorScheme.ts"],"sourcesContent":[],"mappings":";KAIY,WAAA;AAAA,iBAEI,cAAA,CAAA,CAFO,EAEW,WAFX"}