@lssm/lib.design-system 1.11.1 → 1.41.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 (251) hide show
  1. package/README.md +6 -1
  2. package/dist/_virtual/rolldown_runtime.js +9 -4
  3. package/dist/components/agent/ApprovalQueue.js +1 -1
  4. package/dist/components/atoms/Button.js +4 -5
  5. package/dist/components/atoms/ButtonLink.js +2 -2
  6. package/dist/components/atoms/Cta.js +4 -5
  7. package/dist/components/atoms/EmptyState.js +4 -4
  8. package/dist/components/atoms/ErrorState.js +1 -2
  9. package/dist/components/atoms/Input.js +5 -6
  10. package/dist/components/atoms/Link.js +1 -2
  11. package/dist/components/atoms/Link.web.js +4 -2
  12. package/dist/components/atoms/LoaderCircular.js +1 -2
  13. package/dist/components/atoms/Stepper.js +4 -4
  14. package/dist/components/atoms/Textarea.js +8 -9
  15. package/dist/components/data-view/DataViewRenderer.js +2 -2
  16. package/dist/components/forms/ActionForm.js +18 -0
  17. package/dist/components/forms/FormOneByOneLayout.js +3 -3
  18. package/dist/components/forms/FormStepsLayout.js +3 -3
  19. package/dist/components/forms/ZodForm.js +1 -1
  20. package/dist/components/legal/atoms/LegalCallout.js +1 -1
  21. package/dist/components/legal/atoms/LegalHeading.js +1 -1
  22. package/dist/components/legal/atoms/LegalList.js +1 -1
  23. package/dist/components/legal/atoms/LegalSection.js +1 -1
  24. package/dist/components/legal/atoms/LegalText.js +1 -1
  25. package/dist/components/legal/molecules/ContactFields.js +8 -8
  26. package/dist/components/legal/molecules/LegalTOC.js +1 -1
  27. package/dist/components/legal/organisms/ContactForm.js +3 -3
  28. package/dist/components/legal/organisms/GDPRDataRequest.js +2 -2
  29. package/dist/components/legal/templates/ContactTemplate.js +3 -3
  30. package/dist/components/marketing/MarketingCard.js +20 -0
  31. package/dist/components/marketing/MarketingCardsSection.js +28 -0
  32. package/dist/components/marketing/MarketingComparisonSection.js +52 -0
  33. package/dist/components/marketing/MarketingIconCard.js +73 -0
  34. package/dist/components/marketing/MarketingSection.js +61 -0
  35. package/dist/components/marketing/MarketingStepCard.js +36 -0
  36. package/dist/components/molecules/AiLinkButton.js +4 -4
  37. package/dist/components/molecules/Breadcrumbs.js +2 -2
  38. package/dist/components/molecules/CommandPalette.js +3 -3
  39. package/dist/components/molecules/CommandSearchTrigger.js +3 -3
  40. package/dist/components/molecules/FiltersToolbar.js +5 -5
  41. package/dist/components/molecules/HoverPreview.js +2 -2
  42. package/dist/components/molecules/LangSwitchDropdown.js +2 -2
  43. package/dist/components/molecules/LoaderBlock.js +1 -2
  44. package/dist/components/molecules/OverviewCard.js +5 -4
  45. package/dist/components/molecules/SkeletonBlock/index.web.js +1 -2
  46. package/dist/components/molecules/SkeletonCircle/index.web.js +1 -2
  47. package/dist/components/molecules/SkeletonList/index.web.js +4 -5
  48. package/dist/components/organisms/AcademyLayout.js +2 -2
  49. package/dist/components/organisms/AppLayout.js +2 -2
  50. package/dist/components/organisms/EmptySearchResult.js +5 -5
  51. package/dist/components/organisms/FAQSection.js +2 -2
  52. package/dist/components/organisms/Footer.js +2 -4
  53. package/dist/components/organisms/MarketingHeader.js +5 -5
  54. package/dist/components/organisms/MarketingHeaderMobile.js +2 -2
  55. package/dist/components/organisms/MarketingLayout.js +1 -0
  56. package/dist/components/templates/lists/ListPageTemplate/index.web.js +2 -2
  57. package/dist/hooks/useListUrlState.js +7 -7
  58. package/dist/index.js +9 -1
  59. package/dist/lib/keyboard.js +1 -172
  60. package/dist/platform/useColorScheme.js +3 -3
  61. package/dist/platform/useReducedMotion.js +3 -3
  62. package/dist/platform/useResponsive.js +4 -4
  63. package/dist/renderers/form-contract.js +1 -1
  64. package/package.json +14 -304
  65. package/dist/components/agent/AgentMonitor.d.ts +0 -28
  66. package/dist/components/agent/ApprovalQueue.d.ts +0 -25
  67. package/dist/components/atoms/ActionButtons.d.ts +0 -25
  68. package/dist/components/atoms/Button.d.ts +0 -39
  69. package/dist/components/atoms/Button.mobile.d.ts +0 -21
  70. package/dist/components/atoms/Button.mobile.js +0 -34
  71. package/dist/components/atoms/ButtonLink.d.ts +0 -21
  72. package/dist/components/atoms/ButtonLink.mobile.d.ts +0 -19
  73. package/dist/components/atoms/ButtonLink.mobile.js +0 -41
  74. package/dist/components/atoms/Cta.d.ts +0 -20
  75. package/dist/components/atoms/Cta.mobile.d.ts +0 -14
  76. package/dist/components/atoms/Cta.mobile.js +0 -38
  77. package/dist/components/atoms/DataChips.d.ts +0 -37
  78. package/dist/components/atoms/EmptyState.d.ts +0 -7
  79. package/dist/components/atoms/ErrorState.d.ts +0 -28
  80. package/dist/components/atoms/ErrorState.mobile.d.ts +0 -28
  81. package/dist/components/atoms/ErrorState.mobile.js +0 -41
  82. package/dist/components/atoms/Input.d.ts +0 -39
  83. package/dist/components/atoms/Input.mobile.d.ts +0 -37
  84. package/dist/components/atoms/Input.mobile.js +0 -27
  85. package/dist/components/atoms/Link.d.ts +0 -11
  86. package/dist/components/atoms/Link.native.d.ts +0 -1
  87. package/dist/components/atoms/Link.native.js +0 -0
  88. package/dist/components/atoms/Link.web.d.ts +0 -23
  89. package/dist/components/atoms/LoaderCircular.d.ts +0 -22
  90. package/dist/components/atoms/LoaderCircular.mobile.d.ts +0 -17
  91. package/dist/components/atoms/LoaderCircular.mobile.js +0 -26
  92. package/dist/components/atoms/NavBrand.d.ts +0 -18
  93. package/dist/components/atoms/Stepper.d.ts +0 -7
  94. package/dist/components/atoms/Textarea.d.ts +0 -41
  95. package/dist/components/atoms/Textarea.mobile.d.ts +0 -37
  96. package/dist/components/atoms/Textarea.mobile.js +0 -27
  97. package/dist/components/data-view/DataViewDetail.d.ts +0 -21
  98. package/dist/components/data-view/DataViewList.d.ts +0 -23
  99. package/dist/components/data-view/DataViewRenderer.d.ts +0 -47
  100. package/dist/components/data-view/DataViewTable.d.ts +0 -25
  101. package/dist/components/data-view/utils.d.ts +0 -5
  102. package/dist/components/forms/FormCardLayout.d.ts +0 -22
  103. package/dist/components/forms/FormDialog.d.ts +0 -24
  104. package/dist/components/forms/FormLayout.d.ts +0 -29
  105. package/dist/components/forms/FormOneByOneLayout.d.ts +0 -25
  106. package/dist/components/forms/FormStepsLayout.d.ts +0 -26
  107. package/dist/components/forms/ZodForm.d.ts +0 -21
  108. package/dist/components/legal/atoms/DefinitionList.d.ts +0 -16
  109. package/dist/components/legal/atoms/KeyValueList.d.ts +0 -16
  110. package/dist/components/legal/atoms/LegalCallout.d.ts +0 -17
  111. package/dist/components/legal/atoms/LegalHeading.d.ts +0 -24
  112. package/dist/components/legal/atoms/LegalList.d.ts +0 -20
  113. package/dist/components/legal/atoms/LegalSection.d.ts +0 -21
  114. package/dist/components/legal/atoms/LegalText.d.ts +0 -24
  115. package/dist/components/legal/molecules/Consent.d.ts +0 -35
  116. package/dist/components/legal/molecules/ContactFields.d.ts +0 -24
  117. package/dist/components/legal/molecules/LegalMeta.d.ts +0 -14
  118. package/dist/components/legal/molecules/LegalTOC.d.ts +0 -30
  119. package/dist/components/legal/organisms/ContactForm.d.ts +0 -29
  120. package/dist/components/legal/organisms/GDPRDataRequest.d.ts +0 -18
  121. package/dist/components/legal/organisms/GDPRRights.d.ts +0 -13
  122. package/dist/components/legal/organisms/LegalPageLayout.d.ts +0 -23
  123. package/dist/components/legal/templates/ContactTemplate.d.ts +0 -23
  124. package/dist/components/legal/templates/CookiesTemplate.d.ts +0 -32
  125. package/dist/components/legal/templates/PrivacyTemplate.d.ts +0 -32
  126. package/dist/components/legal/templates/SalesTermsTemplate.d.ts +0 -27
  127. package/dist/components/legal/templates/TermsTemplate.d.ts +0 -27
  128. package/dist/components/molecules/AiLinkButton.d.ts +0 -15
  129. package/dist/components/molecules/Breadcrumbs.d.ts +0 -15
  130. package/dist/components/molecules/CommandPalette.d.ts +0 -26
  131. package/dist/components/molecules/CommandSearchTrigger.d.ts +0 -18
  132. package/dist/components/molecules/DropdownMenu.d.ts +0 -1
  133. package/dist/components/molecules/DropdownMenu.js +0 -0
  134. package/dist/components/molecules/EntityCard.d.ts +0 -37
  135. package/dist/components/molecules/FiltersToolbar.d.ts +0 -35
  136. package/dist/components/molecules/FiltersToolbar.mobile.d.ts +0 -18
  137. package/dist/components/molecules/FiltersToolbar.mobile.js +0 -48
  138. package/dist/components/molecules/HoverPreview.d.ts +0 -20
  139. package/dist/components/molecules/LangSwitch.d.ts +0 -22
  140. package/dist/components/molecules/LangSwitchDropdown.d.ts +0 -21
  141. package/dist/components/molecules/LoaderBlock.d.ts +0 -18
  142. package/dist/components/molecules/LoaderBlock.mobile.d.ts +0 -18
  143. package/dist/components/molecules/LoaderBlock.mobile.js +0 -25
  144. package/dist/components/molecules/MobileNavMenu.d.ts +0 -13
  145. package/dist/components/molecules/NavItemCard.d.ts +0 -14
  146. package/dist/components/molecules/NavMain.d.ts +0 -13
  147. package/dist/components/molecules/NavUser.d.ts +0 -17
  148. package/dist/components/molecules/OverviewCard.d.ts +0 -20
  149. package/dist/components/molecules/SkeletonBlock/index.d.ts +0 -3
  150. package/dist/components/molecules/SkeletonBlock/index.js +0 -3
  151. package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts +0 -12
  152. package/dist/components/molecules/SkeletonBlock/index.mobile.js +0 -18
  153. package/dist/components/molecules/SkeletonBlock/index.web.d.ts +0 -12
  154. package/dist/components/molecules/SkeletonBlock/types.d.ts +0 -9
  155. package/dist/components/molecules/SkeletonBlock/types.js +0 -0
  156. package/dist/components/molecules/SkeletonCircle/index.d.ts +0 -3
  157. package/dist/components/molecules/SkeletonCircle/index.js +0 -3
  158. package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts +0 -11
  159. package/dist/components/molecules/SkeletonCircle/index.mobile.js +0 -23
  160. package/dist/components/molecules/SkeletonCircle/index.web.d.ts +0 -11
  161. package/dist/components/molecules/SkeletonCircle/types.d.ts +0 -8
  162. package/dist/components/molecules/SkeletonCircle/types.js +0 -0
  163. package/dist/components/molecules/SkeletonList/index.d.ts +0 -3
  164. package/dist/components/molecules/SkeletonList/index.js +0 -3
  165. package/dist/components/molecules/SkeletonList/index.mobile.d.ts +0 -10
  166. package/dist/components/molecules/SkeletonList/index.mobile.js +0 -22
  167. package/dist/components/molecules/SkeletonList/index.web.d.ts +0 -10
  168. package/dist/components/molecules/SkeletonList/types.d.ts +0 -7
  169. package/dist/components/molecules/SkeletonList/types.js +0 -0
  170. package/dist/components/molecules/StatCard.d.ts +0 -36
  171. package/dist/components/molecules/StatusChip.d.ts +0 -26
  172. package/dist/components/molecules/hover-previews/Doc.d.ts +0 -27
  173. package/dist/components/molecules/hover-previews/Media.d.ts +0 -20
  174. package/dist/components/molecules/hover-previews/Simple.d.ts +0 -25
  175. package/dist/components/molecules/hover-previews/Stats.d.ts +0 -22
  176. package/dist/components/molecules/hover-previews/User.d.ts +0 -25
  177. package/dist/components/native/BottomTabs.mobile.d.ts +0 -20
  178. package/dist/components/native/BottomTabs.mobile.js +0 -27
  179. package/dist/components/native/FlatListScreen.mobile.d.ts +0 -43
  180. package/dist/components/native/FlatListScreen.mobile.js +0 -63
  181. package/dist/components/native/SheetMenu.mobile.d.ts +0 -17
  182. package/dist/components/native/SheetMenu.mobile.js +0 -21
  183. package/dist/components/organisms/AcademyLayout.d.ts +0 -29
  184. package/dist/components/organisms/AppHeader.d.ts +0 -18
  185. package/dist/components/organisms/AppHeader.mobile.d.ts +0 -21
  186. package/dist/components/organisms/AppHeader.mobile.js +0 -52
  187. package/dist/components/organisms/AppLayout.d.ts +0 -28
  188. package/dist/components/organisms/AppSidebar.d.ts +0 -23
  189. package/dist/components/organisms/AppSidebar.mobile.d.ts +0 -1
  190. package/dist/components/organisms/AppSidebar.mobile.js +0 -0
  191. package/dist/components/organisms/EmptyDataList.d.ts +0 -20
  192. package/dist/components/organisms/EmptyDataList.mobile.d.ts +0 -20
  193. package/dist/components/organisms/EmptyDataList.mobile.js +0 -27
  194. package/dist/components/organisms/EmptyDataList.types.d.ts +0 -19
  195. package/dist/components/organisms/EmptyDataList.types.js +0 -1
  196. package/dist/components/organisms/EmptySearchResult.d.ts +0 -24
  197. package/dist/components/organisms/FAQSection.d.ts +0 -31
  198. package/dist/components/organisms/FeatureCarousel.d.ts +0 -18
  199. package/dist/components/organisms/FeaturesSection.d.ts +0 -19
  200. package/dist/components/organisms/Footer.d.ts +0 -25
  201. package/dist/components/organisms/GridLayout.d.ts +0 -25
  202. package/dist/components/organisms/GridLayout.js +0 -28
  203. package/dist/components/organisms/Header.d.ts +0 -37
  204. package/dist/components/organisms/Header.mobile.d.ts +0 -24
  205. package/dist/components/organisms/Header.mobile.js +0 -18
  206. package/dist/components/organisms/HeroResponsive.d.ts +0 -14
  207. package/dist/components/organisms/HeroSection.d.ts +0 -29
  208. package/dist/components/organisms/ListCardPage.d.ts +0 -36
  209. package/dist/components/organisms/ListGridPage.d.ts +0 -36
  210. package/dist/components/organisms/ListPageResponsive.d.ts +0 -7
  211. package/dist/components/organisms/ListTablePage.d.ts +0 -33
  212. package/dist/components/organisms/MarketingHeader.d.ts +0 -36
  213. package/dist/components/organisms/MarketingHeaderDesktop.d.ts +0 -15
  214. package/dist/components/organisms/MarketingHeaderMobile.d.ts +0 -12
  215. package/dist/components/organisms/MarketingLayout.d.ts +0 -18
  216. package/dist/components/organisms/PageHeaderResponsive.d.ts +0 -8
  217. package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts +0 -22
  218. package/dist/components/organisms/PageHeaderResponsive.mobile.js +0 -32
  219. package/dist/components/organisms/PricingCarousel.d.ts +0 -24
  220. package/dist/components/organisms/PricingSection.d.ts +0 -18
  221. package/dist/components/organisms/TestimonialCarousel.d.ts +0 -19
  222. package/dist/components/templates/lists/ListPageTemplate/index.d.ts +0 -3
  223. package/dist/components/templates/lists/ListPageTemplate/index.js +0 -3
  224. package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts +0 -21
  225. package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +0 -32
  226. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +0 -22
  227. package/dist/components/templates/lists/ListPageTemplate/types.d.ts +0 -25
  228. package/dist/components/templates/lists/ListPageTemplate/types.js +0 -1
  229. package/dist/hooks/useListUrlState.d.ts +0 -30
  230. package/dist/index.d.ts +0 -108
  231. package/dist/lib/keyboard.d.ts +0 -14
  232. package/dist/lib/utils.d.ts +0 -6
  233. package/dist/platform/useColorScheme.d.ts +0 -5
  234. package/dist/platform/useColorScheme.mobile.d.ts +0 -5
  235. package/dist/platform/useColorScheme.mobile.js +0 -20
  236. package/dist/platform/useReducedMotion.d.ts +0 -4
  237. package/dist/platform/useReducedMotion.mobile.d.ts +0 -4
  238. package/dist/platform/useReducedMotion.mobile.js +0 -28
  239. package/dist/platform/useResponsive.d.ts +0 -23
  240. package/dist/platform/useResponsive.mobile.d.ts +0 -23
  241. package/dist/platform/useResponsive.mobile.js +0 -42
  242. package/dist/platform/withPlatformUI.d.ts +0 -28
  243. package/dist/renderers/form-contract.d.ts +0 -11
  244. package/dist/renderers/index.d.ts +0 -2
  245. package/dist/renderers/index.js +0 -3
  246. package/dist/theme/tokenBridge.d.ts +0 -19
  247. package/dist/theme/tokens.d.ts +0 -50
  248. package/dist/theme/variants.d.ts +0 -21
  249. package/dist/types/nativewind-env.d.ts +0 -1
  250. package/dist/types/navigation.d.ts +0 -44
  251. package/dist/types/navigation.js +0 -1
package/README.md CHANGED
@@ -72,7 +72,7 @@ export default function Layout({ children }) {
72
72
 
73
73
  ```tsx
74
74
  import { ZodForm } from '@lssm/lib.design-system/components/forms/ZodForm';
75
- import { z } from 'zod';
75
+ import * as z from "zod";
76
76
 
77
77
  const schema = z.object({
78
78
  name: z.string().min(1),
@@ -104,6 +104,11 @@ export function SignupForm() {
104
104
 
105
105
 
106
106
 
107
+
108
+
109
+
110
+
111
+
107
112
 
108
113
 
109
114
 
@@ -1,11 +1,12 @@
1
1
  //#region rolldown:runtime
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __esm = (fn, res) => function() {
7
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
8
- };
8
+ var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
9
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
9
10
  var __export = (all, symbols) => {
10
11
  let target = {};
11
12
  for (var name in all) {
@@ -33,6 +34,10 @@ var __copyProps = (to, from, except, desc) => {
33
34
  }
34
35
  return to;
35
36
  };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
38
+ value: mod,
39
+ enumerable: true
40
+ }) : target, mod));
36
41
  var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
42
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
38
43
  if (typeof require !== "undefined") return require.apply(this, arguments);
@@ -40,4 +45,4 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
40
45
  });
41
46
 
42
47
  //#endregion
43
- export { __esm, __export, __require, __toCommonJS };
48
+ export { __commonJSMin, __esmMin, __export, __require, __toCommonJS, __toESM };
@@ -37,7 +37,7 @@ function ApprovalQueue({ title = "Approvals", description = "Requests escalated
37
37
  ] }) }), /* @__PURE__ */ jsx(TableBody, { children: requests.map((request) => /* @__PURE__ */ jsxs(TableRow, { children: [
38
38
  /* @__PURE__ */ jsx(TableCell, {
39
39
  className: "font-medium",
40
- children: request.agent
40
+ children: request.agentId
41
41
  }),
42
42
  /* @__PURE__ */ jsx(TableCell, {
43
43
  className: "max-w-sm truncate",
@@ -1,17 +1,17 @@
1
1
  import "react";
2
- import { Button as Button$1 } from "@lssm/lib.ui-kit-web/ui/button";
2
+ import { Button } from "@lssm/lib.ui-kit-web/ui/button";
3
3
  import { Loader2 } from "lucide-react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/atoms/Button.tsx
7
- function Button({ children, loading, spinnerPlacement = "start", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled, ...rest }) {
7
+ function Button$1({ children, loading, spinnerPlacement = "start", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled, ...rest }) {
8
8
  const isDisabled = Boolean(disabled || loading);
9
9
  const content = !rest.asChild ? /* @__PURE__ */ jsxs(Fragment, { children: [
10
10
  loading && spinnerPlacement === "start" ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : null,
11
11
  children,
12
12
  loading && spinnerPlacement === "end" ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : null
13
13
  ] }) : children;
14
- return /* @__PURE__ */ jsx(Button$1, {
14
+ return /* @__PURE__ */ jsx(Button, {
15
15
  ...rest,
16
16
  className,
17
17
  disabled: isDisabled,
@@ -28,7 +28,6 @@ function Button({ children, loading, spinnerPlacement = "start", onPress, onPres
28
28
  children: content
29
29
  });
30
30
  }
31
- var Button_default = Button;
32
31
 
33
32
  //#endregion
34
- export { Button, Button_default as default };
33
+ export { Button$1 as Button };
@@ -2,13 +2,13 @@
2
2
 
3
3
  import { Button } from "./Button.js";
4
4
  import { Link } from "./Link.web.js";
5
- import * as React$1 from "react";
5
+ import * as React from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/components/atoms/ButtonLink.tsx
9
9
  function ButtonLink({ href, target, rel, replace, loading, disabled, children, onClick, ...btn }) {
10
10
  const blocked = Boolean(disabled || loading);
11
- const handleClick = React$1.useCallback((e) => {
11
+ const handleClick = React.useCallback((e) => {
12
12
  if (blocked) {
13
13
  e.preventDefault();
14
14
  e.stopPropagation();
@@ -1,6 +1,6 @@
1
1
  import { Button } from "./Button.js";
2
2
  import { ButtonLink } from "./ButtonLink.js";
3
- import * as React$1 from "react";
3
+ import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { cva } from "class-variance-authority";
6
6
 
@@ -24,7 +24,7 @@ cva("", {
24
24
  emphasis: "default"
25
25
  }
26
26
  });
27
- const Cta = React$1.forwardRef(({ capture, ctaName, as = "button", href, onClick, size = "touch", emphasis = "default", children, ...props }, ref) => {
27
+ const Cta = React.forwardRef(({ capture, ctaName, as = "button", href, onClick, size = "touch", emphasis = "default", children, ...props }, ref) => {
28
28
  const handleClick = (e) => {
29
29
  if (ctaName) try {
30
30
  if (capture) capture(ctaName);
@@ -40,14 +40,13 @@ const Cta = React$1.forwardRef(({ capture, ctaName, as = "button", href, onClick
40
40
  variant: uiVariant,
41
41
  ...props,
42
42
  href,
43
- ref,
43
+ onClick: handleClick,
44
44
  children
45
45
  });
46
46
  return /* @__PURE__ */ jsx(Button, {
47
47
  size: uiSize,
48
48
  variant: uiVariant,
49
- onPress: handleClick,
50
- ref,
49
+ onClick: handleClick,
51
50
  ...props,
52
51
  children
53
52
  });
@@ -2,12 +2,12 @@
2
2
 
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
- import { EmptyState as EmptyState$1 } from "@lssm/lib.ui-kit-web/ui/empty-state";
5
+ import { EmptyState } from "@lssm/lib.ui-kit-web/ui/empty-state";
6
6
 
7
7
  //#region src/components/atoms/EmptyState.tsx
8
- function EmptyState(props) {
9
- return /* @__PURE__ */ jsx(EmptyState$1, { ...props });
8
+ function EmptyState$1(props) {
9
+ return /* @__PURE__ */ jsx(EmptyState, { ...props });
10
10
  }
11
11
 
12
12
  //#endregion
13
- export { EmptyState };
13
+ export { EmptyState$1 as EmptyState };
@@ -34,7 +34,6 @@ function ErrorState({ title = "Something went wrong", description, icon, onRetry
34
34
  }) })]
35
35
  });
36
36
  }
37
- var ErrorState_default = ErrorState;
38
37
 
39
38
  //#endregion
40
- export { ErrorState, ErrorState_default as default };
39
+ export { ErrorState };
@@ -1,17 +1,17 @@
1
1
  import { mapKeyboardToWeb } from "../../lib/keyboard.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import { Input as Input$1 } from "@lssm/lib.ui-kit-web/ui/input";
4
+ import { Input } from "@lssm/lib.ui-kit-web/ui/input";
5
5
 
6
6
  //#region src/components/atoms/Input.tsx
7
- function Input({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, keyboard, ...rest }) {
7
+ function Input$1({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, keyboard, ...rest }) {
8
8
  const webKeyboard = mapKeyboardToWeb(keyboard);
9
- return /* @__PURE__ */ jsx(Input$1, {
9
+ return /* @__PURE__ */ jsx(Input, {
10
10
  ...rest,
11
11
  className,
12
12
  value,
13
13
  defaultValue,
14
- onChange: onChange ? (e) => onChange?.(e.target.value) : void 0,
14
+ onChange,
15
15
  onFocus,
16
16
  onBlur,
17
17
  placeholder,
@@ -22,7 +22,6 @@ function Input({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, place
22
22
  ...webKeyboard
23
23
  });
24
24
  }
25
- var Input_default = Input;
26
25
 
27
26
  //#endregion
28
- export { Input, Input_default as default };
27
+ export { Input$1 as Input };
@@ -8,7 +8,6 @@ function Link({ children, ...props }) {
8
8
  children
9
9
  });
10
10
  }
11
- var Link_default = Link;
12
11
 
13
12
  //#endregion
14
- export { Link, Link_default as default };
13
+ export { Link };
@@ -1,10 +1,12 @@
1
+ import { __toESM } from "../../_virtual/rolldown_runtime.js";
2
+ import { require_link } from "../../node_modules/next/link.js";
1
3
  import "react";
2
4
  import { jsx } from "react/jsx-runtime";
3
- import NextLink from "next/link";
4
5
 
5
6
  //#region src/components/atoms/Link.web.tsx
7
+ var import_link = /* @__PURE__ */ __toESM(require_link());
6
8
  function Link({ href, children, ...props }) {
7
- return /* @__PURE__ */ jsx(NextLink, {
9
+ return /* @__PURE__ */ jsx(import_link.default, {
8
10
  href,
9
11
  ...props,
10
12
  children
@@ -38,7 +38,6 @@ function LoaderCircular({ size, tone, label, className, ...props }) {
38
38
  }) : null]
39
39
  });
40
40
  }
41
- var LoaderCircular_default = LoaderCircular;
42
41
 
43
42
  //#endregion
44
- export { LoaderCircular, LoaderCircular_default as default };
43
+ export { LoaderCircular };
@@ -2,12 +2,12 @@
2
2
 
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
- import { Stepper as Stepper$1 } from "@lssm/lib.ui-kit-web/ui/stepper";
5
+ import { Stepper } from "@lssm/lib.ui-kit-web/ui/stepper";
6
6
 
7
7
  //#region src/components/atoms/Stepper.tsx
8
- function Stepper(props) {
9
- return /* @__PURE__ */ jsx(Stepper$1, { ...props });
8
+ function Stepper$1(props) {
9
+ return /* @__PURE__ */ jsx(Stepper, { ...props });
10
10
  }
11
11
 
12
12
  //#endregion
13
- export { Stepper };
13
+ export { Stepper$1 as Stepper };
@@ -1,18 +1,18 @@
1
1
  import { mapKeyboardToWeb } from "../../lib/keyboard.js";
2
- import * as React$1 from "react";
2
+ import * as React from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import { Textarea as Textarea$1 } from "@lssm/lib.ui-kit-web/ui/textarea";
4
+ import { Textarea } from "@lssm/lib.ui-kit-web/ui/textarea";
5
5
 
6
6
  //#region src/components/atoms/Textarea.tsx
7
- function Textarea({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, rows, keyboard, ...rest }) {
7
+ function Textarea$1({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, rows, keyboard, ...rest }) {
8
8
  const webKeyboard = mapKeyboardToWeb(keyboard);
9
- const handleChange = React$1.useCallback((e) => onChange?.(e.target.value), [onChange]);
10
- const handleKeyDown = React$1.useCallback((e) => {
9
+ const handleChange = React.useCallback((e) => onChange?.(e), [onChange]);
10
+ const handleKeyDown = React.useCallback((e) => {
11
11
  if (e.key === "Enter" && webKeyboard.type !== "search") {
12
- if (e.metaKey || e.ctrlKey) onSubmit?.();
12
+ if (e.metaKey || e.ctrlKey) onSubmit?.(e);
13
13
  }
14
14
  }, [onSubmit, webKeyboard.type]);
15
- return /* @__PURE__ */ jsx(Textarea$1, {
15
+ return /* @__PURE__ */ jsx(Textarea, {
16
16
  ...rest,
17
17
  className,
18
18
  value,
@@ -30,7 +30,6 @@ function Textarea({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, pl
30
30
  ...webKeyboard
31
31
  });
32
32
  }
33
- var Textarea_default = Textarea;
34
33
 
35
34
  //#endregion
36
- export { Textarea, Textarea_default as default };
35
+ export { Textarea$1 as Textarea };
@@ -4,13 +4,13 @@ import { FiltersToolbar } from "../molecules/FiltersToolbar.js";
4
4
  import { DataViewList } from "./DataViewList.js";
5
5
  import { DataViewTable } from "./DataViewTable.js";
6
6
  import { DataViewDetail } from "./DataViewDetail.js";
7
- import * as React$1 from "react";
7
+ import * as React from "react";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "@lssm/lib.ui-kit-web/ui/pagination";
10
10
 
11
11
  //#region src/components/data-view/DataViewRenderer.tsx
12
12
  function DataViewRenderer({ spec, items = [], item = null, className, renderActions, onSelect, onRowClick, headerActions, emptyState, footer, search, onSearchChange, filters, onFilterChange, pagination, onPageChange }) {
13
- const viewContent = React$1.useMemo(() => {
13
+ const viewContent = React.useMemo(() => {
14
14
  switch (spec.view.kind) {
15
15
  case "list": return /* @__PURE__ */ jsx(DataViewList, {
16
16
  spec,
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
6
+
7
+ //#region src/components/forms/ActionForm.tsx
8
+ function ActionForm({ action, children, className, ...rest }) {
9
+ return /* @__PURE__ */ jsx("form", {
10
+ action,
11
+ className: cn("space-y-3", className),
12
+ ...rest,
13
+ children
14
+ });
15
+ }
16
+
17
+ //#endregion
18
+ export { ActionForm };
@@ -1,12 +1,12 @@
1
1
  import { Button } from "../atoms/Button.js";
2
- import * as React$1 from "react";
2
+ import * as React from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
5
5
 
6
6
  //#region src/components/forms/FormOneByOneLayout.tsx
7
7
  function FormOneByOneLayout({ fields, initialKey, onComplete, className }) {
8
- const indexByKey = React$1.useMemo(() => Object.fromEntries(fields.map((f, i) => [f.key, i])), [fields]);
9
- const [idx, setIdx] = React$1.useState(() => {
8
+ const indexByKey = React.useMemo(() => Object.fromEntries(fields.map((f, i) => [f.key, i])), [fields]);
9
+ const [idx, setIdx] = React.useState(() => {
10
10
  if (initialKey && initialKey in indexByKey) return indexByKey[initialKey] || 0;
11
11
  return 0;
12
12
  });
@@ -1,13 +1,13 @@
1
1
  import { Button } from "../atoms/Button.js";
2
- import * as React$1 from "react";
2
+ import * as React from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
5
5
  import { Separator } from "@lssm/lib.ui-kit-web/ui/separator";
6
6
 
7
7
  //#region src/components/forms/FormStepsLayout.tsx
8
8
  function FormStepsLayout({ steps, initialStepKey, onFinish, canNext, className }) {
9
- const indexByKey = React$1.useMemo(() => Object.fromEntries(steps.map((s, i) => [s.key, i])), [steps]);
10
- const [idx, setIdx] = React$1.useState(() => {
9
+ const indexByKey = React.useMemo(() => Object.fromEntries(steps.map((s, i) => [s.key, i])), [steps]);
10
+ const [idx, setIdx] = React.useState(() => {
11
11
  if (initialStepKey && initialStepKey in indexByKey) return indexByKey[initialStepKey] || 0;
12
12
  return 0;
13
13
  });
@@ -3,7 +3,7 @@
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { Form, useForm, zodResolver } from "@lssm/lib.ui-kit-web/ui/form";
6
- import { z } from "zod";
6
+ import "zod";
7
7
 
8
8
  //#region src/components/forms/ZodForm.tsx
9
9
  function ZodForm({ schema, defaultValues, onSubmit, children }) {
@@ -20,4 +20,4 @@ function LegalCallout({ tone, className, ...props }) {
20
20
  }
21
21
 
22
22
  //#endregion
23
- export { LegalCallout, calloutVariants };
23
+ export { LegalCallout };
@@ -42,4 +42,4 @@ function LegalHeading({ as, level, tone, spacing, className, ...props }) {
42
42
  }
43
43
 
44
44
  //#endregion
45
- export { LegalHeading, headingVariants };
45
+ export { LegalHeading };
@@ -34,4 +34,4 @@ function LegalList({ type, spacing, className, children, ...props }) {
34
34
  }
35
35
 
36
36
  //#endregion
37
- export { LegalList, listVariants };
37
+ export { LegalList };
@@ -40,4 +40,4 @@ function LegalSection({ spacing, border, tone, className, ...props }) {
40
40
  }
41
41
 
42
42
  //#endregion
43
- export { LegalSection, sectionVariants };
43
+ export { LegalSection };
@@ -41,4 +41,4 @@ function LegalText({ as = "p", tone, size, spacing, className, ...props }) {
41
41
  }
42
42
 
43
43
  //#endregion
44
- export { LegalText, textVariants };
44
+ export { LegalText };
@@ -13,9 +13,9 @@ function ContactFields({ value, onChange, disabled }) {
13
13
  className: "space-y-2",
14
14
  children: [/* @__PURE__ */ jsx(Label, { children: "Nom" }), /* @__PURE__ */ jsx(Input, {
15
15
  value: value.name,
16
- onChange: (v) => onChange({
16
+ onChange: (e) => onChange({
17
17
  ...value,
18
- name: v
18
+ name: e.target.value
19
19
  }),
20
20
  disabled
21
21
  })]
@@ -25,9 +25,9 @@ function ContactFields({ value, onChange, disabled }) {
25
25
  children: [/* @__PURE__ */ jsx(Label, { children: "Email" }), /* @__PURE__ */ jsx(Input, {
26
26
  type: "email",
27
27
  value: value.email,
28
- onChange: (v) => onChange({
28
+ onChange: (e) => onChange({
29
29
  ...value,
30
- email: v
30
+ email: e.target.value
31
31
  }),
32
32
  disabled
33
33
  })]
@@ -36,9 +36,9 @@ function ContactFields({ value, onChange, disabled }) {
36
36
  className: "space-y-2",
37
37
  children: [/* @__PURE__ */ jsx(Label, { children: "Objet" }), /* @__PURE__ */ jsx(Input, {
38
38
  value: value.subject,
39
- onChange: (v) => onChange({
39
+ onChange: (e) => onChange({
40
40
  ...value,
41
- subject: v
41
+ subject: e.target.value
42
42
  }),
43
43
  disabled
44
44
  })]
@@ -47,9 +47,9 @@ function ContactFields({ value, onChange, disabled }) {
47
47
  className: "space-y-2",
48
48
  children: [/* @__PURE__ */ jsx(Label, { children: "Message" }), /* @__PURE__ */ jsx(Textarea, {
49
49
  value: value.message,
50
- onChange: (v) => onChange({
50
+ onChange: (e) => onChange({
51
51
  ...value,
52
- message: v
52
+ message: e.target.value
53
53
  }),
54
54
  disabled,
55
55
  rows: 6
@@ -48,4 +48,4 @@ function LegalTOC({ items, activeHref, onNavigate, variant, size, className, ...
48
48
  }
49
49
 
50
50
  //#endregion
51
- export { LegalTOC, tocVariants };
51
+ export { LegalTOC };
@@ -1,6 +1,6 @@
1
1
  import { Button } from "../../atoms/Button.js";
2
2
  import { ContactFields } from "../molecules/ContactFields.js";
3
- import * as React$1 from "react";
3
+ import * as React from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/legal/organisms/ContactForm.tsx
@@ -10,8 +10,8 @@ function ContactForm({ labels = { submit: "Envoyer" }, initialValue = {
10
10
  subject: "",
11
11
  message: ""
12
12
  }, disabled, onSubmit }) {
13
- const [value, setValue] = React$1.useState(initialValue);
14
- const [loading, setLoading] = React$1.useState(false);
13
+ const [value, setValue] = React.useState(initialValue);
14
+ const [loading, setLoading] = React.useState(false);
15
15
  const handleSubmit = async (e) => {
16
16
  e.preventDefault();
17
17
  if (!onSubmit) return;
@@ -2,7 +2,7 @@ import { Button } from "../../atoms/Button.js";
2
2
  import { LegalHeading } from "../atoms/LegalHeading.js";
3
3
  import { LegalText } from "../atoms/LegalText.js";
4
4
  import { LegalSection } from "../atoms/LegalSection.js";
5
- import * as React$1 from "react";
5
+ import * as React from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/components/legal/organisms/GDPRDataRequest.tsx
@@ -10,7 +10,7 @@ function GDPRDataRequest({ onExport, onDelete, labels = {
10
10
  export: "Demander une copie",
11
11
  delete: "Demander la suppression"
12
12
  } }) {
13
- const [loading, setLoading] = React$1.useState(null);
13
+ const [loading, setLoading] = React.useState(null);
14
14
  const handle = async (kind) => {
15
15
  const fn = kind === "export" ? onExport : onDelete;
16
16
  if (!fn) return;
@@ -1,18 +1,18 @@
1
1
  import { Button } from "../../atoms/Button.js";
2
2
  import { ContactFields } from "../molecules/ContactFields.js";
3
3
  import { LegalPageLayout } from "../organisms/LegalPageLayout.js";
4
- import * as React$1 from "react";
4
+ import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
 
7
7
  //#region src/components/legal/templates/ContactTemplate.tsx
8
8
  function ContactTemplate({ title = "Contact", meta, onSubmit }) {
9
- const [value, setValue] = React$1.useState({
9
+ const [value, setValue] = React.useState({
10
10
  name: "",
11
11
  email: "",
12
12
  subject: "",
13
13
  message: ""
14
14
  });
15
- const [loading, setLoading] = React$1.useState(false);
15
+ const [loading, setLoading] = React.useState(false);
16
16
  const handleSubmit = async (e) => {
17
17
  e.preventDefault();
18
18
  if (!onSubmit) return;
@@ -0,0 +1,20 @@
1
+ import "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
4
+ import { Card, CardContent as CardContent$1, CardDescription, CardHeader as CardHeader$1, CardTitle as CardTitle$1 } from "@lssm/lib.ui-kit-web/ui/card";
5
+
6
+ //#region src/components/marketing/MarketingCard.tsx
7
+ const toneClasses = {
8
+ default: "border-border/60 bg-card/90",
9
+ muted: "border-border/50 bg-muted/50",
10
+ elevated: "border-border/50 bg-card shadow-lg shadow-black/5"
11
+ };
12
+ function MarketingCard({ tone = "default", className, ...props }) {
13
+ return /* @__PURE__ */ jsx(Card, {
14
+ className: cn("backdrop-blur transition-shadow", toneClasses[tone], className),
15
+ ...props
16
+ });
17
+ }
18
+
19
+ //#endregion
20
+ export { CardContent$1 as CardContent, CardDescription, CardHeader$1 as CardHeader, CardTitle$1 as CardTitle, MarketingCard };
@@ -0,0 +1,28 @@
1
+ import { MarketingSection } from "./MarketingSection.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { cva } from "class-variance-authority";
5
+ import { cn } from "@lssm/lib.ui-kit-web/ui/utils";
6
+
7
+ //#region src/components/marketing/MarketingCardsSection.tsx
8
+ const gridVariants = cva("grid gap-6", {
9
+ variants: { columns: {
10
+ 1: "grid-cols-1",
11
+ 2: "grid-cols-1 md:grid-cols-2",
12
+ 3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3",
13
+ 4: "grid-cols-1 md:grid-cols-2 lg:grid-cols-4"
14
+ } },
15
+ defaultVariants: { columns: 3 }
16
+ });
17
+ function MarketingCardsSection({ children, columns, gridClassName, ...sectionProps }) {
18
+ return /* @__PURE__ */ jsx(MarketingSection, {
19
+ ...sectionProps,
20
+ children: /* @__PURE__ */ jsx("div", {
21
+ className: cn(gridVariants({ columns }), gridClassName),
22
+ children
23
+ })
24
+ });
25
+ }
26
+
27
+ //#endregion
28
+ export { MarketingCardsSection };
@@ -0,0 +1,52 @@
1
+ import { MarketingSection } from "./MarketingSection.js";
2
+ import "react";
3
+ import { CheckCircle } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { HStack, VStack } from "@lssm/lib.ui-kit-web/ui/stack";
6
+ import { Muted, Small } from "@lssm/lib.ui-kit-web/ui/typography";
7
+
8
+ //#region src/components/marketing/MarketingComparisonSection.tsx
9
+ function MarketingComparisonSection({ eyebrow, title, subtitle, left, right, tone = "default", padding = "comfortable" }) {
10
+ return /* @__PURE__ */ jsx(MarketingSection, {
11
+ tone,
12
+ padding,
13
+ eyebrow,
14
+ title,
15
+ subtitle,
16
+ align: "center",
17
+ children: /* @__PURE__ */ jsx("div", {
18
+ className: "grid gap-8 md:grid-cols-2",
19
+ children: [left, right].map((col) => /* @__PURE__ */ jsxs(VStack, {
20
+ gap: "md",
21
+ align: "start",
22
+ className: "border-border/50 bg-card/50 rounded-xl border p-6",
23
+ children: [/* @__PURE__ */ jsx(Small, {
24
+ className: "text-sm font-semibold",
25
+ children: col.title
26
+ }), /* @__PURE__ */ jsx(VStack, {
27
+ as: "div",
28
+ role: "list",
29
+ gap: "sm",
30
+ align: "start",
31
+ className: "list-none p-0",
32
+ children: col.items.map((item, idx) => /* @__PURE__ */ jsxs(HStack, {
33
+ as: "div",
34
+ role: "listitem",
35
+ gap: "sm",
36
+ align: "start",
37
+ children: [/* @__PURE__ */ jsx(CheckCircle, {
38
+ className: "mt-0.5 text-violet-400",
39
+ size: 18
40
+ }), /* @__PURE__ */ jsx(Muted, {
41
+ className: "text-sm leading-relaxed",
42
+ children: item
43
+ })]
44
+ }, idx))
45
+ })]
46
+ }, col.title))
47
+ })
48
+ });
49
+ }
50
+
51
+ //#endregion
52
+ export { MarketingComparisonSection };