@contractspec/lib.design-system 1.46.2 → 1.48.0

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 (163) hide show
  1. package/dist/components/agent/AgentMonitor.d.ts +2 -2
  2. package/dist/components/agent/ApprovalQueue.d.ts +2 -2
  3. package/dist/components/atoms/ActionButtons.d.ts +7 -7
  4. package/dist/components/atoms/ButtonLink.d.ts +2 -2
  5. package/dist/components/atoms/Cta.d.ts +1 -1
  6. package/dist/components/atoms/Cta.js.map +1 -1
  7. package/dist/components/atoms/DataChips.d.ts +5 -5
  8. package/dist/components/atoms/EmptyState.d.ts +2 -2
  9. package/dist/components/atoms/ErrorState.d.ts +2 -2
  10. package/dist/components/atoms/Input.d.ts +2 -2
  11. package/dist/components/atoms/Link.d.ts +2 -2
  12. package/dist/components/atoms/LoaderCircular.d.ts +2 -2
  13. package/dist/components/atoms/NavBrand.d.ts +2 -2
  14. package/dist/components/atoms/Stepper.d.ts +2 -2
  15. package/dist/components/atoms/Textarea.d.ts +2 -2
  16. package/dist/components/data-view/DataViewDetail.d.ts +2 -2
  17. package/dist/components/data-view/DataViewList.d.ts +2 -2
  18. package/dist/components/data-view/DataViewRenderer.d.ts +2 -2
  19. package/dist/components/data-view/DataViewRenderer.d.ts.map +1 -1
  20. package/dist/components/data-view/DataViewRenderer.js.map +1 -1
  21. package/dist/components/data-view/DataViewTable.d.ts +2 -2
  22. package/dist/components/data-view/utils.js.map +1 -1
  23. package/dist/components/forms/ActionForm.d.ts +2 -2
  24. package/dist/components/forms/FormCardLayout.d.ts +2 -2
  25. package/dist/components/forms/FormDialog.d.ts +2 -2
  26. package/dist/components/forms/FormLayout.d.ts +4 -4
  27. package/dist/components/forms/FormOneByOneLayout.d.ts +2 -2
  28. package/dist/components/forms/FormStepsLayout.d.ts +2 -2
  29. package/dist/components/forms/ZodForm.d.ts +2 -2
  30. package/dist/components/legal/atoms/DefinitionList.d.ts +2 -2
  31. package/dist/components/legal/atoms/KeyValueList.d.ts +2 -2
  32. package/dist/components/legal/atoms/LegalCallout.d.ts +2 -2
  33. package/dist/components/legal/atoms/LegalHeading.d.ts +2 -2
  34. package/dist/components/legal/atoms/LegalList.d.ts +2 -2
  35. package/dist/components/legal/atoms/LegalSection.d.ts +2 -2
  36. package/dist/components/legal/atoms/LegalText.d.ts +2 -2
  37. package/dist/components/legal/molecules/Consent.d.ts +3 -3
  38. package/dist/components/legal/molecules/ContactFields.d.ts +2 -2
  39. package/dist/components/legal/molecules/LegalMeta.d.ts +2 -2
  40. package/dist/components/legal/molecules/LegalTOC.d.ts +2 -2
  41. package/dist/components/legal/organisms/ContactForm.d.ts +2 -2
  42. package/dist/components/legal/organisms/GDPRDataRequest.d.ts +2 -2
  43. package/dist/components/legal/organisms/GDPRRights.d.ts +2 -2
  44. package/dist/components/legal/organisms/LegalPageLayout.d.ts +2 -2
  45. package/dist/components/legal/templates/ContactTemplate.d.ts +2 -2
  46. package/dist/components/legal/templates/ContactTemplate.js +0 -1
  47. package/dist/components/legal/templates/ContactTemplate.js.map +1 -1
  48. package/dist/components/legal/templates/CookiesTemplate.d.ts +2 -2
  49. package/dist/components/legal/templates/PrivacyTemplate.d.ts +2 -2
  50. package/dist/components/legal/templates/SalesTermsTemplate.d.ts +2 -2
  51. package/dist/components/legal/templates/TermsTemplate.d.ts +2 -2
  52. package/dist/components/marketing/MarketingCard.d.ts +2 -2
  53. package/dist/components/marketing/MarketingCard.js.map +1 -1
  54. package/dist/components/marketing/MarketingCardsSection.d.ts +2 -2
  55. package/dist/components/marketing/MarketingComparisonSection.d.ts +2 -2
  56. package/dist/components/marketing/MarketingIconCard.d.ts +2 -2
  57. package/dist/components/marketing/MarketingSection.d.ts +2 -2
  58. package/dist/components/marketing/MarketingStepCard.d.ts +2 -2
  59. package/dist/components/molecules/AiLinkButton.d.ts +2 -2
  60. package/dist/components/molecules/Breadcrumbs.d.ts +2 -2
  61. package/dist/components/molecules/CodeBlock/CodeBlock.d.ts +16 -0
  62. package/dist/components/molecules/CodeBlock/CodeBlock.d.ts.map +1 -0
  63. package/dist/components/molecules/CodeBlock/CodeBlock.js +54 -0
  64. package/dist/components/molecules/CodeBlock/CodeBlock.js.map +1 -0
  65. package/dist/components/molecules/CodeBlock/index.d.ts +2 -0
  66. package/dist/components/molecules/CodeBlock/types.d.ts +19 -0
  67. package/dist/components/molecules/CodeBlock/types.d.ts.map +1 -0
  68. package/dist/components/molecules/CommandPalette.d.ts +2 -2
  69. package/dist/components/molecules/CommandSearchTrigger.d.ts +2 -2
  70. package/dist/components/molecules/CommandTabs/CommandTabs.d.ts +13 -0
  71. package/dist/components/molecules/CommandTabs/CommandTabs.d.ts.map +1 -0
  72. package/dist/components/molecules/CommandTabs/CommandTabs.js +68 -0
  73. package/dist/components/molecules/CommandTabs/CommandTabs.js.map +1 -0
  74. package/dist/components/molecules/CommandTabs/index.d.ts +2 -0
  75. package/dist/components/molecules/CommandTabs/types.d.ts +19 -0
  76. package/dist/components/molecules/CommandTabs/types.d.ts.map +1 -0
  77. package/dist/components/molecules/CopyButton/CopyButton.d.ts +13 -0
  78. package/dist/components/molecules/CopyButton/CopyButton.d.ts.map +1 -0
  79. package/dist/components/molecules/CopyButton/CopyButton.js +42 -0
  80. package/dist/components/molecules/CopyButton/CopyButton.js.map +1 -0
  81. package/dist/components/molecules/CopyButton/index.d.ts +2 -0
  82. package/dist/components/molecules/CopyButton/types.d.ts +12 -0
  83. package/dist/components/molecules/CopyButton/types.d.ts.map +1 -0
  84. package/dist/components/molecules/EntityCard.d.ts +3 -3
  85. package/dist/components/molecules/EntityCard.js.map +1 -1
  86. package/dist/components/molecules/FiltersToolbar.d.ts +2 -2
  87. package/dist/components/molecules/FiltersToolbar.js +0 -1
  88. package/dist/components/molecules/FiltersToolbar.js.map +1 -1
  89. package/dist/components/molecules/HoverPreview.d.ts +2 -2
  90. package/dist/components/molecules/InstallCommand/InstallCommand.d.ts +27 -0
  91. package/dist/components/molecules/InstallCommand/InstallCommand.d.ts.map +1 -0
  92. package/dist/components/molecules/InstallCommand/InstallCommand.js +68 -0
  93. package/dist/components/molecules/InstallCommand/InstallCommand.js.map +1 -0
  94. package/dist/components/molecules/InstallCommand/index.d.ts +2 -0
  95. package/dist/components/molecules/InstallCommand/types.d.ts +17 -0
  96. package/dist/components/molecules/InstallCommand/types.d.ts.map +1 -0
  97. package/dist/components/molecules/LangSwitch.d.ts +2 -2
  98. package/dist/components/molecules/LoaderBlock.d.ts +2 -2
  99. package/dist/components/molecules/NavMain.d.ts +2 -2
  100. package/dist/components/molecules/NavUser.d.ts +2 -2
  101. package/dist/components/molecules/OverviewCard.d.ts +2 -2
  102. package/dist/components/molecules/SkeletonBlock/index.web.d.ts +2 -2
  103. package/dist/components/molecules/SkeletonCircle/index.web.d.ts +2 -2
  104. package/dist/components/molecules/SkeletonList/index.web.d.ts +2 -2
  105. package/dist/components/molecules/StatCard.d.ts +4 -4
  106. package/dist/components/molecules/StatusChip.d.ts +2 -2
  107. package/dist/components/molecules/hover-previews/Doc.d.ts +2 -2
  108. package/dist/components/molecules/hover-previews/Media.d.ts +2 -2
  109. package/dist/components/molecules/hover-previews/Simple.d.ts +2 -2
  110. package/dist/components/molecules/hover-previews/Stats.d.ts +2 -2
  111. package/dist/components/molecules/hover-previews/User.d.ts +2 -2
  112. package/dist/components/organisms/AcademyLayout.d.ts +2 -2
  113. package/dist/components/organisms/AppHeader.d.ts +2 -2
  114. package/dist/components/organisms/AppLayout.d.ts +2 -2
  115. package/dist/components/organisms/AppSidebar.d.ts +2 -2
  116. package/dist/components/organisms/EmptyDataList.d.ts +2 -2
  117. package/dist/components/organisms/EmptySearchResult.d.ts +2 -2
  118. package/dist/components/organisms/FAQSection.d.ts +2 -2
  119. package/dist/components/organisms/FeatureCarousel.d.ts +2 -2
  120. package/dist/components/organisms/FeaturesSection.d.ts +2 -2
  121. package/dist/components/organisms/Footer.d.ts +2 -2
  122. package/dist/components/organisms/Header.d.ts +4 -4
  123. package/dist/components/organisms/HeroResponsive.d.ts +2 -2
  124. package/dist/components/organisms/HeroSection.d.ts +2 -2
  125. package/dist/components/organisms/ListCardPage.d.ts +2 -2
  126. package/dist/components/organisms/ListGridPage.d.ts +2 -2
  127. package/dist/components/organisms/ListPageResponsive.d.ts +2 -2
  128. package/dist/components/organisms/ListTablePage.d.ts +2 -2
  129. package/dist/components/organisms/MarketingHeader.d.ts +2 -2
  130. package/dist/components/organisms/MarketingHeader.js +1 -1
  131. package/dist/components/organisms/MarketingHeader.js.map +1 -1
  132. package/dist/components/organisms/MarketingHeaderDesktop.d.ts +2 -2
  133. package/dist/components/organisms/MarketingHeaderMobile.d.ts +2 -2
  134. package/dist/components/organisms/MarketingLayout.d.ts +2 -2
  135. package/dist/components/organisms/PageHeaderResponsive.d.ts +2 -2
  136. package/dist/components/organisms/PricingCarousel.d.ts +2 -2
  137. package/dist/components/organisms/PricingSection.d.ts +2 -2
  138. package/dist/components/organisms/TestimonialCarousel.d.ts +2 -2
  139. package/dist/components/providers/PackageManagerProvider.d.ts +26 -0
  140. package/dist/components/providers/PackageManagerProvider.d.ts.map +1 -0
  141. package/dist/components/providers/PackageManagerProvider.js +50 -0
  142. package/dist/components/providers/PackageManagerProvider.js.map +1 -0
  143. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +2 -2
  144. package/dist/components/templates/lists/ListPageTemplate/index.web.js +0 -1
  145. package/dist/components/templates/lists/ListPageTemplate/index.web.js.map +1 -1
  146. package/dist/hooks/useListUrlState.js.map +1 -1
  147. package/dist/index.d.ts +14 -1
  148. package/dist/index.js +6 -7
  149. package/dist/index.js.map +1 -1
  150. package/dist/lib/keyboard.js.map +1 -1
  151. package/dist/platform/useResponsive.js.map +1 -1
  152. package/dist/platform/withPlatformUI.js.map +1 -1
  153. package/dist/renderers/form-contract.d.ts +2 -2
  154. package/dist/theme/tokens.js.map +1 -1
  155. package/dist/theme/variants.d.ts +1 -1
  156. package/package.json +16 -13
  157. package/dist/components/molecules/SkeletonBlock/index.js +0 -1
  158. package/dist/components/molecules/SkeletonCircle/index.js +0 -1
  159. package/dist/components/molecules/SkeletonList/index.js +0 -1
  160. package/dist/components/templates/lists/ListPageTemplate/index.js +0 -2
  161. package/dist/components/templates/lists/ListPageTemplate/types.js +0 -1
  162. package/dist/renderers/index.js +0 -1
  163. package/dist/types/navigation.js +0 -1
@@ -0,0 +1,68 @@
1
+ 'use client';
2
+
3
+ import { cn } from "../../../lib/utils.js";
4
+ import { CopyButton } from "../CopyButton/CopyButton.js";
5
+ import { usePackageManager } from "../../providers/PackageManagerProvider.js";
6
+ import { useEffect, useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/components/molecules/CommandTabs/CommandTabs.tsx
10
+ const STORAGE_KEY = "package-manager-preference";
11
+ function CommandTabs({ commands, initialPreference = "bun", className, ...props }) {
12
+ const context = usePackageManager();
13
+ const [localSelected, setLocalSelected] = useState(() => {
14
+ return initialPreference;
15
+ });
16
+ const selected = context?.preference ?? localSelected;
17
+ const setSelected = context?.setPreference ?? setLocalSelected;
18
+ useEffect(() => {
19
+ if (context) return;
20
+ try {
21
+ const saved = localStorage.getItem(STORAGE_KEY);
22
+ if (saved && commands[saved]) setLocalSelected(saved);
23
+ } catch {}
24
+ }, [commands, context]);
25
+ const handleSelect = (pm) => {
26
+ setSelected(pm);
27
+ if (!context) try {
28
+ localStorage.setItem(STORAGE_KEY, pm);
29
+ } catch {}
30
+ };
31
+ const packageManagers = Object.keys(commands);
32
+ if (packageManagers.length === 0) return null;
33
+ const effectiveSelected = commands[selected] ? selected : packageManagers[0];
34
+ if (!effectiveSelected) return null;
35
+ const currentCommand = commands[effectiveSelected];
36
+ if (!currentCommand) return null;
37
+ return /* @__PURE__ */ jsxs("div", {
38
+ className: cn("relative rounded-lg border border-zinc-800 bg-zinc-950", className),
39
+ ...props,
40
+ children: [/* @__PURE__ */ jsx("div", {
41
+ className: "flex items-center border-b border-zinc-800 bg-zinc-900/50 px-2 pt-2",
42
+ role: "tablist",
43
+ "aria-label": "Package manager selection",
44
+ children: packageManagers.map((pm) => /* @__PURE__ */ jsx("button", {
45
+ type: "button",
46
+ role: "tab",
47
+ "aria-selected": effectiveSelected === pm,
48
+ onClick: () => handleSelect(pm),
49
+ className: cn("rounded-t-md border-t border-r border-l border-transparent px-4 py-2 text-xs font-medium text-zinc-400", "transition-colors hover:text-zinc-100", "focus:ring-2 focus:ring-zinc-600 focus:ring-offset-1 focus:ring-offset-zinc-900 focus:outline-none", effectiveSelected === pm && "border-zinc-800 bg-zinc-950 text-zinc-100"),
50
+ children: pm
51
+ }, pm))
52
+ }), /* @__PURE__ */ jsxs("div", {
53
+ className: "relative p-4",
54
+ role: "tabpanel",
55
+ children: [/* @__PURE__ */ jsx(CopyButton, {
56
+ value: currentCommand,
57
+ className: "absolute top-3 right-3"
58
+ }), /* @__PURE__ */ jsx("pre", {
59
+ className: "overflow-x-auto pr-10 font-mono text-[13px] leading-6 text-white",
60
+ children: /* @__PURE__ */ jsx("code", { children: currentCommand })
61
+ })]
62
+ })]
63
+ });
64
+ }
65
+
66
+ //#endregion
67
+ export { CommandTabs };
68
+ //# sourceMappingURL=CommandTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandTabs.js","names":[],"sources":["../../../../src/components/molecules/CommandTabs/CommandTabs.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '../../../lib/utils';\nimport { useEffect, useState } from 'react';\nimport { CopyButton } from '../CopyButton';\nimport { usePackageManager } from '../../providers/PackageManagerProvider';\nimport type { CommandTabsProps, PackageManager } from './types';\n\nconst STORAGE_KEY = 'package-manager-preference';\n\nexport function CommandTabs({\n commands,\n initialPreference = 'bun',\n className,\n ...props\n}: CommandTabsProps) {\n const context = usePackageManager();\n\n const [localSelected, setLocalSelected] = useState<PackageManager>(() => {\n return initialPreference;\n });\n\n // Use context if available, otherwise use local state\n const selected = context?.preference ?? localSelected;\n const setSelected = context?.setPreference ?? setLocalSelected;\n\n // Hydrate preference from localStorage (only if not using context)\n useEffect(() => {\n if (context) return; // Context handles its own persistence\n\n try {\n const saved = localStorage.getItem(STORAGE_KEY) as PackageManager | null;\n if (saved && commands[saved]) {\n setLocalSelected(saved);\n }\n } catch {\n // localStorage not available\n }\n }, [commands, context]);\n\n const handleSelect = (pm: PackageManager) => {\n setSelected(pm);\n\n // Only persist locally if not using context\n if (!context) {\n try {\n localStorage.setItem(STORAGE_KEY, pm);\n } catch {\n // localStorage not available\n }\n }\n };\n\n // Get available package managers from commands\n const packageManagers = Object.keys(commands) as PackageManager[];\n\n // Early return if no commands available\n if (packageManagers.length === 0) return null;\n\n // Use selected if available, otherwise fallback to first available\n const effectiveSelected = commands[selected] ? selected : packageManagers[0];\n if (!effectiveSelected) return null;\n const currentCommand = commands[effectiveSelected];\n if (!currentCommand) return null;\n\n return (\n <div\n className={cn(\n 'relative rounded-lg border border-zinc-800 bg-zinc-950',\n className\n )}\n {...props}\n >\n <div\n className=\"flex items-center border-b border-zinc-800 bg-zinc-900/50 px-2 pt-2\"\n role=\"tablist\"\n aria-label=\"Package manager selection\"\n >\n {packageManagers.map((pm) => (\n <button\n key={pm}\n type=\"button\"\n role=\"tab\"\n aria-selected={effectiveSelected === pm}\n onClick={() => handleSelect(pm)}\n className={cn(\n 'rounded-t-md border-t border-r border-l border-transparent px-4 py-2 text-xs font-medium text-zinc-400',\n 'transition-colors hover:text-zinc-100',\n 'focus:ring-2 focus:ring-zinc-600 focus:ring-offset-1 focus:ring-offset-zinc-900 focus:outline-none',\n effectiveSelected === pm &&\n 'border-zinc-800 bg-zinc-950 text-zinc-100'\n )}\n >\n {pm}\n </button>\n ))}\n </div>\n <div className=\"relative p-4\" role=\"tabpanel\">\n <CopyButton value={currentCommand} className=\"absolute top-3 right-3\" />\n <pre className=\"overflow-x-auto pr-10 font-mono text-[13px] leading-6 text-white\">\n <code>{currentCommand}</code>\n </pre>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAQA,MAAM,cAAc;AAEpB,SAAgB,YAAY,EAC1B,UACA,oBAAoB,OACpB,WACA,GAAG,SACgB;CACnB,MAAM,UAAU,mBAAmB;CAEnC,MAAM,CAAC,eAAe,oBAAoB,eAA+B;AACvE,SAAO;GACP;CAGF,MAAM,WAAW,SAAS,cAAc;CACxC,MAAM,cAAc,SAAS,iBAAiB;AAG9C,iBAAgB;AACd,MAAI,QAAS;AAEb,MAAI;GACF,MAAM,QAAQ,aAAa,QAAQ,YAAY;AAC/C,OAAI,SAAS,SAAS,OACpB,kBAAiB,MAAM;UAEnB;IAGP,CAAC,UAAU,QAAQ,CAAC;CAEvB,MAAM,gBAAgB,OAAuB;AAC3C,cAAY,GAAG;AAGf,MAAI,CAAC,QACH,KAAI;AACF,gBAAa,QAAQ,aAAa,GAAG;UAC/B;;CAOZ,MAAM,kBAAkB,OAAO,KAAK,SAAS;AAG7C,KAAI,gBAAgB,WAAW,EAAG,QAAO;CAGzC,MAAM,oBAAoB,SAAS,YAAY,WAAW,gBAAgB;AAC1E,KAAI,CAAC,kBAAmB,QAAO;CAC/B,MAAM,iBAAiB,SAAS;AAChC,KAAI,CAAC,eAAgB,QAAO;AAE5B,QACE,qBAAC;EACC,WAAW,GACT,0DACA,UACD;EACD,GAAI;aAEJ,oBAAC;GACC,WAAU;GACV,MAAK;GACL,cAAW;aAEV,gBAAgB,KAAK,OACpB,oBAAC;IAEC,MAAK;IACL,MAAK;IACL,iBAAe,sBAAsB;IACrC,eAAe,aAAa,GAAG;IAC/B,WAAW,GACT,0GACA,yCACA,sGACA,sBAAsB,MACpB,4CACH;cAEA;MAbI,GAcE,CACT;IACE,EACN,qBAAC;GAAI,WAAU;GAAe,MAAK;cACjC,oBAAC;IAAW,OAAO;IAAgB,WAAU;KAA2B,EACxE,oBAAC;IAAI,WAAU;cACb,oBAAC,oBAAM,iBAAsB;KACzB;IACF;GACF"}
@@ -0,0 +1,2 @@
1
+ import { CommandTabsProps, PackageManager, PackageManagerContextValue } from "./types.js";
2
+ import { CommandTabs } from "./CommandTabs.js";
@@ -0,0 +1,19 @@
1
+ import { HTMLAttributes } from "react";
2
+
3
+ //#region src/components/molecules/CommandTabs/types.d.ts
4
+ type PackageManager = 'bun' | 'npm' | 'yarn' | 'pnpm';
5
+ interface CommandTabsProps extends HTMLAttributes<HTMLDivElement> {
6
+ /** Commands for each package manager */
7
+ commands: Partial<Record<PackageManager, string>>;
8
+ /** Initial package manager preference (overridden by context if available) */
9
+ initialPreference?: PackageManager;
10
+ }
11
+ interface PackageManagerContextValue {
12
+ /** Current package manager preference */
13
+ preference: PackageManager;
14
+ /** Set the package manager preference */
15
+ setPreference: (pm: PackageManager) => void;
16
+ }
17
+ //#endregion
18
+ export { CommandTabsProps, PackageManager, PackageManagerContextValue };
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/components/molecules/CommandTabs/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,cAAA;UAEK,gBAAA,SAAyB,eAAe;EAF7C;EAEK,QAAA,EAEL,OAFK,CAEG,MAFc,CAEP,cAFO,EAAA,MAAA,CAAA,CAAA;EAAuB;EAE9B,iBAAA,CAAA,EAEL,cAFK;;AAAf,UAKK,0BAAA,CALL;EAEU;EAJoB,UAAA,EAS5B,cAT4B;EAAc;EAOvC,aAAA,EAAA,CAAA,EAAA,EAIK,cAJqB,EAAA,GAAA,IAE7B"}
@@ -0,0 +1,13 @@
1
+ import { CopyButtonProps } from "./types.js";
2
+ import * as react_jsx_runtime112 from "react/jsx-runtime";
3
+
4
+ //#region src/components/molecules/CopyButton/CopyButton.d.ts
5
+ declare function CopyButton({
6
+ value,
7
+ onCopy,
8
+ className,
9
+ ...props
10
+ }: CopyButtonProps): react_jsx_runtime112.JSX.Element;
11
+ //#endregion
12
+ export { CopyButton };
13
+ //# sourceMappingURL=CopyButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButton.d.ts","names":[],"sources":["../../../../src/components/molecules/CopyButton/CopyButton.tsx"],"sourcesContent":[],"mappings":";;;;iBAOgB,UAAA;;;;;GAKb,kBAAe,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+
3
+ import { cn } from "../../../lib/utils.js";
4
+ import { useCallback, useEffect, useState } from "react";
5
+ import { Check, Copy } from "lucide-react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+
8
+ //#region src/components/molecules/CopyButton/CopyButton.tsx
9
+ function CopyButton({ value, onCopy, className, ...props }) {
10
+ const [hasCopied, setHasCopied] = useState(false);
11
+ useEffect(() => {
12
+ if (!hasCopied) return;
13
+ const timeout = setTimeout(() => {
14
+ setHasCopied(false);
15
+ }, 2e3);
16
+ return () => clearTimeout(timeout);
17
+ }, [hasCopied]);
18
+ const copyToClipboard = useCallback(async () => {
19
+ try {
20
+ await navigator.clipboard.writeText(value);
21
+ setHasCopied(true);
22
+ onCopy?.();
23
+ } catch (err) {
24
+ console.error("Failed to copy to clipboard:", err);
25
+ }
26
+ }, [value, onCopy]);
27
+ return /* @__PURE__ */ jsxs("button", {
28
+ type: "button",
29
+ className: cn("relative z-10 inline-flex h-6 w-6 items-center justify-center rounded-md", "border border-zinc-700 bg-zinc-800 text-zinc-400", "transition-all hover:bg-zinc-700 hover:text-zinc-100", "focus:ring-2 focus:ring-zinc-600 focus:ring-offset-2 focus:ring-offset-zinc-900 focus:outline-none", className),
30
+ onClick: copyToClipboard,
31
+ "aria-label": hasCopied ? "Copied" : "Copy to clipboard",
32
+ ...props,
33
+ children: [/* @__PURE__ */ jsx("span", {
34
+ className: "sr-only",
35
+ children: hasCopied ? "Copied" : "Copy"
36
+ }), hasCopied ? /* @__PURE__ */ jsx(Check, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx(Copy, { className: "h-3 w-3" })]
37
+ });
38
+ }
39
+
40
+ //#endregion
41
+ export { CopyButton };
42
+ //# sourceMappingURL=CopyButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButton.js","names":[],"sources":["../../../../src/components/molecules/CopyButton/CopyButton.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '../../../lib/utils';\nimport { Check, Copy } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\nimport type { CopyButtonProps } from './types';\n\nexport function CopyButton({\n value,\n onCopy,\n className,\n ...props\n}: CopyButtonProps) {\n const [hasCopied, setHasCopied] = useState(false);\n\n useEffect(() => {\n if (!hasCopied) return;\n const timeout = setTimeout(() => {\n setHasCopied(false);\n }, 2000);\n return () => clearTimeout(timeout);\n }, [hasCopied]);\n\n const copyToClipboard = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(value);\n setHasCopied(true);\n onCopy?.();\n } catch (err) {\n console.error('Failed to copy to clipboard:', err);\n }\n }, [value, onCopy]);\n\n return (\n <button\n type=\"button\"\n className={cn(\n 'relative z-10 inline-flex h-6 w-6 items-center justify-center rounded-md',\n 'border border-zinc-700 bg-zinc-800 text-zinc-400',\n 'transition-all hover:bg-zinc-700 hover:text-zinc-100',\n 'focus:ring-2 focus:ring-zinc-600 focus:ring-offset-2 focus:ring-offset-zinc-900 focus:outline-none',\n className\n )}\n onClick={copyToClipboard}\n aria-label={hasCopied ? 'Copied' : 'Copy to clipboard'}\n {...props}\n >\n <span className=\"sr-only\">{hasCopied ? 'Copied' : 'Copy'}</span>\n {hasCopied ? <Check className=\"h-3 w-3\" /> : <Copy className=\"h-3 w-3\" />}\n </button>\n );\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,WAAW,EACzB,OACA,QACA,WACA,GAAG,SACe;CAClB,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;AAEjD,iBAAgB;AACd,MAAI,CAAC,UAAW;EAChB,MAAM,UAAU,iBAAiB;AAC/B,gBAAa,MAAM;KAClB,IAAK;AACR,eAAa,aAAa,QAAQ;IACjC,CAAC,UAAU,CAAC;CAEf,MAAM,kBAAkB,YAAY,YAAY;AAC9C,MAAI;AACF,SAAM,UAAU,UAAU,UAAU,MAAM;AAC1C,gBAAa,KAAK;AAClB,aAAU;WACH,KAAK;AACZ,WAAQ,MAAM,gCAAgC,IAAI;;IAEnD,CAAC,OAAO,OAAO,CAAC;AAEnB,QACE,qBAAC;EACC,MAAK;EACL,WAAW,GACT,4EACA,oDACA,wDACA,sGACA,UACD;EACD,SAAS;EACT,cAAY,YAAY,WAAW;EACnC,GAAI;aAEJ,oBAAC;GAAK,WAAU;aAAW,YAAY,WAAW;IAAc,EAC/D,YAAY,oBAAC,SAAM,WAAU,YAAY,GAAG,oBAAC,QAAK,WAAU,YAAY;GAClE"}
@@ -0,0 +1,2 @@
1
+ import { CopyButtonProps } from "./types.js";
2
+ import { CopyButton } from "./CopyButton.js";
@@ -0,0 +1,12 @@
1
+ import { HTMLAttributes } from "react";
2
+
3
+ //#region src/components/molecules/CopyButton/types.d.ts
4
+ interface CopyButtonProps extends HTMLAttributes<HTMLButtonElement> {
5
+ /** The value to copy to clipboard */
6
+ value: string;
7
+ /** Optional callback when copy succeeds */
8
+ onCopy?: () => void;
9
+ }
10
+ //#endregion
11
+ export { CopyButtonProps };
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/components/molecules/CopyButton/types.ts"],"sourcesContent":[],"mappings":";;;UAEiB,eAAA,SAAwB,eAAe;;EAAvC,KAAA,EAAA,MAAA"}
@@ -1,12 +1,12 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime46 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime47 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import { Card } from "@contractspec/lib.ui-kit-web/ui/card";
5
5
  import * as class_variance_authority_types7 from "class-variance-authority/types";
6
6
 
7
7
  //#region src/components/molecules/EntityCard.d.ts
8
8
  declare const entityCardVariants: (props?: ({
9
- emphasis?: "default" | "strong" | "subtle" | null | undefined;
9
+ emphasis?: "strong" | "default" | "subtle" | null | undefined;
10
10
  density?: "compact" | "comfortable" | null | undefined;
11
11
  } & class_variance_authority_types7.ClassProp) | undefined) => string;
12
12
  type EntityCardProps = React.ComponentProps<typeof Card> & VariantProps<typeof entityCardVariants> & {
@@ -32,7 +32,7 @@ declare function EntityCard({
32
32
  href,
33
33
  preview,
34
34
  ...cardProps
35
- }: EntityCardProps): react_jsx_runtime46.JSX.Element;
35
+ }: EntityCardProps): react_jsx_runtime47.JSX.Element;
36
36
  //#endregion
37
37
  export { EntityCard };
38
38
  //# sourceMappingURL=EntityCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCard.js","names":["Wrapper: React.ElementType"],"sources":["../../../src/components/molecules/EntityCard.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Card, CardContent } from '@contractspec/lib.ui-kit-web/ui/card';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\n\nconst entityCardVariants = cva('transition-all hover:shadow-2xs', {\n variants: {\n emphasis: {\n default: '',\n subtle: 'border-muted/60 bg-muted/20',\n strong: 'border-primary/50 bg-primary/5',\n },\n density: {\n compact: 'p-3',\n comfortable: 'p-4 md:p-5',\n },\n },\n defaultVariants: { emphasis: 'default', density: 'comfortable' },\n});\n\nexport type EntityCardProps = React.ComponentProps<typeof Card> &\n VariantProps<typeof entityCardVariants> & {\n cardTitle: React.ReactNode;\n cardSubtitle?: React.ReactNode;\n chips?: React.ReactNode; // right-aligned small chips\n meta?: React.ReactNode; // rows of icon+text data\n footer?: React.ReactNode; // actions area\n href?: string; // optional link wrapper\n contentClassName?: string;\n preview?: React.ReactNode; // hover preview content\n };\n\nexport function EntityCard({\n cardTitle,\n cardSubtitle,\n chips,\n meta,\n footer,\n emphasis,\n density,\n className,\n contentClassName,\n href,\n preview,\n ...cardProps\n}: EntityCardProps) {\n const Wrapper: React.ElementType = href ? 'a' : 'div';\n const cardContent = (\n <Card\n className={cn(entityCardVariants({ emphasis }), className)}\n {...cardProps}\n >\n <CardContent\n className={cn(entityCardVariants({ density }), contentClassName)}\n >\n <div className=\"space-y-3\">\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-lg font-medium\">{cardTitle}</div>\n {cardSubtitle && (\n <div className=\"text-muted-foreground text-base\">\n {cardSubtitle}\n </div>\n )}\n </div>\n {chips && (\n <div className=\"inline-flex shrink-0 items-center gap-1\">\n {chips}\n </div>\n )}\n </div>\n {meta && <div className=\"space-y-1\">{meta}</div>}\n {footer && (\n <div className=\"flex items-center justify-between\">{footer}</div>\n )}\n </div>\n </CardContent>\n </Card>\n );\n\n const maybePreview = (() => {\n if (!preview) return cardContent;\n try {\n /* eslint-disable @typescript-eslint/no-require-imports */\n const { HoverPreview } =\n require('./HoverPreview') as typeof import('./HoverPreview');\n /* eslint-enable @typescript-eslint/no-require-imports */\n return <HoverPreview trigger={cardContent} content={preview} />;\n } catch {\n return cardContent;\n }\n })();\n\n return (\n <Wrapper href={href} className={href ? 'block' : undefined}>\n {maybePreview}\n </Wrapper>\n );\n}\n"],"mappings":";;;;;;;;;;;AAOA,MAAM,qBAAqB,IAAI,mCAAmC;CAChE,UAAU;EACR,UAAU;GACR,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACD,SAAS;GACP,SAAS;GACT,aAAa;GACd;EACF;CACD,iBAAiB;EAAE,UAAU;EAAW,SAAS;EAAe;CACjE,CAAC;AAcF,SAAgB,WAAW,EACzB,WACA,cACA,OACA,MACA,QACA,UACA,SACA,WACA,kBACA,MACA,SACA,GAAG,aACe;CAClB,MAAMA,UAA6B,OAAO,MAAM;CAChD,MAAM,cACJ,oBAAC;EACC,WAAW,GAAG,mBAAmB,EAAE,UAAU,CAAC,EAAE,UAAU;EAC1D,GAAI;YAEJ,oBAAC;GACC,WAAW,GAAG,mBAAmB,EAAE,SAAS,CAAC,EAAE,iBAAiB;aAEhE,qBAAC;IAAI,WAAU;;KACb,qBAAC;MAAI,WAAU;iBACb,qBAAC;OAAI,WAAU;kBACb,oBAAC;QAAI,WAAU;kBAAgC;SAAgB,EAC9D,gBACC,oBAAC;QAAI,WAAU;kBACZ;SACG;QAEJ,EACL,SACC,oBAAC;OAAI,WAAU;iBACZ;QACG;OAEJ;KACL,QAAQ,oBAAC;MAAI,WAAU;gBAAa;OAAW;KAC/C,UACC,oBAAC;MAAI,WAAU;gBAAqC;OAAa;;KAE/D;IACM;GACT;CAGT,MAAM,sBAAsB;AAC1B,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI;GAEF,MAAM,EAAE;AAGR,UAAO,oBAAC;IAAa,SAAS;IAAa,SAAS;KAAW;UACzD;AACN,UAAO;;KAEP;AAEJ,QACE,oBAAC;EAAc;EAAM,WAAW,OAAO,UAAU;YAC9C;GACO"}
1
+ {"version":3,"file":"EntityCard.js","names":[],"sources":["../../../src/components/molecules/EntityCard.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Card, CardContent } from '@contractspec/lib.ui-kit-web/ui/card';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\n\nconst entityCardVariants = cva('transition-all hover:shadow-2xs', {\n variants: {\n emphasis: {\n default: '',\n subtle: 'border-muted/60 bg-muted/20',\n strong: 'border-primary/50 bg-primary/5',\n },\n density: {\n compact: 'p-3',\n comfortable: 'p-4 md:p-5',\n },\n },\n defaultVariants: { emphasis: 'default', density: 'comfortable' },\n});\n\nexport type EntityCardProps = React.ComponentProps<typeof Card> &\n VariantProps<typeof entityCardVariants> & {\n cardTitle: React.ReactNode;\n cardSubtitle?: React.ReactNode;\n chips?: React.ReactNode; // right-aligned small chips\n meta?: React.ReactNode; // rows of icon+text data\n footer?: React.ReactNode; // actions area\n href?: string; // optional link wrapper\n contentClassName?: string;\n preview?: React.ReactNode; // hover preview content\n };\n\nexport function EntityCard({\n cardTitle,\n cardSubtitle,\n chips,\n meta,\n footer,\n emphasis,\n density,\n className,\n contentClassName,\n href,\n preview,\n ...cardProps\n}: EntityCardProps) {\n const Wrapper: React.ElementType = href ? 'a' : 'div';\n const cardContent = (\n <Card\n className={cn(entityCardVariants({ emphasis }), className)}\n {...cardProps}\n >\n <CardContent\n className={cn(entityCardVariants({ density }), contentClassName)}\n >\n <div className=\"space-y-3\">\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-lg font-medium\">{cardTitle}</div>\n {cardSubtitle && (\n <div className=\"text-muted-foreground text-base\">\n {cardSubtitle}\n </div>\n )}\n </div>\n {chips && (\n <div className=\"inline-flex shrink-0 items-center gap-1\">\n {chips}\n </div>\n )}\n </div>\n {meta && <div className=\"space-y-1\">{meta}</div>}\n {footer && (\n <div className=\"flex items-center justify-between\">{footer}</div>\n )}\n </div>\n </CardContent>\n </Card>\n );\n\n const maybePreview = (() => {\n if (!preview) return cardContent;\n try {\n /* eslint-disable @typescript-eslint/no-require-imports */\n const { HoverPreview } =\n require('./HoverPreview') as typeof import('./HoverPreview');\n /* eslint-enable @typescript-eslint/no-require-imports */\n return <HoverPreview trigger={cardContent} content={preview} />;\n } catch {\n return cardContent;\n }\n })();\n\n return (\n <Wrapper href={href} className={href ? 'block' : undefined}>\n {maybePreview}\n </Wrapper>\n );\n}\n"],"mappings":";;;;;;;;;;;AAOA,MAAM,qBAAqB,IAAI,mCAAmC;CAChE,UAAU;EACR,UAAU;GACR,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACD,SAAS;GACP,SAAS;GACT,aAAa;GACd;EACF;CACD,iBAAiB;EAAE,UAAU;EAAW,SAAS;EAAe;CACjE,CAAC;AAcF,SAAgB,WAAW,EACzB,WACA,cACA,OACA,MACA,QACA,UACA,SACA,WACA,kBACA,MACA,SACA,GAAG,aACe;CAClB,MAAM,UAA6B,OAAO,MAAM;CAChD,MAAM,cACJ,oBAAC;EACC,WAAW,GAAG,mBAAmB,EAAE,UAAU,CAAC,EAAE,UAAU;EAC1D,GAAI;YAEJ,oBAAC;GACC,WAAW,GAAG,mBAAmB,EAAE,SAAS,CAAC,EAAE,iBAAiB;aAEhE,qBAAC;IAAI,WAAU;;KACb,qBAAC;MAAI,WAAU;iBACb,qBAAC;OAAI,WAAU;kBACb,oBAAC;QAAI,WAAU;kBAAgC;SAAgB,EAC9D,gBACC,oBAAC;QAAI,WAAU;kBACZ;SACG;QAEJ,EACL,SACC,oBAAC;OAAI,WAAU;iBACZ;QACG;OAEJ;KACL,QAAQ,oBAAC;MAAI,WAAU;gBAAa;OAAW;KAC/C,UACC,oBAAC;MAAI,WAAU;gBAAqC;OAAa;;KAE/D;IACM;GACT;CAGT,MAAM,sBAAsB;AAC1B,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI;GAEF,MAAM,EAAE;AAGR,UAAO,oBAAC;IAAa,SAAS;IAAa,SAAS;KAAW;UACzD;AACN,UAAO;;KAEP;AAEJ,QACE,oBAAC;EAAc;EAAM,WAAW,OAAO,UAAU;YAC9C;GACO"}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime68 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime69 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/FiltersToolbar.d.ts
5
5
  interface ActiveFilterChip {
@@ -30,7 +30,7 @@ declare function FiltersToolbar({
30
30
  debounceMs,
31
31
  activeChips,
32
32
  onClearAll
33
- }: FiltersToolbarProps): react_jsx_runtime68.JSX.Element;
33
+ }: FiltersToolbarProps): react_jsx_runtime69.JSX.Element;
34
34
  //#endregion
35
35
  export { FiltersToolbar };
36
36
  //# sourceMappingURL=FiltersToolbar.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { Button } from "../atoms/Button.js";
2
2
  import { Input } from "../atoms/Input.js";
3
- import "../../index.js";
4
3
  import * as React from "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
6
5
  import { cn } from "@contractspec/lib.ui-kit-web/ui/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersToolbar.js","names":[],"sources":["../../../src/components/molecules/FiltersToolbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\nimport { Button, Input } from '../../index';\nimport { Badge } from '@contractspec/lib.ui-kit-web/ui/badge';\n\nexport interface ActiveFilterChip {\n key: string;\n label: React.ReactNode;\n onRemove?: () => void;\n}\n\nexport interface FiltersToolbarProps {\n className?: string;\n children?: React.ReactNode;\n right?: React.ReactNode;\n searchPlaceholder?: string;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n onSearchSubmit?: () => void;\n debounceMs?: number;\n activeChips?: ActiveFilterChip[];\n onClearAll?: () => void;\n}\n\nexport function FiltersToolbar({\n className,\n children,\n right,\n searchPlaceholder,\n searchValue,\n onSearchChange,\n onSearchSubmit,\n debounceMs = 250,\n activeChips = [],\n onClearAll,\n}: FiltersToolbarProps) {\n const [q, setQ] = React.useState<string>(searchValue ?? '');\n\n React.useEffect(() => {\n setQ(searchValue ?? '');\n }, [searchValue]);\n\n React.useEffect(() => {\n if (!onSearchChange) return;\n const id = setTimeout(() => onSearchChange(q), debounceMs);\n return () => clearTimeout(id);\n }, [q, debounceMs, onSearchChange]);\n\n return (\n <div className={cn('space-y-2', className)}>\n <div className=\"flex flex-col items-stretch gap-2 md:flex-row md:items-center md:justify-between\">\n <div className=\"flex flex-1 items-center gap-2\">\n {onSearchChange ? (\n <div className=\"flex flex-1 items-center gap-2\">\n <Input\n value={q}\n onChange={(e) => setQ(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') onSearchSubmit?.();\n }}\n placeholder={searchPlaceholder}\n keyboard={{ kind: 'search' }}\n />\n <Button\n variant=\"outline\"\n onPress={() => onSearchSubmit?.()}\n className=\"shrink-0\"\n >\n Rechercher\n </Button>\n </div>\n ) : null}\n {children}\n </div>\n {right}\n </div>\n\n {(activeChips.length > 0 || onClearAll) && (\n <div className=\"flex flex-wrap items-center gap-2\">\n {activeChips.map((c) => (\n <Badge\n key={c.key}\n variant=\"secondary\"\n className=\"inline-flex items-center gap-2\"\n >\n <span>{c.label}</span>\n {c.onRemove && (\n <button\n type=\"button\"\n aria-label=\"Supprimer le filtre\"\n onClick={c.onRemove}\n className=\"hover:bg-muted rounded-xs px-1 text-base\"\n >\n ×\n </button>\n )}\n </Badge>\n ))}\n {onClearAll && (\n <Button size=\"sm\" variant=\"ghost\" onPress={onClearAll}>\n Effacer les filtres\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAwBA,SAAgB,eAAe,EAC7B,WACA,UACA,OACA,mBACA,aACA,gBACA,gBACA,aAAa,KACb,cAAc,EAAE,EAChB,cACsB;CACtB,MAAM,CAAC,GAAG,QAAQ,MAAM,SAAiB,eAAe,GAAG;AAE3D,OAAM,gBAAgB;AACpB,OAAK,eAAe,GAAG;IACtB,CAAC,YAAY,CAAC;AAEjB,OAAM,gBAAgB;AACpB,MAAI,CAAC,eAAgB;EACrB,MAAM,KAAK,iBAAiB,eAAe,EAAE,EAAE,WAAW;AAC1D,eAAa,aAAa,GAAG;IAC5B;EAAC;EAAG;EAAY;EAAe,CAAC;AAEnC,QACE,qBAAC;EAAI,WAAW,GAAG,aAAa,UAAU;aACxC,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAI,WAAU;eACZ,iBACC,qBAAC;KAAI,WAAU;gBACb,oBAAC;MACC,OAAO;MACP,WAAW,MAAM,KAAK,EAAE,OAAO,MAAM;MACrC,YAAY,MAAM;AAChB,WAAI,EAAE,QAAQ,QAAS,mBAAkB;;MAE3C,aAAa;MACb,UAAU,EAAE,MAAM,UAAU;OAC5B,EACF,oBAAC;MACC,SAAQ;MACR,eAAe,kBAAkB;MACjC,WAAU;gBACX;OAEQ;MACL,GACJ,MACH;KACG,EACL;IACG,GAEJ,YAAY,SAAS,KAAK,eAC1B,qBAAC;GAAI,WAAU;cACZ,YAAY,KAAK,MAChB,qBAAC;IAEC,SAAQ;IACR,WAAU;eAEV,oBAAC,oBAAM,EAAE,QAAa,EACrB,EAAE,YACD,oBAAC;KACC,MAAK;KACL,cAAW;KACX,SAAS,EAAE;KACX,WAAU;eACX;MAEQ;MAbN,EAAE,IAeD,CACR,EACD,cACC,oBAAC;IAAO,MAAK;IAAK,SAAQ;IAAQ,SAAS;cAAY;KAE9C;IAEP;GAEJ"}
1
+ {"version":3,"file":"FiltersToolbar.js","names":[],"sources":["../../../src/components/molecules/FiltersToolbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\nimport { Button, Input } from '../../index';\nimport { Badge } from '@contractspec/lib.ui-kit-web/ui/badge';\n\nexport interface ActiveFilterChip {\n key: string;\n label: React.ReactNode;\n onRemove?: () => void;\n}\n\nexport interface FiltersToolbarProps {\n className?: string;\n children?: React.ReactNode;\n right?: React.ReactNode;\n searchPlaceholder?: string;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n onSearchSubmit?: () => void;\n debounceMs?: number;\n activeChips?: ActiveFilterChip[];\n onClearAll?: () => void;\n}\n\nexport function FiltersToolbar({\n className,\n children,\n right,\n searchPlaceholder,\n searchValue,\n onSearchChange,\n onSearchSubmit,\n debounceMs = 250,\n activeChips = [],\n onClearAll,\n}: FiltersToolbarProps) {\n const [q, setQ] = React.useState<string>(searchValue ?? '');\n\n React.useEffect(() => {\n setQ(searchValue ?? '');\n }, [searchValue]);\n\n React.useEffect(() => {\n if (!onSearchChange) return;\n const id = setTimeout(() => onSearchChange(q), debounceMs);\n return () => clearTimeout(id);\n }, [q, debounceMs, onSearchChange]);\n\n return (\n <div className={cn('space-y-2', className)}>\n <div className=\"flex flex-col items-stretch gap-2 md:flex-row md:items-center md:justify-between\">\n <div className=\"flex flex-1 items-center gap-2\">\n {onSearchChange ? (\n <div className=\"flex flex-1 items-center gap-2\">\n <Input\n value={q}\n onChange={(e) => setQ(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') onSearchSubmit?.();\n }}\n placeholder={searchPlaceholder}\n keyboard={{ kind: 'search' }}\n />\n <Button\n variant=\"outline\"\n onPress={() => onSearchSubmit?.()}\n className=\"shrink-0\"\n >\n Rechercher\n </Button>\n </div>\n ) : null}\n {children}\n </div>\n {right}\n </div>\n\n {(activeChips.length > 0 || onClearAll) && (\n <div className=\"flex flex-wrap items-center gap-2\">\n {activeChips.map((c) => (\n <Badge\n key={c.key}\n variant=\"secondary\"\n className=\"inline-flex items-center gap-2\"\n >\n <span>{c.label}</span>\n {c.onRemove && (\n <button\n type=\"button\"\n aria-label=\"Supprimer le filtre\"\n onClick={c.onRemove}\n className=\"hover:bg-muted rounded-xs px-1 text-base\"\n >\n ×\n </button>\n )}\n </Badge>\n ))}\n {onClearAll && (\n <Button size=\"sm\" variant=\"ghost\" onPress={onClearAll}>\n Effacer les filtres\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAwBA,SAAgB,eAAe,EAC7B,WACA,UACA,OACA,mBACA,aACA,gBACA,gBACA,aAAa,KACb,cAAc,EAAE,EAChB,cACsB;CACtB,MAAM,CAAC,GAAG,QAAQ,MAAM,SAAiB,eAAe,GAAG;AAE3D,OAAM,gBAAgB;AACpB,OAAK,eAAe,GAAG;IACtB,CAAC,YAAY,CAAC;AAEjB,OAAM,gBAAgB;AACpB,MAAI,CAAC,eAAgB;EACrB,MAAM,KAAK,iBAAiB,eAAe,EAAE,EAAE,WAAW;AAC1D,eAAa,aAAa,GAAG;IAC5B;EAAC;EAAG;EAAY;EAAe,CAAC;AAEnC,QACE,qBAAC;EAAI,WAAW,GAAG,aAAa,UAAU;aACxC,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAI,WAAU;eACZ,iBACC,qBAAC;KAAI,WAAU;gBACb,oBAAC;MACC,OAAO;MACP,WAAW,MAAM,KAAK,EAAE,OAAO,MAAM;MACrC,YAAY,MAAM;AAChB,WAAI,EAAE,QAAQ,QAAS,mBAAkB;;MAE3C,aAAa;MACb,UAAU,EAAE,MAAM,UAAU;OAC5B,EACF,oBAAC;MACC,SAAQ;MACR,eAAe,kBAAkB;MACjC,WAAU;gBACX;OAEQ;MACL,GACJ,MACH;KACG,EACL;IACG,GAEJ,YAAY,SAAS,KAAK,eAC1B,qBAAC;GAAI,WAAU;cACZ,YAAY,KAAK,MAChB,qBAAC;IAEC,SAAQ;IACR,WAAU;eAEV,oBAAC,oBAAM,EAAE,QAAa,EACrB,EAAE,YACD,oBAAC;KACC,MAAK;KACL,cAAW;KACX,SAAS,EAAE;KACX,WAAU;eACX;MAEQ;MAbN,EAAE,IAeD,CACR,EACD,cACC,oBAAC;IAAO,MAAK;IAAK,SAAQ;IAAQ,SAAS;cAAY;KAE9C;IAEP;GAEJ"}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime50 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime51 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/HoverPreview.d.ts
5
5
  interface HoverPreviewProps {
@@ -15,7 +15,7 @@ declare function HoverPreview({
15
15
  align,
16
16
  sideOffset,
17
17
  className
18
- }: HoverPreviewProps): react_jsx_runtime50.JSX.Element;
18
+ }: HoverPreviewProps): react_jsx_runtime51.JSX.Element;
19
19
  //#endregion
20
20
  export { HoverPreview };
21
21
  //# sourceMappingURL=HoverPreview.d.ts.map
@@ -0,0 +1,27 @@
1
+ import { InstallCommandProps } from "./types.js";
2
+ import * as react_jsx_runtime114 from "react/jsx-runtime";
3
+
4
+ //#region src/components/molecules/InstallCommand/InstallCommand.d.ts
5
+
6
+ /**
7
+ * Convenience component for displaying package installation commands.
8
+ * Automatically generates the correct command for each package manager.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <InstallCommand package="@contractspec/lib.contracts" />
13
+ * <InstallCommand package={["react", "react-dom"]} />
14
+ * <InstallCommand package="typescript" dev />
15
+ * <InstallCommand package="create-next-app" type="exec" />
16
+ * ```
17
+ */
18
+ declare function InstallCommand({
19
+ package: packageName,
20
+ type,
21
+ dev,
22
+ global,
23
+ ...props
24
+ }: InstallCommandProps): react_jsx_runtime114.JSX.Element;
25
+ //#endregion
26
+ export { InstallCommand };
27
+ //# sourceMappingURL=InstallCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallCommand.d.ts","names":[],"sources":["../../../../src/components/molecules/InstallCommand/InstallCommand.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAwFA;;;;;;;;;iBAAgB,cAAA;WACL;;;;;GAKR,sBAAmB,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,68 @@
1
+ 'use client';
2
+
3
+ import { CommandTabs } from "../CommandTabs/CommandTabs.js";
4
+ import { useMemo } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/components/molecules/InstallCommand/InstallCommand.tsx
8
+ function buildCommand(pm, packageNames, type, dev, global) {
9
+ const packages = packageNames.join(" ");
10
+ if (type === "exec") switch (pm) {
11
+ case "bun": return `bunx ${packages}`;
12
+ case "npm": return `npx ${packages}`;
13
+ case "yarn": return `yarn dlx ${packages}`;
14
+ case "pnpm": return `pnpm dlx ${packages}`;
15
+ }
16
+ if (type === "create") switch (pm) {
17
+ case "bun": return `bun create ${packages}`;
18
+ case "npm": return `npm create ${packages}`;
19
+ case "yarn": return `yarn create ${packages}`;
20
+ case "pnpm": return `pnpm create ${packages}`;
21
+ }
22
+ if (type === "run") switch (pm) {
23
+ case "bun": return `bun run ${packages}`;
24
+ case "npm": return `npm run ${packages}`;
25
+ case "yarn": return `yarn ${packages}`;
26
+ case "pnpm": return `pnpm ${packages}`;
27
+ }
28
+ const flags = [dev ? pm === "npm" ? "--save-dev" : "-D" : "", global ? "-g" : ""].filter(Boolean).join(" ");
29
+ switch (pm) {
30
+ case "bun": return `bun add ${packages}${flags ? ` ${flags}` : ""}`;
31
+ case "npm": return `npm install ${packages}${flags ? ` ${flags}` : ""}`;
32
+ case "yarn": return `yarn add ${packages}${flags ? ` ${flags}` : ""}`;
33
+ case "pnpm": return `pnpm add ${packages}${flags ? ` ${flags}` : ""}`;
34
+ }
35
+ }
36
+ /**
37
+ * Convenience component for displaying package installation commands.
38
+ * Automatically generates the correct command for each package manager.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <InstallCommand package="@contractspec/lib.contracts" />
43
+ * <InstallCommand package={["react", "react-dom"]} />
44
+ * <InstallCommand package="typescript" dev />
45
+ * <InstallCommand package="create-next-app" type="exec" />
46
+ * ```
47
+ */
48
+ function InstallCommand({ package: packageName, type = "add", dev = false, global = false, ...props }) {
49
+ const packageNames = useMemo(() => Array.isArray(packageName) ? packageName : [packageName], [packageName]);
50
+ return /* @__PURE__ */ jsx(CommandTabs, {
51
+ commands: useMemo(() => ({
52
+ bun: buildCommand("bun", packageNames, type, dev, global),
53
+ npm: buildCommand("npm", packageNames, type, dev, global),
54
+ yarn: buildCommand("yarn", packageNames, type, dev, global),
55
+ pnpm: buildCommand("pnpm", packageNames, type, dev, global)
56
+ }), [
57
+ packageNames,
58
+ type,
59
+ dev,
60
+ global
61
+ ]),
62
+ ...props
63
+ });
64
+ }
65
+
66
+ //#endregion
67
+ export { InstallCommand };
68
+ //# sourceMappingURL=InstallCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallCommand.js","names":[],"sources":["../../../../src/components/molecules/InstallCommand/InstallCommand.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { CommandTabs } from '../CommandTabs';\nimport type { PackageManager } from '../CommandTabs/types';\nimport type { InstallCommandProps, InstallCommandType } from './types';\n\nfunction buildCommand(\n pm: PackageManager,\n packageNames: string[],\n type: InstallCommandType,\n dev: boolean,\n global: boolean\n): string {\n const packages = packageNames.join(' ');\n\n // Handle exec/run commands (npx, bunx, etc.)\n if (type === 'exec') {\n switch (pm) {\n case 'bun':\n return `bunx ${packages}`;\n case 'npm':\n return `npx ${packages}`;\n case 'yarn':\n return `yarn dlx ${packages}`;\n case 'pnpm':\n return `pnpm dlx ${packages}`;\n }\n }\n\n // Handle create commands\n if (type === 'create') {\n switch (pm) {\n case 'bun':\n return `bun create ${packages}`;\n case 'npm':\n return `npm create ${packages}`;\n case 'yarn':\n return `yarn create ${packages}`;\n case 'pnpm':\n return `pnpm create ${packages}`;\n }\n }\n\n // Handle run commands\n if (type === 'run') {\n switch (pm) {\n case 'bun':\n return `bun run ${packages}`;\n case 'npm':\n return `npm run ${packages}`;\n case 'yarn':\n return `yarn ${packages}`;\n case 'pnpm':\n return `pnpm ${packages}`;\n }\n }\n\n // Build flags\n const devFlag = dev ? (pm === 'npm' ? '--save-dev' : '-D') : '';\n const globalFlag = global ? '-g' : '';\n const flags = [devFlag, globalFlag].filter(Boolean).join(' ');\n\n // Handle add/install commands\n switch (pm) {\n case 'bun':\n return `bun add ${packages}${flags ? ` ${flags}` : ''}`;\n case 'npm':\n return `npm install ${packages}${flags ? ` ${flags}` : ''}`;\n case 'yarn':\n return `yarn add ${packages}${flags ? ` ${flags}` : ''}`;\n case 'pnpm':\n return `pnpm add ${packages}${flags ? ` ${flags}` : ''}`;\n }\n}\n\n/**\n * Convenience component for displaying package installation commands.\n * Automatically generates the correct command for each package manager.\n *\n * @example\n * ```tsx\n * <InstallCommand package=\"@contractspec/lib.contracts\" />\n * <InstallCommand package={[\"react\", \"react-dom\"]} />\n * <InstallCommand package=\"typescript\" dev />\n * <InstallCommand package=\"create-next-app\" type=\"exec\" />\n * ```\n */\nexport function InstallCommand({\n package: packageName,\n type = 'add',\n dev = false,\n global = false,\n ...props\n}: InstallCommandProps) {\n const packageNames = useMemo(\n () => (Array.isArray(packageName) ? packageName : [packageName]),\n [packageName]\n );\n\n const commands = useMemo(\n () => ({\n bun: buildCommand('bun', packageNames, type, dev, global),\n npm: buildCommand('npm', packageNames, type, dev, global),\n yarn: buildCommand('yarn', packageNames, type, dev, global),\n pnpm: buildCommand('pnpm', packageNames, type, dev, global),\n }),\n [packageNames, type, dev, global]\n );\n\n return <CommandTabs commands={commands} {...props} />;\n}\n"],"mappings":";;;;;;;AAOA,SAAS,aACP,IACA,cACA,MACA,KACA,QACQ;CACR,MAAM,WAAW,aAAa,KAAK,IAAI;AAGvC,KAAI,SAAS,OACX,SAAQ,IAAR;EACE,KAAK,MACH,QAAO,QAAQ;EACjB,KAAK,MACH,QAAO,OAAO;EAChB,KAAK,OACH,QAAO,YAAY;EACrB,KAAK,OACH,QAAO,YAAY;;AAKzB,KAAI,SAAS,SACX,SAAQ,IAAR;EACE,KAAK,MACH,QAAO,cAAc;EACvB,KAAK,MACH,QAAO,cAAc;EACvB,KAAK,OACH,QAAO,eAAe;EACxB,KAAK,OACH,QAAO,eAAe;;AAK5B,KAAI,SAAS,MACX,SAAQ,IAAR;EACE,KAAK,MACH,QAAO,WAAW;EACpB,KAAK,MACH,QAAO,WAAW;EACpB,KAAK,OACH,QAAO,QAAQ;EACjB,KAAK,OACH,QAAO,QAAQ;;CAOrB,MAAM,QAAQ,CAFE,MAAO,OAAO,QAAQ,eAAe,OAAQ,IAC1C,SAAS,OAAO,GACA,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;AAG7D,SAAQ,IAAR;EACE,KAAK,MACH,QAAO,WAAW,WAAW,QAAQ,IAAI,UAAU;EACrD,KAAK,MACH,QAAO,eAAe,WAAW,QAAQ,IAAI,UAAU;EACzD,KAAK,OACH,QAAO,YAAY,WAAW,QAAQ,IAAI,UAAU;EACtD,KAAK,OACH,QAAO,YAAY,WAAW,QAAQ,IAAI,UAAU;;;;;;;;;;;;;;;AAgB1D,SAAgB,eAAe,EAC7B,SAAS,aACT,OAAO,OACP,MAAM,OACN,SAAS,OACT,GAAG,SACmB;CACtB,MAAM,eAAe,cACZ,MAAM,QAAQ,YAAY,GAAG,cAAc,CAAC,YAAY,EAC/D,CAAC,YAAY,CACd;AAYD,QAAO,oBAAC;EAAY,UAVH,eACR;GACL,KAAK,aAAa,OAAO,cAAc,MAAM,KAAK,OAAO;GACzD,KAAK,aAAa,OAAO,cAAc,MAAM,KAAK,OAAO;GACzD,MAAM,aAAa,QAAQ,cAAc,MAAM,KAAK,OAAO;GAC3D,MAAM,aAAa,QAAQ,cAAc,MAAM,KAAK,OAAO;GAC5D,GACD;GAAC;GAAc;GAAM;GAAK;GAAO,CAClC;EAEuC,GAAI;GAAS"}
@@ -0,0 +1,2 @@
1
+ import { InstallCommandProps, InstallCommandType } from "./types.js";
2
+ import { InstallCommand } from "./InstallCommand.js";
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes } from "react";
2
+
3
+ //#region src/components/molecules/InstallCommand/types.d.ts
4
+ type InstallCommandType = 'add' | 'install' | 'create' | 'run' | 'exec';
5
+ interface InstallCommandProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
6
+ /** The package name(s) to install */
7
+ package: string | string[];
8
+ /** The type of command (defaults to 'add' for package installation) */
9
+ type?: InstallCommandType;
10
+ /** Whether this is a dev dependency (adds -D flag) */
11
+ dev?: boolean;
12
+ /** Whether this is a global installation (adds -g flag) */
13
+ global?: boolean;
14
+ }
15
+ //#endregion
16
+ export { InstallCommandProps, InstallCommandType };
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/components/molecules/InstallCommand/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,kBAAA;UAEK,mBAAA,SAA4B,KAC3C,eAAe;EAHL;EAEK,OAAA,EAAA,MAAA,GAAA,MAAoB,EAAA;EACpB;EAAf,IAAA,CAAA,EAMO,kBANP;EAMO;EAPoC,GAAA,CAAA,EAAA,OAAA;EAAI"}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime41 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime42 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/LangSwitch.d.ts
5
5
  interface LangOption {
@@ -17,7 +17,7 @@ declare function LangSwitch({
17
17
  options,
18
18
  onChange,
19
19
  size
20
- }: LangSwitchProps): react_jsx_runtime41.JSX.Element;
20
+ }: LangSwitchProps): react_jsx_runtime42.JSX.Element;
21
21
  //#endregion
22
22
  export { LangSwitch, LangSwitchProps };
23
23
  //# sourceMappingURL=LangSwitch.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime73 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime74 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/LoaderBlock.d.ts
5
5
  interface LoaderBlockProps {
@@ -13,7 +13,7 @@ declare function LoaderBlock({
13
13
  description,
14
14
  className,
15
15
  size
16
- }: LoaderBlockProps): react_jsx_runtime73.JSX.Element;
16
+ }: LoaderBlockProps): react_jsx_runtime74.JSX.Element;
17
17
  //#endregion
18
18
  export { LoaderBlock };
19
19
  //# sourceMappingURL=LoaderBlock.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { HeaderNavItem } from "../../types/navigation.js";
2
- import * as react_jsx_runtime17 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime16 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/NavMain.d.ts
5
5
  declare function NavMain({
@@ -8,7 +8,7 @@ declare function NavMain({
8
8
  }: {
9
9
  items: HeaderNavItem[];
10
10
  className?: string;
11
- }): react_jsx_runtime17.JSX.Element;
11
+ }): react_jsx_runtime16.JSX.Element;
12
12
  //#endregion
13
13
  export { NavMain };
14
14
  //# sourceMappingURL=NavMain.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { UserMenuItem } from "../../types/navigation.js";
2
- import * as react_jsx_runtime18 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime17 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/NavUser.d.ts
5
5
  declare function NavUser({
@@ -12,7 +12,7 @@ declare function NavUser({
12
12
  email?: string;
13
13
  imageUrl?: string;
14
14
  items: UserMenuItem[];
15
- }): react_jsx_runtime18.JSX.Element;
15
+ }): react_jsx_runtime17.JSX.Element;
16
16
  //#endregion
17
17
  export { NavUser };
18
18
  //# sourceMappingURL=NavUser.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime49 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime50 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/OverviewCard.d.ts
5
5
  interface OverviewCardProps {
@@ -15,7 +15,7 @@ declare function OverviewCard({
15
15
  href,
16
16
  preview,
17
17
  ctaLabel
18
- }: OverviewCardProps): react_jsx_runtime49.JSX.Element;
18
+ }: OverviewCardProps): react_jsx_runtime50.JSX.Element;
19
19
  //#endregion
20
20
  export { OverviewCard };
21
21
  //# sourceMappingURL=OverviewCard.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { SkeletonBlockProps } from "./types.js";
2
- import * as react_jsx_runtime108 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime117 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/SkeletonBlock/index.web.d.ts
5
5
  declare function SkeletonBlock({
@@ -7,7 +7,7 @@ declare function SkeletonBlock({
7
7
  h,
8
8
  rounded,
9
9
  className
10
- }: SkeletonBlockProps): react_jsx_runtime108.JSX.Element;
10
+ }: SkeletonBlockProps): react_jsx_runtime117.JSX.Element;
11
11
  //#endregion
12
12
  export { SkeletonBlock };
13
13
  //# sourceMappingURL=index.web.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { SkeletonCircleProps } from "./types.js";
2
- import * as react_jsx_runtime109 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime116 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/SkeletonCircle/index.web.d.ts
5
5
  declare function SkeletonCircle({
6
6
  size,
7
7
  sizeClass,
8
8
  className
9
- }: SkeletonCircleProps): react_jsx_runtime109.JSX.Element;
9
+ }: SkeletonCircleProps): react_jsx_runtime116.JSX.Element;
10
10
  //#endregion
11
11
  export { SkeletonCircle };
12
12
  //# sourceMappingURL=index.web.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { SkeletonListProps } from "./types.js";
2
- import * as react_jsx_runtime110 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime118 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/molecules/SkeletonList/index.web.d.ts
5
5
  declare function SkeletonList({
6
6
  count,
7
7
  className
8
- }: SkeletonListProps): react_jsx_runtime110.JSX.Element;
8
+ }: SkeletonListProps): react_jsx_runtime118.JSX.Element;
9
9
  //#endregion
10
10
  export { SkeletonList };
11
11
  //# sourceMappingURL=index.web.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime47 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime48 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import { Card } from "@contractspec/lib.ui-kit-web/ui/card";
5
5
  import * as class_variance_authority_types8 from "class-variance-authority/types";
6
6
 
7
7
  //#region src/components/molecules/StatCard.d.ts
8
8
  declare const statVariants: (props?: ({
9
- emphasis?: "default" | "strong" | "subtle" | null | undefined;
9
+ emphasis?: "strong" | "default" | "subtle" | null | undefined;
10
10
  density?: "compact" | "comfortable" | null | undefined;
11
11
  } & class_variance_authority_types8.ClassProp) | undefined) => string;
12
12
  type StatCardProps = React.ComponentProps<typeof Card> & VariantProps<typeof statVariants> & {
@@ -24,14 +24,14 @@ declare function StatCard({
24
24
  density,
25
25
  className,
26
26
  ...props
27
- }: StatCardProps): react_jsx_runtime47.JSX.Element;
27
+ }: StatCardProps): react_jsx_runtime48.JSX.Element;
28
28
  declare function StatCardGroup({
29
29
  children,
30
30
  className
31
31
  }: {
32
32
  children: React.ReactNode;
33
33
  className?: string;
34
- }): react_jsx_runtime47.JSX.Element;
34
+ }): react_jsx_runtime48.JSX.Element;
35
35
  //#endregion
36
36
  export { StatCard, StatCardGroup };
37
37
  //# sourceMappingURL=StatCard.d.ts.map