@lssm/lib.design-system 0.0.0-canary-20251120170226

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 (565) hide show
  1. package/README.md +92 -0
  2. package/dist/_virtual/rolldown_runtime.js +34 -0
  3. package/dist/components/atoms/ActionButtons.d.ts +26 -0
  4. package/dist/components/atoms/ActionButtons.d.ts.map +1 -0
  5. package/dist/components/atoms/ActionButtons.js +98 -0
  6. package/dist/components/atoms/ActionButtons.js.map +1 -0
  7. package/dist/components/atoms/Button.d.ts +40 -0
  8. package/dist/components/atoms/Button.d.ts.map +1 -0
  9. package/dist/components/atoms/Button.js +35 -0
  10. package/dist/components/atoms/Button.js.map +1 -0
  11. package/dist/components/atoms/Button.mobile.d.ts +22 -0
  12. package/dist/components/atoms/Button.mobile.d.ts.map +1 -0
  13. package/dist/components/atoms/Button.mobile.js +35 -0
  14. package/dist/components/atoms/Button.mobile.js.map +1 -0
  15. package/dist/components/atoms/ButtonLink.d.ts +22 -0
  16. package/dist/components/atoms/ButtonLink.d.ts.map +1 -0
  17. package/dist/components/atoms/ButtonLink.js +38 -0
  18. package/dist/components/atoms/ButtonLink.js.map +1 -0
  19. package/dist/components/atoms/ButtonLink.mobile.d.ts +20 -0
  20. package/dist/components/atoms/ButtonLink.mobile.d.ts.map +1 -0
  21. package/dist/components/atoms/ButtonLink.mobile.js +42 -0
  22. package/dist/components/atoms/ButtonLink.mobile.js.map +1 -0
  23. package/dist/components/atoms/Cta.d.ts +21 -0
  24. package/dist/components/atoms/Cta.d.ts.map +1 -0
  25. package/dist/components/atoms/Cta.js +59 -0
  26. package/dist/components/atoms/Cta.js.map +1 -0
  27. package/dist/components/atoms/Cta.mobile.d.ts +15 -0
  28. package/dist/components/atoms/Cta.mobile.d.ts.map +1 -0
  29. package/dist/components/atoms/Cta.mobile.js +40 -0
  30. package/dist/components/atoms/Cta.mobile.js.map +1 -0
  31. package/dist/components/atoms/DataChips.d.ts +38 -0
  32. package/dist/components/atoms/DataChips.d.ts.map +1 -0
  33. package/dist/components/atoms/DataChips.js +88 -0
  34. package/dist/components/atoms/DataChips.js.map +1 -0
  35. package/dist/components/atoms/EmptyState.d.ts +8 -0
  36. package/dist/components/atoms/EmptyState.d.ts.map +1 -0
  37. package/dist/components/atoms/EmptyState.js +15 -0
  38. package/dist/components/atoms/EmptyState.js.map +1 -0
  39. package/dist/components/atoms/ErrorState.d.ts +29 -0
  40. package/dist/components/atoms/ErrorState.d.ts.map +1 -0
  41. package/dist/components/atoms/ErrorState.js +41 -0
  42. package/dist/components/atoms/ErrorState.js.map +1 -0
  43. package/dist/components/atoms/ErrorState.mobile.d.ts +29 -0
  44. package/dist/components/atoms/ErrorState.mobile.d.ts.map +1 -0
  45. package/dist/components/atoms/ErrorState.mobile.js +42 -0
  46. package/dist/components/atoms/ErrorState.mobile.js.map +1 -0
  47. package/dist/components/atoms/Input.d.ts +40 -0
  48. package/dist/components/atoms/Input.d.ts.map +1 -0
  49. package/dist/components/atoms/Input.js +29 -0
  50. package/dist/components/atoms/Input.js.map +1 -0
  51. package/dist/components/atoms/Input.mobile.d.ts +38 -0
  52. package/dist/components/atoms/Input.mobile.d.ts.map +1 -0
  53. package/dist/components/atoms/Input.mobile.js +28 -0
  54. package/dist/components/atoms/Input.mobile.js.map +1 -0
  55. package/dist/components/atoms/Link.d.ts +12 -0
  56. package/dist/components/atoms/Link.d.ts.map +1 -0
  57. package/dist/components/atoms/Link.js +15 -0
  58. package/dist/components/atoms/Link.js.map +1 -0
  59. package/dist/components/atoms/Link.native.d.ts +1 -0
  60. package/dist/components/atoms/Link.native.js +0 -0
  61. package/dist/components/atoms/Link.web.d.ts +24 -0
  62. package/dist/components/atoms/Link.web.d.ts.map +1 -0
  63. package/dist/components/atoms/Link.web.js +16 -0
  64. package/dist/components/atoms/Link.web.js.map +1 -0
  65. package/dist/components/atoms/LoaderCircular.d.ts +23 -0
  66. package/dist/components/atoms/LoaderCircular.d.ts.map +1 -0
  67. package/dist/components/atoms/LoaderCircular.js +45 -0
  68. package/dist/components/atoms/LoaderCircular.js.map +1 -0
  69. package/dist/components/atoms/LoaderCircular.mobile.d.ts +18 -0
  70. package/dist/components/atoms/LoaderCircular.mobile.d.ts.map +1 -0
  71. package/dist/components/atoms/LoaderCircular.mobile.js +27 -0
  72. package/dist/components/atoms/LoaderCircular.mobile.js.map +1 -0
  73. package/dist/components/atoms/NavBrand.d.ts +19 -0
  74. package/dist/components/atoms/NavBrand.d.ts.map +1 -0
  75. package/dist/components/atoms/NavBrand.js +27 -0
  76. package/dist/components/atoms/NavBrand.js.map +1 -0
  77. package/dist/components/atoms/Stepper.d.ts +8 -0
  78. package/dist/components/atoms/Stepper.d.ts.map +1 -0
  79. package/dist/components/atoms/Stepper.js +15 -0
  80. package/dist/components/atoms/Stepper.js.map +1 -0
  81. package/dist/components/atoms/Textarea.d.ts +42 -0
  82. package/dist/components/atoms/Textarea.d.ts.map +1 -0
  83. package/dist/components/atoms/Textarea.js +37 -0
  84. package/dist/components/atoms/Textarea.js.map +1 -0
  85. package/dist/components/atoms/Textarea.mobile.d.ts +38 -0
  86. package/dist/components/atoms/Textarea.mobile.d.ts.map +1 -0
  87. package/dist/components/atoms/Textarea.mobile.js +28 -0
  88. package/dist/components/atoms/Textarea.mobile.js.map +1 -0
  89. package/dist/components/data-view/DataViewDetail.d.ts +22 -0
  90. package/dist/components/data-view/DataViewDetail.d.ts.map +1 -0
  91. package/dist/components/data-view/DataViewDetail.js +81 -0
  92. package/dist/components/data-view/DataViewDetail.js.map +1 -0
  93. package/dist/components/data-view/DataViewList.d.ts +24 -0
  94. package/dist/components/data-view/DataViewList.d.ts.map +1 -0
  95. package/dist/components/data-view/DataViewList.js +68 -0
  96. package/dist/components/data-view/DataViewList.js.map +1 -0
  97. package/dist/components/data-view/DataViewRenderer.d.ts +48 -0
  98. package/dist/components/data-view/DataViewRenderer.d.ts.map +1 -0
  99. package/dist/components/data-view/DataViewRenderer.js +148 -0
  100. package/dist/components/data-view/DataViewRenderer.js.map +1 -0
  101. package/dist/components/data-view/DataViewTable.d.ts +26 -0
  102. package/dist/components/data-view/DataViewTable.d.ts.map +1 -0
  103. package/dist/components/data-view/DataViewTable.js +94 -0
  104. package/dist/components/data-view/DataViewTable.js.map +1 -0
  105. package/dist/components/data-view/utils.d.ts +6 -0
  106. package/dist/components/data-view/utils.d.ts.map +1 -0
  107. package/dist/components/data-view/utils.js +44 -0
  108. package/dist/components/data-view/utils.js.map +1 -0
  109. package/dist/components/forms/FormCardLayout.d.ts +23 -0
  110. package/dist/components/forms/FormCardLayout.d.ts.map +1 -0
  111. package/dist/components/forms/FormCardLayout.js +28 -0
  112. package/dist/components/forms/FormCardLayout.js.map +1 -0
  113. package/dist/components/forms/FormDialog.d.ts +25 -0
  114. package/dist/components/forms/FormDialog.d.ts.map +1 -0
  115. package/dist/components/forms/FormDialog.js +26 -0
  116. package/dist/components/forms/FormDialog.js.map +1 -0
  117. package/dist/components/forms/FormLayout.d.ts +30 -0
  118. package/dist/components/forms/FormLayout.d.ts.map +1 -0
  119. package/dist/components/forms/FormLayout.js +30 -0
  120. package/dist/components/forms/FormLayout.js.map +1 -0
  121. package/dist/components/forms/FormOneByOneLayout.d.ts +26 -0
  122. package/dist/components/forms/FormOneByOneLayout.d.ts.map +1 -0
  123. package/dist/components/forms/FormOneByOneLayout.js +57 -0
  124. package/dist/components/forms/FormOneByOneLayout.js.map +1 -0
  125. package/dist/components/forms/FormStepsLayout.d.ts +27 -0
  126. package/dist/components/forms/FormStepsLayout.d.ts.map +1 -0
  127. package/dist/components/forms/FormStepsLayout.js +66 -0
  128. package/dist/components/forms/FormStepsLayout.js.map +1 -0
  129. package/dist/components/forms/ZodForm.d.ts +22 -0
  130. package/dist/components/forms/ZodForm.d.ts.map +1 -0
  131. package/dist/components/forms/ZodForm.js +26 -0
  132. package/dist/components/forms/ZodForm.js.map +1 -0
  133. package/dist/components/legal/atoms/DefinitionList.d.ts +17 -0
  134. package/dist/components/legal/atoms/DefinitionList.d.ts.map +1 -0
  135. package/dist/components/legal/atoms/DefinitionList.js +24 -0
  136. package/dist/components/legal/atoms/DefinitionList.js.map +1 -0
  137. package/dist/components/legal/atoms/KeyValueList.d.ts +17 -0
  138. package/dist/components/legal/atoms/KeyValueList.d.ts.map +1 -0
  139. package/dist/components/legal/atoms/KeyValueList.js +24 -0
  140. package/dist/components/legal/atoms/KeyValueList.js.map +1 -0
  141. package/dist/components/legal/atoms/LegalCallout.d.ts +18 -0
  142. package/dist/components/legal/atoms/LegalCallout.d.ts.map +1 -0
  143. package/dist/components/legal/atoms/LegalCallout.js +24 -0
  144. package/dist/components/legal/atoms/LegalCallout.js.map +1 -0
  145. package/dist/components/legal/atoms/LegalHeading.d.ts +25 -0
  146. package/dist/components/legal/atoms/LegalHeading.d.ts.map +1 -0
  147. package/dist/components/legal/atoms/LegalHeading.js +46 -0
  148. package/dist/components/legal/atoms/LegalHeading.js.map +1 -0
  149. package/dist/components/legal/atoms/LegalList.d.ts +21 -0
  150. package/dist/components/legal/atoms/LegalList.d.ts.map +1 -0
  151. package/dist/components/legal/atoms/LegalList.js +38 -0
  152. package/dist/components/legal/atoms/LegalList.js.map +1 -0
  153. package/dist/components/legal/atoms/LegalSection.d.ts +22 -0
  154. package/dist/components/legal/atoms/LegalSection.d.ts.map +1 -0
  155. package/dist/components/legal/atoms/LegalSection.js +44 -0
  156. package/dist/components/legal/atoms/LegalSection.js.map +1 -0
  157. package/dist/components/legal/atoms/LegalText.d.ts +25 -0
  158. package/dist/components/legal/atoms/LegalText.d.ts.map +1 -0
  159. package/dist/components/legal/atoms/LegalText.js +45 -0
  160. package/dist/components/legal/atoms/LegalText.js.map +1 -0
  161. package/dist/components/legal/molecules/Consent.d.ts +36 -0
  162. package/dist/components/legal/molecules/Consent.d.ts.map +1 -0
  163. package/dist/components/legal/molecules/Consent.js +36 -0
  164. package/dist/components/legal/molecules/Consent.js.map +1 -0
  165. package/dist/components/legal/molecules/ContactFields.d.ts +25 -0
  166. package/dist/components/legal/molecules/ContactFields.d.ts.map +1 -0
  167. package/dist/components/legal/molecules/ContactFields.js +64 -0
  168. package/dist/components/legal/molecules/ContactFields.js.map +1 -0
  169. package/dist/components/legal/molecules/LegalMeta.d.ts +15 -0
  170. package/dist/components/legal/molecules/LegalMeta.d.ts.map +1 -0
  171. package/dist/components/legal/molecules/LegalMeta.js +30 -0
  172. package/dist/components/legal/molecules/LegalMeta.js.map +1 -0
  173. package/dist/components/legal/molecules/LegalTOC.d.ts +31 -0
  174. package/dist/components/legal/molecules/LegalTOC.d.ts.map +1 -0
  175. package/dist/components/legal/molecules/LegalTOC.js +52 -0
  176. package/dist/components/legal/molecules/LegalTOC.js.map +1 -0
  177. package/dist/components/legal/organisms/ContactForm.d.ts +30 -0
  178. package/dist/components/legal/organisms/ContactForm.d.ts.map +1 -0
  179. package/dist/components/legal/organisms/ContactForm.js +42 -0
  180. package/dist/components/legal/organisms/ContactForm.js.map +1 -0
  181. package/dist/components/legal/organisms/GDPRDataRequest.d.ts +19 -0
  182. package/dist/components/legal/organisms/GDPRDataRequest.d.ts.map +1 -0
  183. package/dist/components/legal/organisms/GDPRDataRequest.js +53 -0
  184. package/dist/components/legal/organisms/GDPRDataRequest.js.map +1 -0
  185. package/dist/components/legal/organisms/GDPRRights.d.ts +14 -0
  186. package/dist/components/legal/organisms/GDPRRights.d.ts.map +1 -0
  187. package/dist/components/legal/organisms/GDPRRights.js +30 -0
  188. package/dist/components/legal/organisms/GDPRRights.js.map +1 -0
  189. package/dist/components/legal/organisms/LegalPageLayout.d.ts +24 -0
  190. package/dist/components/legal/organisms/LegalPageLayout.d.ts.map +1 -0
  191. package/dist/components/legal/organisms/LegalPageLayout.js +51 -0
  192. package/dist/components/legal/organisms/LegalPageLayout.js.map +1 -0
  193. package/dist/components/legal/templates/ContactTemplate.d.ts +24 -0
  194. package/dist/components/legal/templates/ContactTemplate.d.ts.map +1 -0
  195. package/dist/components/legal/templates/ContactTemplate.js +47 -0
  196. package/dist/components/legal/templates/ContactTemplate.js.map +1 -0
  197. package/dist/components/legal/templates/CookiesTemplate.d.ts +33 -0
  198. package/dist/components/legal/templates/CookiesTemplate.d.ts.map +1 -0
  199. package/dist/components/legal/templates/CookiesTemplate.js +36 -0
  200. package/dist/components/legal/templates/CookiesTemplate.js.map +1 -0
  201. package/dist/components/legal/templates/PrivacyTemplate.d.ts +33 -0
  202. package/dist/components/legal/templates/PrivacyTemplate.d.ts.map +1 -0
  203. package/dist/components/legal/templates/PrivacyTemplate.js +40 -0
  204. package/dist/components/legal/templates/PrivacyTemplate.js.map +1 -0
  205. package/dist/components/legal/templates/SalesTermsTemplate.d.ts +28 -0
  206. package/dist/components/legal/templates/SalesTermsTemplate.d.ts.map +1 -0
  207. package/dist/components/legal/templates/SalesTermsTemplate.js +32 -0
  208. package/dist/components/legal/templates/SalesTermsTemplate.js.map +1 -0
  209. package/dist/components/legal/templates/TermsTemplate.d.ts +28 -0
  210. package/dist/components/legal/templates/TermsTemplate.d.ts.map +1 -0
  211. package/dist/components/legal/templates/TermsTemplate.js +35 -0
  212. package/dist/components/legal/templates/TermsTemplate.js.map +1 -0
  213. package/dist/components/molecules/AiLinkButton.d.ts +16 -0
  214. package/dist/components/molecules/AiLinkButton.d.ts.map +1 -0
  215. package/dist/components/molecules/AiLinkButton.js +67 -0
  216. package/dist/components/molecules/AiLinkButton.js.map +1 -0
  217. package/dist/components/molecules/Breadcrumbs.d.ts +16 -0
  218. package/dist/components/molecules/Breadcrumbs.d.ts.map +1 -0
  219. package/dist/components/molecules/Breadcrumbs.js +19 -0
  220. package/dist/components/molecules/Breadcrumbs.js.map +1 -0
  221. package/dist/components/molecules/CommandPalette.d.ts +27 -0
  222. package/dist/components/molecules/CommandPalette.d.ts.map +1 -0
  223. package/dist/components/molecules/CommandPalette.js +43 -0
  224. package/dist/components/molecules/CommandPalette.js.map +1 -0
  225. package/dist/components/molecules/CommandSearchTrigger.d.ts +19 -0
  226. package/dist/components/molecules/CommandSearchTrigger.d.ts.map +1 -0
  227. package/dist/components/molecules/CommandSearchTrigger.js +46 -0
  228. package/dist/components/molecules/CommandSearchTrigger.js.map +1 -0
  229. package/dist/components/molecules/DropdownMenu.d.ts +1 -0
  230. package/dist/components/molecules/DropdownMenu.js +0 -0
  231. package/dist/components/molecules/EntityCard.d.ts +38 -0
  232. package/dist/components/molecules/EntityCard.d.ts.map +1 -0
  233. package/dist/components/molecules/EntityCard.js +89 -0
  234. package/dist/components/molecules/EntityCard.js.map +1 -0
  235. package/dist/components/molecules/FiltersToolbar.d.ts +36 -0
  236. package/dist/components/molecules/FiltersToolbar.d.ts.map +1 -0
  237. package/dist/components/molecules/FiltersToolbar.js +71 -0
  238. package/dist/components/molecules/FiltersToolbar.js.map +1 -0
  239. package/dist/components/molecules/FiltersToolbar.mobile.d.ts +19 -0
  240. package/dist/components/molecules/FiltersToolbar.mobile.d.ts.map +1 -0
  241. package/dist/components/molecules/FiltersToolbar.mobile.js +49 -0
  242. package/dist/components/molecules/FiltersToolbar.mobile.js.map +1 -0
  243. package/dist/components/molecules/HoverPreview.d.ts +21 -0
  244. package/dist/components/molecules/HoverPreview.d.ts.map +1 -0
  245. package/dist/components/molecules/HoverPreview.js +27 -0
  246. package/dist/components/molecules/HoverPreview.js.map +1 -0
  247. package/dist/components/molecules/LangSwitch.d.ts +23 -0
  248. package/dist/components/molecules/LangSwitch.d.ts.map +1 -0
  249. package/dist/components/molecules/LangSwitch.js +23 -0
  250. package/dist/components/molecules/LangSwitch.js.map +1 -0
  251. package/dist/components/molecules/LangSwitchDropdown.d.ts +22 -0
  252. package/dist/components/molecules/LangSwitchDropdown.d.ts.map +1 -0
  253. package/dist/components/molecules/LangSwitchDropdown.js +38 -0
  254. package/dist/components/molecules/LangSwitchDropdown.js.map +1 -0
  255. package/dist/components/molecules/LoaderBlock.d.ts +19 -0
  256. package/dist/components/molecules/LoaderBlock.d.ts.map +1 -0
  257. package/dist/components/molecules/LoaderBlock.js +26 -0
  258. package/dist/components/molecules/LoaderBlock.js.map +1 -0
  259. package/dist/components/molecules/LoaderBlock.mobile.d.ts +19 -0
  260. package/dist/components/molecules/LoaderBlock.mobile.d.ts.map +1 -0
  261. package/dist/components/molecules/LoaderBlock.mobile.js +26 -0
  262. package/dist/components/molecules/LoaderBlock.mobile.js.map +1 -0
  263. package/dist/components/molecules/MobileNavMenu.d.ts +14 -0
  264. package/dist/components/molecules/MobileNavMenu.d.ts.map +1 -0
  265. package/dist/components/molecules/MobileNavMenu.js +29 -0
  266. package/dist/components/molecules/MobileNavMenu.js.map +1 -0
  267. package/dist/components/molecules/NavItemCard.d.ts +15 -0
  268. package/dist/components/molecules/NavItemCard.d.ts.map +1 -0
  269. package/dist/components/molecules/NavItemCard.js +51 -0
  270. package/dist/components/molecules/NavItemCard.js.map +1 -0
  271. package/dist/components/molecules/NavMain.d.ts +14 -0
  272. package/dist/components/molecules/NavMain.d.ts.map +1 -0
  273. package/dist/components/molecules/NavMain.js +34 -0
  274. package/dist/components/molecules/NavMain.js.map +1 -0
  275. package/dist/components/molecules/NavUser.d.ts +18 -0
  276. package/dist/components/molecules/NavUser.d.ts.map +1 -0
  277. package/dist/components/molecules/NavUser.js +58 -0
  278. package/dist/components/molecules/NavUser.js.map +1 -0
  279. package/dist/components/molecules/OverviewCard.d.ts +21 -0
  280. package/dist/components/molecules/OverviewCard.d.ts.map +1 -0
  281. package/dist/components/molecules/OverviewCard.js +39 -0
  282. package/dist/components/molecules/OverviewCard.js.map +1 -0
  283. package/dist/components/molecules/SkeletonBlock/index.d.ts +3 -0
  284. package/dist/components/molecules/SkeletonBlock/index.js +3 -0
  285. package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts +13 -0
  286. package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts.map +1 -0
  287. package/dist/components/molecules/SkeletonBlock/index.mobile.js +19 -0
  288. package/dist/components/molecules/SkeletonBlock/index.mobile.js.map +1 -0
  289. package/dist/components/molecules/SkeletonBlock/index.web.d.ts +13 -0
  290. package/dist/components/molecules/SkeletonBlock/index.web.d.ts.map +1 -0
  291. package/dist/components/molecules/SkeletonBlock/index.web.js +14 -0
  292. package/dist/components/molecules/SkeletonBlock/index.web.js.map +1 -0
  293. package/dist/components/molecules/SkeletonBlock/types.d.ts +10 -0
  294. package/dist/components/molecules/SkeletonBlock/types.d.ts.map +1 -0
  295. package/dist/components/molecules/SkeletonBlock/types.js +0 -0
  296. package/dist/components/molecules/SkeletonCircle/index.d.ts +3 -0
  297. package/dist/components/molecules/SkeletonCircle/index.js +3 -0
  298. package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts +12 -0
  299. package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts.map +1 -0
  300. package/dist/components/molecules/SkeletonCircle/index.mobile.js +24 -0
  301. package/dist/components/molecules/SkeletonCircle/index.mobile.js.map +1 -0
  302. package/dist/components/molecules/SkeletonCircle/index.web.d.ts +12 -0
  303. package/dist/components/molecules/SkeletonCircle/index.web.d.ts.map +1 -0
  304. package/dist/components/molecules/SkeletonCircle/index.web.js +24 -0
  305. package/dist/components/molecules/SkeletonCircle/index.web.js.map +1 -0
  306. package/dist/components/molecules/SkeletonCircle/types.d.ts +9 -0
  307. package/dist/components/molecules/SkeletonCircle/types.d.ts.map +1 -0
  308. package/dist/components/molecules/SkeletonCircle/types.js +0 -0
  309. package/dist/components/molecules/SkeletonList/index.d.ts +3 -0
  310. package/dist/components/molecules/SkeletonList/index.js +3 -0
  311. package/dist/components/molecules/SkeletonList/index.mobile.d.ts +11 -0
  312. package/dist/components/molecules/SkeletonList/index.mobile.d.ts.map +1 -0
  313. package/dist/components/molecules/SkeletonList/index.mobile.js +23 -0
  314. package/dist/components/molecules/SkeletonList/index.mobile.js.map +1 -0
  315. package/dist/components/molecules/SkeletonList/index.web.d.ts +11 -0
  316. package/dist/components/molecules/SkeletonList/index.web.d.ts.map +1 -0
  317. package/dist/components/molecules/SkeletonList/index.web.js +16 -0
  318. package/dist/components/molecules/SkeletonList/index.web.js.map +1 -0
  319. package/dist/components/molecules/SkeletonList/types.d.ts +8 -0
  320. package/dist/components/molecules/SkeletonList/types.d.ts.map +1 -0
  321. package/dist/components/molecules/SkeletonList/types.js +0 -0
  322. package/dist/components/molecules/StatCard.d.ts +37 -0
  323. package/dist/components/molecules/StatCard.d.ts.map +1 -0
  324. package/dist/components/molecules/StatCard.js +69 -0
  325. package/dist/components/molecules/StatCard.js.map +1 -0
  326. package/dist/components/molecules/StatusChip.d.ts +27 -0
  327. package/dist/components/molecules/StatusChip.d.ts.map +1 -0
  328. package/dist/components/molecules/StatusChip.js +57 -0
  329. package/dist/components/molecules/StatusChip.js.map +1 -0
  330. package/dist/components/molecules/hover-previews/Doc.d.ts +28 -0
  331. package/dist/components/molecules/hover-previews/Doc.d.ts.map +1 -0
  332. package/dist/components/molecules/hover-previews/Doc.js +46 -0
  333. package/dist/components/molecules/hover-previews/Doc.js.map +1 -0
  334. package/dist/components/molecules/hover-previews/Media.d.ts +21 -0
  335. package/dist/components/molecules/hover-previews/Media.d.ts.map +1 -0
  336. package/dist/components/molecules/hover-previews/Media.js +34 -0
  337. package/dist/components/molecules/hover-previews/Media.js.map +1 -0
  338. package/dist/components/molecules/hover-previews/Simple.d.ts +26 -0
  339. package/dist/components/molecules/hover-previews/Simple.d.ts.map +1 -0
  340. package/dist/components/molecules/hover-previews/Simple.js +46 -0
  341. package/dist/components/molecules/hover-previews/Simple.js.map +1 -0
  342. package/dist/components/molecules/hover-previews/Stats.d.ts +23 -0
  343. package/dist/components/molecules/hover-previews/Stats.d.ts.map +1 -0
  344. package/dist/components/molecules/hover-previews/Stats.js +39 -0
  345. package/dist/components/molecules/hover-previews/Stats.js.map +1 -0
  346. package/dist/components/molecules/hover-previews/User.d.ts +26 -0
  347. package/dist/components/molecules/hover-previews/User.d.ts.map +1 -0
  348. package/dist/components/molecules/hover-previews/User.js +48 -0
  349. package/dist/components/molecules/hover-previews/User.js.map +1 -0
  350. package/dist/components/native/BottomTabs.mobile.d.ts +21 -0
  351. package/dist/components/native/BottomTabs.mobile.d.ts.map +1 -0
  352. package/dist/components/native/BottomTabs.mobile.js +29 -0
  353. package/dist/components/native/BottomTabs.mobile.js.map +1 -0
  354. package/dist/components/native/FlatListScreen.mobile.d.ts +44 -0
  355. package/dist/components/native/FlatListScreen.mobile.d.ts.map +1 -0
  356. package/dist/components/native/FlatListScreen.mobile.js +65 -0
  357. package/dist/components/native/FlatListScreen.mobile.js.map +1 -0
  358. package/dist/components/native/SheetMenu.mobile.d.ts +18 -0
  359. package/dist/components/native/SheetMenu.mobile.d.ts.map +1 -0
  360. package/dist/components/native/SheetMenu.mobile.js +23 -0
  361. package/dist/components/native/SheetMenu.mobile.js.map +1 -0
  362. package/dist/components/organisms/AcademyLayout.d.ts +30 -0
  363. package/dist/components/organisms/AcademyLayout.d.ts.map +1 -0
  364. package/dist/components/organisms/AcademyLayout.js +48 -0
  365. package/dist/components/organisms/AcademyLayout.js.map +1 -0
  366. package/dist/components/organisms/AppHeader.d.ts +19 -0
  367. package/dist/components/organisms/AppHeader.d.ts.map +1 -0
  368. package/dist/components/organisms/AppHeader.js +32 -0
  369. package/dist/components/organisms/AppHeader.js.map +1 -0
  370. package/dist/components/organisms/AppHeader.mobile.d.ts +22 -0
  371. package/dist/components/organisms/AppHeader.mobile.d.ts.map +1 -0
  372. package/dist/components/organisms/AppHeader.mobile.js +54 -0
  373. package/dist/components/organisms/AppHeader.mobile.js.map +1 -0
  374. package/dist/components/organisms/AppLayout.d.ts +29 -0
  375. package/dist/components/organisms/AppLayout.d.ts.map +1 -0
  376. package/dist/components/organisms/AppLayout.js +46 -0
  377. package/dist/components/organisms/AppLayout.js.map +1 -0
  378. package/dist/components/organisms/AppSidebar.d.ts +24 -0
  379. package/dist/components/organisms/AppSidebar.d.ts.map +1 -0
  380. package/dist/components/organisms/AppSidebar.js +40 -0
  381. package/dist/components/organisms/AppSidebar.js.map +1 -0
  382. package/dist/components/organisms/AppSidebar.mobile.d.ts +1 -0
  383. package/dist/components/organisms/AppSidebar.mobile.js +0 -0
  384. package/dist/components/organisms/EmptyDataList.d.ts +21 -0
  385. package/dist/components/organisms/EmptyDataList.d.ts.map +1 -0
  386. package/dist/components/organisms/EmptyDataList.js +49 -0
  387. package/dist/components/organisms/EmptyDataList.js.map +1 -0
  388. package/dist/components/organisms/EmptyDataList.mobile.d.ts +21 -0
  389. package/dist/components/organisms/EmptyDataList.mobile.d.ts.map +1 -0
  390. package/dist/components/organisms/EmptyDataList.mobile.js +28 -0
  391. package/dist/components/organisms/EmptyDataList.mobile.js.map +1 -0
  392. package/dist/components/organisms/EmptyDataList.types.d.ts +20 -0
  393. package/dist/components/organisms/EmptyDataList.types.d.ts.map +1 -0
  394. package/dist/components/organisms/EmptyDataList.types.js +1 -0
  395. package/dist/components/organisms/EmptySearchResult.d.ts +25 -0
  396. package/dist/components/organisms/EmptySearchResult.d.ts.map +1 -0
  397. package/dist/components/organisms/EmptySearchResult.js +28 -0
  398. package/dist/components/organisms/EmptySearchResult.js.map +1 -0
  399. package/dist/components/organisms/FAQSection.d.ts +32 -0
  400. package/dist/components/organisms/FAQSection.d.ts.map +1 -0
  401. package/dist/components/organisms/FAQSection.js +66 -0
  402. package/dist/components/organisms/FAQSection.js.map +1 -0
  403. package/dist/components/organisms/FeatureCarousel.d.ts +19 -0
  404. package/dist/components/organisms/FeatureCarousel.d.ts.map +1 -0
  405. package/dist/components/organisms/FeatureCarousel.js +35 -0
  406. package/dist/components/organisms/FeatureCarousel.js.map +1 -0
  407. package/dist/components/organisms/FeaturesSection.d.ts +20 -0
  408. package/dist/components/organisms/FeaturesSection.d.ts.map +1 -0
  409. package/dist/components/organisms/FeaturesSection.js +38 -0
  410. package/dist/components/organisms/FeaturesSection.js.map +1 -0
  411. package/dist/components/organisms/Footer.d.ts +26 -0
  412. package/dist/components/organisms/Footer.d.ts.map +1 -0
  413. package/dist/components/organisms/Footer.js +55 -0
  414. package/dist/components/organisms/Footer.js.map +1 -0
  415. package/dist/components/organisms/GridLayout.d.ts +26 -0
  416. package/dist/components/organisms/GridLayout.d.ts.map +1 -0
  417. package/dist/components/organisms/GridLayout.js +29 -0
  418. package/dist/components/organisms/GridLayout.js.map +1 -0
  419. package/dist/components/organisms/Header.d.ts +38 -0
  420. package/dist/components/organisms/Header.d.ts.map +1 -0
  421. package/dist/components/organisms/Header.js +101 -0
  422. package/dist/components/organisms/Header.js.map +1 -0
  423. package/dist/components/organisms/Header.mobile.d.ts +25 -0
  424. package/dist/components/organisms/Header.mobile.d.ts.map +1 -0
  425. package/dist/components/organisms/Header.mobile.js +20 -0
  426. package/dist/components/organisms/Header.mobile.js.map +1 -0
  427. package/dist/components/organisms/HeroResponsive.d.ts +15 -0
  428. package/dist/components/organisms/HeroResponsive.d.ts.map +1 -0
  429. package/dist/components/organisms/HeroResponsive.js +26 -0
  430. package/dist/components/organisms/HeroResponsive.js.map +1 -0
  431. package/dist/components/organisms/HeroSection.d.ts +30 -0
  432. package/dist/components/organisms/HeroSection.d.ts.map +1 -0
  433. package/dist/components/organisms/HeroSection.js +31 -0
  434. package/dist/components/organisms/HeroSection.js.map +1 -0
  435. package/dist/components/organisms/ListCardPage.d.ts +37 -0
  436. package/dist/components/organisms/ListCardPage.d.ts.map +1 -0
  437. package/dist/components/organisms/ListCardPage.js +57 -0
  438. package/dist/components/organisms/ListCardPage.js.map +1 -0
  439. package/dist/components/organisms/ListGridPage.d.ts +37 -0
  440. package/dist/components/organisms/ListGridPage.d.ts.map +1 -0
  441. package/dist/components/organisms/ListGridPage.js +52 -0
  442. package/dist/components/organisms/ListGridPage.js.map +1 -0
  443. package/dist/components/organisms/ListPageResponsive.d.ts +8 -0
  444. package/dist/components/organisms/ListPageResponsive.d.ts.map +1 -0
  445. package/dist/components/organisms/ListPageResponsive.js +21 -0
  446. package/dist/components/organisms/ListPageResponsive.js.map +1 -0
  447. package/dist/components/organisms/ListTablePage.d.ts +34 -0
  448. package/dist/components/organisms/ListTablePage.d.ts.map +1 -0
  449. package/dist/components/organisms/ListTablePage.js +48 -0
  450. package/dist/components/organisms/ListTablePage.js.map +1 -0
  451. package/dist/components/organisms/MarketingHeader.d.ts +37 -0
  452. package/dist/components/organisms/MarketingHeader.d.ts.map +1 -0
  453. package/dist/components/organisms/MarketingHeader.js +124 -0
  454. package/dist/components/organisms/MarketingHeader.js.map +1 -0
  455. package/dist/components/organisms/MarketingHeaderDesktop.d.ts +16 -0
  456. package/dist/components/organisms/MarketingHeaderDesktop.d.ts.map +1 -0
  457. package/dist/components/organisms/MarketingHeaderDesktop.js +59 -0
  458. package/dist/components/organisms/MarketingHeaderDesktop.js.map +1 -0
  459. package/dist/components/organisms/MarketingHeaderMobile.d.ts +13 -0
  460. package/dist/components/organisms/MarketingHeaderMobile.d.ts.map +1 -0
  461. package/dist/components/organisms/MarketingHeaderMobile.js +71 -0
  462. package/dist/components/organisms/MarketingHeaderMobile.js.map +1 -0
  463. package/dist/components/organisms/MarketingLayout.d.ts +19 -0
  464. package/dist/components/organisms/MarketingLayout.d.ts.map +1 -0
  465. package/dist/components/organisms/MarketingLayout.js +27 -0
  466. package/dist/components/organisms/MarketingLayout.js.map +1 -0
  467. package/dist/components/organisms/PageHeaderResponsive.d.ts +9 -0
  468. package/dist/components/organisms/PageHeaderResponsive.d.ts.map +1 -0
  469. package/dist/components/organisms/PageHeaderResponsive.js +21 -0
  470. package/dist/components/organisms/PageHeaderResponsive.js.map +1 -0
  471. package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts +23 -0
  472. package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts.map +1 -0
  473. package/dist/components/organisms/PageHeaderResponsive.mobile.js +34 -0
  474. package/dist/components/organisms/PageHeaderResponsive.mobile.js.map +1 -0
  475. package/dist/components/organisms/PricingCarousel.d.ts +25 -0
  476. package/dist/components/organisms/PricingCarousel.d.ts.map +1 -0
  477. package/dist/components/organisms/PricingCarousel.js +60 -0
  478. package/dist/components/organisms/PricingCarousel.js.map +1 -0
  479. package/dist/components/organisms/PricingSection.d.ts +19 -0
  480. package/dist/components/organisms/PricingSection.d.ts.map +1 -0
  481. package/dist/components/organisms/PricingSection.js +27 -0
  482. package/dist/components/organisms/PricingSection.js.map +1 -0
  483. package/dist/components/organisms/TestimonialCarousel.d.ts +20 -0
  484. package/dist/components/organisms/TestimonialCarousel.d.ts.map +1 -0
  485. package/dist/components/organisms/TestimonialCarousel.js +38 -0
  486. package/dist/components/organisms/TestimonialCarousel.js.map +1 -0
  487. package/dist/components/templates/lists/ListPageTemplate/index.d.ts +3 -0
  488. package/dist/components/templates/lists/ListPageTemplate/index.js +3 -0
  489. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts +22 -0
  490. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts.map +1 -0
  491. package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +33 -0
  492. package/dist/components/templates/lists/ListPageTemplate/index.mobile.js.map +1 -0
  493. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +23 -0
  494. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts.map +1 -0
  495. package/dist/components/templates/lists/ListPageTemplate/index.web.js +53 -0
  496. package/dist/components/templates/lists/ListPageTemplate/index.web.js.map +1 -0
  497. package/dist/components/templates/lists/ListPageTemplate/types.d.ts +26 -0
  498. package/dist/components/templates/lists/ListPageTemplate/types.d.ts.map +1 -0
  499. package/dist/components/templates/lists/ListPageTemplate/types.js +1 -0
  500. package/dist/hooks/useListUrlState.d.ts +31 -0
  501. package/dist/hooks/useListUrlState.d.ts.map +1 -0
  502. package/dist/hooks/useListUrlState.js +90 -0
  503. package/dist/hooks/useListUrlState.js.map +1 -0
  504. package/dist/index.d.ts +106 -0
  505. package/dist/index.js +106 -0
  506. package/dist/index.js.map +1 -0
  507. package/dist/lib/keyboard.d.ts +15 -0
  508. package/dist/lib/keyboard.d.ts.map +1 -0
  509. package/dist/lib/keyboard.js +365 -0
  510. package/dist/lib/keyboard.js.map +1 -0
  511. package/dist/lib/utils.d.ts +7 -0
  512. package/dist/lib/utils.d.ts.map +1 -0
  513. package/dist/lib/utils.js +11 -0
  514. package/dist/lib/utils.js.map +1 -0
  515. package/dist/platform/useColorScheme.d.ts +6 -0
  516. package/dist/platform/useColorScheme.d.ts.map +1 -0
  517. package/dist/platform/useColorScheme.js +22 -0
  518. package/dist/platform/useColorScheme.js.map +1 -0
  519. package/dist/platform/useColorScheme.mobile.d.ts +6 -0
  520. package/dist/platform/useColorScheme.mobile.d.ts.map +1 -0
  521. package/dist/platform/useColorScheme.mobile.js +22 -0
  522. package/dist/platform/useColorScheme.mobile.js.map +1 -0
  523. package/dist/platform/useReducedMotion.d.ts +5 -0
  524. package/dist/platform/useReducedMotion.d.ts.map +1 -0
  525. package/dist/platform/useReducedMotion.js +22 -0
  526. package/dist/platform/useReducedMotion.js.map +1 -0
  527. package/dist/platform/useReducedMotion.mobile.d.ts +5 -0
  528. package/dist/platform/useReducedMotion.mobile.d.ts.map +1 -0
  529. package/dist/platform/useReducedMotion.mobile.js +30 -0
  530. package/dist/platform/useReducedMotion.mobile.js.map +1 -0
  531. package/dist/platform/useResponsive.d.ts +24 -0
  532. package/dist/platform/useResponsive.d.ts.map +1 -0
  533. package/dist/platform/useResponsive.js +41 -0
  534. package/dist/platform/useResponsive.js.map +1 -0
  535. package/dist/platform/useResponsive.mobile.d.ts +24 -0
  536. package/dist/platform/useResponsive.mobile.d.ts.map +1 -0
  537. package/dist/platform/useResponsive.mobile.js +44 -0
  538. package/dist/platform/useResponsive.mobile.js.map +1 -0
  539. package/dist/platform/withPlatformUI.d.ts +29 -0
  540. package/dist/platform/withPlatformUI.d.ts.map +1 -0
  541. package/dist/platform/withPlatformUI.js +32 -0
  542. package/dist/platform/withPlatformUI.js.map +1 -0
  543. package/dist/renderers/form-contract.d.ts +12 -0
  544. package/dist/renderers/form-contract.d.ts.map +1 -0
  545. package/dist/renderers/form-contract.js +77 -0
  546. package/dist/renderers/form-contract.js.map +1 -0
  547. package/dist/renderers/index.d.ts +2 -0
  548. package/dist/renderers/index.js +3 -0
  549. package/dist/theme/tokenBridge.d.ts +20 -0
  550. package/dist/theme/tokenBridge.d.ts.map +1 -0
  551. package/dist/theme/tokenBridge.js +26 -0
  552. package/dist/theme/tokenBridge.js.map +1 -0
  553. package/dist/theme/tokens.d.ts +51 -0
  554. package/dist/theme/tokens.d.ts.map +1 -0
  555. package/dist/theme/tokens.js +50 -0
  556. package/dist/theme/tokens.js.map +1 -0
  557. package/dist/theme/variants.d.ts +22 -0
  558. package/dist/theme/variants.d.ts.map +1 -0
  559. package/dist/theme/variants.js +45 -0
  560. package/dist/theme/variants.js.map +1 -0
  561. package/dist/types/nativewind-env.d.ts +1 -0
  562. package/dist/types/navigation.d.ts +45 -0
  563. package/dist/types/navigation.d.ts.map +1 -0
  564. package/dist/types/navigation.js +1 -0
  565. package/package.json +347 -0
@@ -0,0 +1,60 @@
1
+ import { Button } from "../atoms/Button.js";
2
+ import { ButtonLink } from "../atoms/ButtonLink.js";
3
+ import "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "@lssm/lib.ui-kit-web/ui/carousel";
6
+ import { Card, CardContent } from "@lssm/lib.ui-kit-web/ui/card";
7
+
8
+ //#region src/components/organisms/PricingCarousel.tsx
9
+ function PricingCarousel({ tiers, className }) {
10
+ return /* @__PURE__ */ jsx("div", {
11
+ className,
12
+ children: /* @__PURE__ */ jsxs(Carousel, { children: [
13
+ /* @__PURE__ */ jsx(CarouselContent, { children: tiers.map((t, i) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsx(Card, {
14
+ className: t.highlighted ? "border-primary shadow-lg" : void 0,
15
+ children: /* @__PURE__ */ jsxs(CardContent, {
16
+ className: "p-6",
17
+ children: [
18
+ /* @__PURE__ */ jsx("div", {
19
+ className: "text-muted-foreground mb-2 text-base font-medium",
20
+ children: t.name
21
+ }),
22
+ /* @__PURE__ */ jsx("div", {
23
+ className: "text-3xl font-semibold",
24
+ children: t.price
25
+ }),
26
+ t.tagline && /* @__PURE__ */ jsx("div", {
27
+ className: "text-muted-foreground mt-1 text-base",
28
+ children: t.tagline
29
+ }),
30
+ /* @__PURE__ */ jsx("ul", {
31
+ className: "mt-4 space-y-2 text-base",
32
+ children: t.features.map((f, j) => /* @__PURE__ */ jsxs("li", {
33
+ className: "flex items-start gap-2",
34
+ children: [/* @__PURE__ */ jsx("span", { className: "bg-primary mt-1 h-1.5 w-1.5 rounded-full" }), /* @__PURE__ */ jsx("span", { children: f })]
35
+ }, j))
36
+ }),
37
+ t.cta && /* @__PURE__ */ jsx("div", {
38
+ className: "mt-6",
39
+ children: t.cta.href ? /* @__PURE__ */ jsx(ButtonLink, {
40
+ className: "w-full",
41
+ href: t.cta.href,
42
+ children: t.cta.label
43
+ }) : /* @__PURE__ */ jsx(Button, {
44
+ className: "w-full",
45
+ onPress: t.cta.onPress,
46
+ children: t.cta.label
47
+ })
48
+ })
49
+ ]
50
+ })
51
+ }) }, i)) }),
52
+ /* @__PURE__ */ jsx(CarouselPrevious, {}),
53
+ /* @__PURE__ */ jsx(CarouselNext, {})
54
+ ] })
55
+ });
56
+ }
57
+
58
+ //#endregion
59
+ export { PricingCarousel };
60
+ //# sourceMappingURL=PricingCarousel.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,19 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime23 from "react/jsx-runtime";
3
+ import { PricingTier } from "@lssm/lib.ui-kit-web/ui/marketing/PricingTable";
4
+
5
+ //#region src/components/organisms/PricingSection.d.ts
6
+ declare function PricingSection({
7
+ tiers,
8
+ title,
9
+ subtitle,
10
+ className
11
+ }: {
12
+ tiers: PricingTier[];
13
+ title?: React$1.ReactNode;
14
+ subtitle?: React$1.ReactNode;
15
+ className?: string;
16
+ }): react_jsx_runtime23.JSX.Element;
17
+ //#endregion
18
+ export { PricingSection };
19
+ //# sourceMappingURL=PricingSection.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,27 @@
1
+ import "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { PricingTable } from "@lssm/lib.ui-kit-web/ui/marketing/PricingTable";
4
+
5
+ //#region src/components/organisms/PricingSection.tsx
6
+ function PricingSection({ tiers, title, subtitle, className }) {
7
+ return /* @__PURE__ */ jsx("section", {
8
+ className: `py-12 sm:py-16 lg:py-24 ${className || ""}`,
9
+ children: /* @__PURE__ */ jsxs("div", {
10
+ className: "container mx-auto px-4 sm:px-6 lg:px-8",
11
+ children: [title ? /* @__PURE__ */ jsxs("div", {
12
+ className: "mb-8 text-center",
13
+ children: [/* @__PURE__ */ jsx("h2", {
14
+ className: "text-3xl font-bold md:text-4xl",
15
+ children: title
16
+ }), subtitle ? /* @__PURE__ */ jsx("p", {
17
+ className: "text-muted-foreground mx-auto mt-2 max-w-2xl text-base",
18
+ children: subtitle
19
+ }) : null]
20
+ }) : null, /* @__PURE__ */ jsx(PricingTable, { tiers })]
21
+ })
22
+ });
23
+ }
24
+
25
+ //#endregion
26
+ export { PricingSection };
27
+ //# sourceMappingURL=PricingSection.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,20 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
3
+
4
+ //#region src/components/organisms/TestimonialCarousel.d.ts
5
+ interface Testimonial {
6
+ quote: React$1.ReactNode;
7
+ author: React$1.ReactNode;
8
+ role?: React$1.ReactNode;
9
+ avatar?: React$1.ReactNode;
10
+ }
11
+ declare function TestimonialCarousel({
12
+ testimonials,
13
+ className
14
+ }: {
15
+ testimonials: Testimonial[];
16
+ className?: string;
17
+ }): react_jsx_runtime24.JSX.Element;
18
+ //#endregion
19
+ export { Testimonial, TestimonialCarousel };
20
+ //# sourceMappingURL=TestimonialCarousel.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,38 @@
1
+ import "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "@lssm/lib.ui-kit-web/ui/carousel";
4
+ import { Card, CardContent } from "@lssm/lib.ui-kit-web/ui/card";
5
+
6
+ //#region src/components/organisms/TestimonialCarousel.tsx
7
+ function TestimonialCarousel({ testimonials, className }) {
8
+ return /* @__PURE__ */ jsx("div", {
9
+ className,
10
+ children: /* @__PURE__ */ jsxs(Carousel, { children: [
11
+ /* @__PURE__ */ jsx(CarouselContent, { children: testimonials.map((t, i) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, {
12
+ className: "p-6",
13
+ children: [/* @__PURE__ */ jsx("div", {
14
+ className: "text-lg",
15
+ children: t.quote
16
+ }), /* @__PURE__ */ jsxs("div", {
17
+ className: "mt-4 flex items-center gap-3",
18
+ children: [t.avatar, /* @__PURE__ */ jsxs("div", {
19
+ className: "text-base",
20
+ children: [/* @__PURE__ */ jsx("div", {
21
+ className: "font-medium",
22
+ children: t.author
23
+ }), t.role && /* @__PURE__ */ jsx("div", {
24
+ className: "text-muted-foreground",
25
+ children: t.role
26
+ })]
27
+ })]
28
+ })]
29
+ }) }) }, i)) }),
30
+ /* @__PURE__ */ jsx(CarouselPrevious, {}),
31
+ /* @__PURE__ */ jsx(CarouselNext, {})
32
+ ] })
33
+ });
34
+ }
35
+
36
+ //#endregion
37
+ export { TestimonialCarousel };
38
+ //# sourceMappingURL=TestimonialCarousel.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ import { ListPageTemplateProps } from "./types.js";
2
+ import { ListPageTemplate } from "./index.web.js";
3
+ export { ListPageTemplate, ListPageTemplateProps };
@@ -0,0 +1,3 @@
1
+ import { ListPageTemplate } from "./index.web.js";
2
+
3
+ export { ListPageTemplate };
@@ -0,0 +1,22 @@
1
+ import { ListPageTemplateProps } from "./types.js";
2
+ import * as react_jsx_runtime124 from "react/jsx-runtime";
3
+
4
+ //#region src/components/templates/lists/ListPageTemplate/index.mobile.d.ts
5
+ declare function ListPageTemplate<T = any>({
6
+ children,
7
+ title,
8
+ description,
9
+ breadcrumb,
10
+ actions,
11
+ searchPlaceholder,
12
+ searchValue,
13
+ onSearchChange,
14
+ onSearchSubmit,
15
+ isLoading,
16
+ data,
17
+ renderItem,
18
+ emptyProps
19
+ }: ListPageTemplateProps<T>): react_jsx_runtime124.JSX.Element;
20
+ //#endregion
21
+ export { ListPageTemplate, ListPageTemplateProps };
22
+ //# sourceMappingURL=index.mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mobile.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.mobile.tsx"],"sourcesContent":[],"mappings":";;;;iBAUgB;;;;;;;;;;;;;;GAcb,sBAAsB,KAAE,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { FiltersToolbar } from "../../../molecules/FiltersToolbar.mobile.js";
2
+ import { FlatListScreen } from "../../../native/FlatListScreen.mobile.js";
3
+ import { EmptyDataList } from "../../../organisms/EmptyDataList.mobile.js";
4
+ import { PageHeaderResponsive } from "../../../organisms/PageHeaderResponsive.mobile.js";
5
+ import "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+
8
+ //#region src/components/templates/lists/ListPageTemplate/index.mobile.tsx
9
+ function ListPageTemplate({ children, title, description, breadcrumb, actions, searchPlaceholder, searchValue, onSearchChange, onSearchSubmit, isLoading, data, renderItem, emptyProps }) {
10
+ return /* @__PURE__ */ jsx(FlatListScreen, {
11
+ refreshing: isLoading,
12
+ header: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(PageHeaderResponsive, {
13
+ title,
14
+ subtitle: description,
15
+ breadcrumb,
16
+ actions
17
+ }), /* @__PURE__ */ jsx(FiltersToolbar, {
18
+ searchPlaceholder,
19
+ searchValue,
20
+ onSearchChange,
21
+ onSearchSubmit
22
+ })] }),
23
+ data: data ?? [],
24
+ renderItem,
25
+ showsVerticalScrollIndicator: false,
26
+ padding: "md",
27
+ emptyComponent: emptyProps ? /* @__PURE__ */ jsx(EmptyDataList, { ...emptyProps }) : void 0
28
+ });
29
+ }
30
+
31
+ //#endregion
32
+ export { ListPageTemplate };
33
+ //# sourceMappingURL=index.mobile.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,23 @@
1
+ import { ListPageTemplateProps } from "./types.js";
2
+ import * as react_jsx_runtime125 from "react/jsx-runtime";
3
+
4
+ //#region src/components/templates/lists/ListPageTemplate/index.web.d.ts
5
+ declare function ListPageTemplate<T = any>({
6
+ children,
7
+ title,
8
+ description,
9
+ breadcrumb,
10
+ actions,
11
+ className,
12
+ searchPlaceholder,
13
+ searchValue,
14
+ onSearchChange,
15
+ onSearchSubmit,
16
+ isLoading,
17
+ data,
18
+ renderItem,
19
+ emptyProps
20
+ }: ListPageTemplateProps<T>): react_jsx_runtime125.JSX.Element;
21
+ //#endregion
22
+ export { ListPageTemplate, ListPageTemplateProps };
23
+ //# sourceMappingURL=index.web.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,53 @@
1
+ import { PageHeaderResponsive } from "../../../organisms/PageHeaderResponsive.js";
2
+ import { FiltersToolbar } from "../../../molecules/FiltersToolbar.js";
3
+ import { AiLinkButton } from "../../../molecules/AiLinkButton.js";
4
+ import { EmptyDataList } from "../../../organisms/EmptyDataList.js";
5
+ import * as React$1 from "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ import { cva } from "class-variance-authority";
8
+ import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
9
+ import { Card, CardContent } from "@lssm/lib.ui-kit-web/ui/card";
10
+ import { Skeleton } from "@lssm/lib.ui-kit-web/ui/skeleton";
11
+
12
+ //#region src/components/templates/lists/ListPageTemplate/index.web.tsx
13
+ const containerVariants = cva("space-y-4 md:space-y-6");
14
+ function ListPageTemplate({ children, title, description, breadcrumb, actions, className, searchPlaceholder, searchValue, onSearchChange, onSearchSubmit, isLoading, data, renderItem, emptyProps }) {
15
+ const mdHref = React$1.useMemo(() => {
16
+ if (typeof window === "undefined") return void 0;
17
+ const url = new URL(window.location.href);
18
+ url.pathname = url.pathname.replace(/\/$/, "") + ".md";
19
+ return url.toString();
20
+ }, []);
21
+ const renderEmpty = () => {
22
+ return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx(EmptyDataList, { ...emptyProps }) }) });
23
+ };
24
+ return /* @__PURE__ */ jsxs("div", {
25
+ className: cn(containerVariants(), className),
26
+ children: [
27
+ /* @__PURE__ */ jsx(PageHeaderResponsive, {
28
+ title,
29
+ subtitle: description,
30
+ breadcrumb,
31
+ actions: /* @__PURE__ */ jsxs(Fragment, { children: [actions, mdHref && /* @__PURE__ */ jsx(AiLinkButton, { href: mdHref })] })
32
+ }),
33
+ /* @__PURE__ */ jsx(FiltersToolbar, {
34
+ searchPlaceholder,
35
+ searchValue,
36
+ onSearchChange,
37
+ onSearchSubmit
38
+ }),
39
+ /* @__PURE__ */ jsxs("div", {
40
+ className: "space-y-2",
41
+ children: [data?.map((item, index) => /* @__PURE__ */ jsx("div", { children: renderItem({
42
+ item,
43
+ index
44
+ }) }, index)), !data?.length && (isLoading ? Array.from({ length: 10 }).map((_, index) => /* @__PURE__ */ jsx(Skeleton, { className: "h-20 w-full rounded-md" }, index)) : renderEmpty())]
45
+ }),
46
+ children
47
+ ]
48
+ });
49
+ }
50
+
51
+ //#endregion
52
+ export { ListPageTemplate };
53
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,26 @@
1
+ import { EmptyDataListProps } from "../../../organisms/EmptyDataList.types.js";
2
+ import * as React$1 from "react";
3
+
4
+ //#region src/components/templates/lists/ListPageTemplate/types.d.ts
5
+ interface ListPageTemplateProps<T = any> {
6
+ children?: React$1.ReactNode;
7
+ title: React$1.ReactNode;
8
+ description?: React$1.ReactNode;
9
+ breadcrumb?: React$1.ReactNode;
10
+ actions?: React$1.ReactNode;
11
+ className?: string;
12
+ searchPlaceholder?: string;
13
+ searchValue?: string;
14
+ onSearchChange?: (v: string) => void;
15
+ onSearchSubmit?: () => void;
16
+ isLoading?: boolean;
17
+ data: T[] | null;
18
+ renderItem: (args: {
19
+ item: T;
20
+ index: number;
21
+ }) => React$1.ReactNode;
22
+ emptyProps: EmptyDataListProps;
23
+ }
24
+ //#endregion
25
+ export { ListPageTemplateProps };
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ import "react";
@@ -0,0 +1,31 @@
1
+ //#region src/hooks/useListUrlState.d.ts
2
+ interface ListUrlState<TFilters extends Record<string, unknown> = Record<string, unknown>> {
3
+ q: string;
4
+ page: number;
5
+ limit: number;
6
+ sort?: string | null;
7
+ filters: TFilters;
8
+ }
9
+ declare function useListUrlState<TFilters extends Record<string, unknown> = Record<string, unknown>>({
10
+ defaults,
11
+ paramKeys,
12
+ replaceState
13
+ }: {
14
+ defaults: ListUrlState<TFilters>;
15
+ paramKeys?: {
16
+ q: string;
17
+ page: string;
18
+ limit: string;
19
+ sort: string;
20
+ filters: string;
21
+ };
22
+ replaceState?: boolean;
23
+ }): {
24
+ readonly state: ListUrlState<TFilters>;
25
+ readonly setState: (next: Partial<ListUrlState<TFilters>>) => void;
26
+ readonly setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | undefined | null) => void;
27
+ readonly clearFilters: () => void;
28
+ };
29
+ //#endregion
30
+ export { ListUrlState, useListUrlState };
31
+ //# sourceMappingURL=useListUrlState.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,90 @@
1
+ import * as React$1 from "react";
2
+
3
+ //#region src/hooks/useListUrlState.ts
4
+ function useListUrlState({ defaults, paramKeys = {
5
+ q: "q",
6
+ page: "page",
7
+ limit: "limit",
8
+ sort: "sort",
9
+ filters: "f"
10
+ }, replaceState = true }) {
11
+ const read = React$1.useCallback(() => {
12
+ if (typeof window === "undefined") return defaults;
13
+ const qs = new URL(window.location.href).searchParams;
14
+ const parseNum = (v, d) => {
15
+ const n = v ? Number(v) : NaN;
16
+ return Number.isFinite(n) && n > 0 ? n : d;
17
+ };
18
+ const filtersRaw = qs.get(paramKeys.filters);
19
+ let filters = defaults.filters;
20
+ if (filtersRaw) try {
21
+ filters = JSON.parse(filtersRaw);
22
+ } catch {
23
+ filters = defaults.filters;
24
+ }
25
+ return {
26
+ q: qs.get(paramKeys.q) ?? defaults.q,
27
+ page: parseNum(qs.get(paramKeys.page), defaults.page),
28
+ limit: parseNum(qs.get(paramKeys.limit), defaults.limit),
29
+ sort: qs.get(paramKeys.sort),
30
+ filters
31
+ };
32
+ }, [defaults, paramKeys]);
33
+ const [state, setState] = React$1.useState(read);
34
+ const write = React$1.useCallback((next) => {
35
+ if (typeof window === "undefined") return;
36
+ const url = new URL(window.location.href);
37
+ const qs = url.searchParams;
38
+ const merged = {
39
+ ...state,
40
+ ...next
41
+ };
42
+ const setOrDel = (key, value) => {
43
+ if (value == null || value === "" || value === "null") qs.delete(key);
44
+ else qs.set(key, value);
45
+ };
46
+ setOrDel(paramKeys.q, merged.q || null);
47
+ setOrDel(paramKeys.page, String(merged.page));
48
+ setOrDel(paramKeys.limit, String(merged.limit));
49
+ setOrDel(paramKeys.sort, merged.sort ?? null);
50
+ try {
51
+ const json = JSON.stringify(merged.filters ?? {});
52
+ setOrDel(paramKeys.filters, json === "{}" ? null : json);
53
+ } catch {}
54
+ const newUrl = `${url.pathname}?${qs.toString()}${url.hash}`;
55
+ if (replaceState) window.history.replaceState({}, "", newUrl);
56
+ else window.history.pushState({}, "", newUrl);
57
+ setState(merged);
58
+ }, [
59
+ state,
60
+ paramKeys,
61
+ replaceState
62
+ ]);
63
+ const setFilter = React$1.useCallback((key, value) => {
64
+ write({ filters: {
65
+ ...state.filters,
66
+ [key]: value
67
+ } });
68
+ }, [state.filters, write]);
69
+ const clearFilters = React$1.useCallback(() => {
70
+ write({
71
+ filters: {},
72
+ page: 1
73
+ });
74
+ }, [write]);
75
+ React$1.useEffect(() => {
76
+ const onPop = () => setState(read());
77
+ window.addEventListener("popstate", onPop);
78
+ return () => window.removeEventListener("popstate", onPop);
79
+ }, [read]);
80
+ return {
81
+ state,
82
+ setState: write,
83
+ setFilter,
84
+ clearFilters
85
+ };
86
+ }
87
+
88
+ //#endregion
89
+ export { useListUrlState };
90
+ //# sourceMappingURL=useListUrlState.js.map
@@ -0,0 +1 @@
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"}