@contractspec/lib.design-system 1.46.1 → 1.47.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 (139) hide show
  1. package/dist/components/atoms/Cta.js.map +1 -1
  2. package/dist/components/atoms/ErrorState.d.ts +2 -2
  3. package/dist/components/atoms/LoaderCircular.d.ts +2 -2
  4. package/dist/components/atoms/NavBrand.d.ts +2 -2
  5. package/dist/components/data-view/DataViewDetail.d.ts +2 -2
  6. package/dist/components/data-view/DataViewList.d.ts +2 -2
  7. package/dist/components/data-view/DataViewRenderer.js.map +1 -1
  8. package/dist/components/data-view/DataViewTable.d.ts +2 -2
  9. package/dist/components/data-view/utils.js.map +1 -1
  10. package/dist/components/forms/ActionForm.d.ts +2 -2
  11. package/dist/components/forms/FormCardLayout.d.ts +2 -2
  12. package/dist/components/forms/FormDialog.d.ts +2 -2
  13. package/dist/components/forms/FormLayout.d.ts +4 -4
  14. package/dist/components/forms/FormOneByOneLayout.d.ts +2 -2
  15. package/dist/components/forms/FormStepsLayout.d.ts +2 -2
  16. package/dist/components/forms/ZodForm.d.ts +2 -2
  17. package/dist/components/legal/atoms/DefinitionList.d.ts +2 -2
  18. package/dist/components/legal/atoms/KeyValueList.d.ts +2 -2
  19. package/dist/components/legal/atoms/LegalCallout.d.ts +2 -2
  20. package/dist/components/legal/atoms/LegalHeading.d.ts +2 -2
  21. package/dist/components/legal/atoms/LegalList.d.ts +2 -2
  22. package/dist/components/legal/atoms/LegalSection.d.ts +2 -2
  23. package/dist/components/legal/atoms/LegalText.d.ts +2 -2
  24. package/dist/components/legal/molecules/Consent.d.ts +3 -3
  25. package/dist/components/legal/molecules/ContactFields.d.ts +2 -2
  26. package/dist/components/legal/molecules/LegalMeta.d.ts +2 -2
  27. package/dist/components/legal/molecules/LegalTOC.d.ts +2 -2
  28. package/dist/components/legal/organisms/ContactForm.d.ts +2 -2
  29. package/dist/components/legal/organisms/GDPRDataRequest.d.ts +2 -2
  30. package/dist/components/legal/organisms/GDPRRights.d.ts +2 -2
  31. package/dist/components/legal/organisms/LegalPageLayout.d.ts +2 -2
  32. package/dist/components/legal/templates/ContactTemplate.d.ts +2 -2
  33. package/dist/components/legal/templates/ContactTemplate.js +0 -1
  34. package/dist/components/legal/templates/ContactTemplate.js.map +1 -1
  35. package/dist/components/legal/templates/CookiesTemplate.d.ts +2 -2
  36. package/dist/components/legal/templates/PrivacyTemplate.d.ts +2 -2
  37. package/dist/components/legal/templates/SalesTermsTemplate.d.ts +2 -2
  38. package/dist/components/legal/templates/TermsTemplate.d.ts +2 -2
  39. package/dist/components/marketing/MarketingCard.d.ts +2 -2
  40. package/dist/components/marketing/MarketingCard.js.map +1 -1
  41. package/dist/components/marketing/MarketingCardsSection.d.ts +2 -2
  42. package/dist/components/marketing/MarketingComparisonSection.d.ts +2 -2
  43. package/dist/components/marketing/MarketingIconCard.d.ts +2 -2
  44. package/dist/components/marketing/MarketingSection.d.ts +2 -2
  45. package/dist/components/marketing/MarketingStepCard.d.ts +2 -2
  46. package/dist/components/molecules/AiLinkButton.d.ts +2 -2
  47. package/dist/components/molecules/Breadcrumbs.d.ts +2 -2
  48. package/dist/components/molecules/CodeBlock/CodeBlock.d.ts +16 -0
  49. package/dist/components/molecules/CodeBlock/CodeBlock.d.ts.map +1 -0
  50. package/dist/components/molecules/CodeBlock/CodeBlock.js +54 -0
  51. package/dist/components/molecules/CodeBlock/CodeBlock.js.map +1 -0
  52. package/dist/components/molecules/CodeBlock/index.d.ts +2 -0
  53. package/dist/components/molecules/CodeBlock/types.d.ts +19 -0
  54. package/dist/components/molecules/CodeBlock/types.d.ts.map +1 -0
  55. package/dist/components/molecules/CommandPalette.d.ts +2 -2
  56. package/dist/components/molecules/CommandSearchTrigger.d.ts +2 -2
  57. package/dist/components/molecules/CommandTabs/CommandTabs.d.ts +13 -0
  58. package/dist/components/molecules/CommandTabs/CommandTabs.d.ts.map +1 -0
  59. package/dist/components/molecules/CommandTabs/CommandTabs.js +68 -0
  60. package/dist/components/molecules/CommandTabs/CommandTabs.js.map +1 -0
  61. package/dist/components/molecules/CommandTabs/index.d.ts +2 -0
  62. package/dist/components/molecules/CommandTabs/types.d.ts +19 -0
  63. package/dist/components/molecules/CommandTabs/types.d.ts.map +1 -0
  64. package/dist/components/molecules/CopyButton/CopyButton.d.ts +13 -0
  65. package/dist/components/molecules/CopyButton/CopyButton.d.ts.map +1 -0
  66. package/dist/components/molecules/CopyButton/CopyButton.js +42 -0
  67. package/dist/components/molecules/CopyButton/CopyButton.js.map +1 -0
  68. package/dist/components/molecules/CopyButton/index.d.ts +2 -0
  69. package/dist/components/molecules/CopyButton/types.d.ts +12 -0
  70. package/dist/components/molecules/CopyButton/types.d.ts.map +1 -0
  71. package/dist/components/molecules/EntityCard.d.ts +2 -2
  72. package/dist/components/molecules/EntityCard.js.map +1 -1
  73. package/dist/components/molecules/FiltersToolbar.d.ts +2 -2
  74. package/dist/components/molecules/FiltersToolbar.js +0 -1
  75. package/dist/components/molecules/FiltersToolbar.js.map +1 -1
  76. package/dist/components/molecules/HoverPreview.d.ts +2 -2
  77. package/dist/components/molecules/InstallCommand/InstallCommand.d.ts +27 -0
  78. package/dist/components/molecules/InstallCommand/InstallCommand.d.ts.map +1 -0
  79. package/dist/components/molecules/InstallCommand/InstallCommand.js +68 -0
  80. package/dist/components/molecules/InstallCommand/InstallCommand.js.map +1 -0
  81. package/dist/components/molecules/InstallCommand/index.d.ts +2 -0
  82. package/dist/components/molecules/InstallCommand/types.d.ts +17 -0
  83. package/dist/components/molecules/InstallCommand/types.d.ts.map +1 -0
  84. package/dist/components/molecules/LangSwitch.d.ts +2 -2
  85. package/dist/components/molecules/LoaderBlock.d.ts +2 -2
  86. package/dist/components/molecules/OverviewCard.d.ts +2 -2
  87. package/dist/components/molecules/SkeletonBlock/index.web.d.ts +2 -2
  88. package/dist/components/molecules/SkeletonCircle/index.web.d.ts +2 -2
  89. package/dist/components/molecules/SkeletonList/index.web.d.ts +2 -2
  90. package/dist/components/molecules/StatCard.d.ts +3 -3
  91. package/dist/components/molecules/StatusChip.d.ts +2 -2
  92. package/dist/components/molecules/hover-previews/Doc.d.ts +2 -2
  93. package/dist/components/molecules/hover-previews/Media.d.ts +2 -2
  94. package/dist/components/molecules/hover-previews/Simple.d.ts +2 -2
  95. package/dist/components/molecules/hover-previews/Stats.d.ts +2 -2
  96. package/dist/components/molecules/hover-previews/User.d.ts +2 -2
  97. package/dist/components/organisms/AcademyLayout.d.ts +2 -2
  98. package/dist/components/organisms/AppHeader.d.ts +2 -2
  99. package/dist/components/organisms/AppLayout.d.ts +2 -2
  100. package/dist/components/organisms/AppSidebar.d.ts +2 -2
  101. package/dist/components/organisms/EmptyDataList.d.ts +2 -2
  102. package/dist/components/organisms/EmptySearchResult.d.ts +2 -2
  103. package/dist/components/organisms/FAQSection.d.ts +2 -2
  104. package/dist/components/organisms/FeatureCarousel.d.ts +2 -2
  105. package/dist/components/organisms/FeaturesSection.d.ts +2 -2
  106. package/dist/components/organisms/Footer.d.ts +2 -2
  107. package/dist/components/organisms/Header.d.ts +4 -4
  108. package/dist/components/organisms/HeroResponsive.d.ts +2 -2
  109. package/dist/components/organisms/HeroSection.d.ts +2 -2
  110. package/dist/components/organisms/ListCardPage.d.ts +2 -2
  111. package/dist/components/organisms/ListGridPage.d.ts +2 -2
  112. package/dist/components/organisms/ListPageResponsive.d.ts +2 -2
  113. package/dist/components/organisms/ListTablePage.d.ts +2 -2
  114. package/dist/components/organisms/MarketingHeader.d.ts +2 -2
  115. package/dist/components/organisms/MarketingHeader.js +1 -1
  116. package/dist/components/organisms/MarketingHeader.js.map +1 -1
  117. package/dist/components/organisms/MarketingHeaderDesktop.d.ts +2 -2
  118. package/dist/components/organisms/MarketingHeaderMobile.d.ts +2 -2
  119. package/dist/components/organisms/MarketingLayout.d.ts +2 -2
  120. package/dist/components/organisms/PageHeaderResponsive.d.ts +2 -2
  121. package/dist/components/organisms/PricingCarousel.d.ts +2 -2
  122. package/dist/components/organisms/PricingSection.d.ts +2 -2
  123. package/dist/components/organisms/TestimonialCarousel.d.ts +2 -2
  124. package/dist/components/providers/PackageManagerProvider.d.ts +26 -0
  125. package/dist/components/providers/PackageManagerProvider.d.ts.map +1 -0
  126. package/dist/components/providers/PackageManagerProvider.js +50 -0
  127. package/dist/components/providers/PackageManagerProvider.js.map +1 -0
  128. package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +2 -2
  129. package/dist/hooks/useListUrlState.js.map +1 -1
  130. package/dist/index.d.ts +14 -1
  131. package/dist/index.js +6 -2
  132. package/dist/index.js.map +1 -1
  133. package/dist/lib/keyboard.js.map +1 -1
  134. package/dist/platform/useResponsive.js.map +1 -1
  135. package/dist/platform/withPlatformUI.js.map +1 -1
  136. package/dist/renderers/form-contract.d.ts +2 -2
  137. package/dist/theme/tokens.js.map +1 -1
  138. package/package.json +16 -13
  139. package/dist/types/navigation.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { HeroSection } from "./HeroSection.js";
2
2
  import * as React from "react";
3
- import * as react_jsx_runtime59 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime60 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/organisms/HeroResponsive.d.ts
6
6
  declare function HeroResponsive({
@@ -9,7 +9,7 @@ declare function HeroResponsive({
9
9
  primaryCta,
10
10
  secondaryCta,
11
11
  className
12
- }: React.ComponentProps<typeof HeroSection>): react_jsx_runtime59.JSX.Element;
12
+ }: React.ComponentProps<typeof HeroSection>): react_jsx_runtime60.JSX.Element;
13
13
  //#endregion
14
14
  export { HeroResponsive };
15
15
  //# sourceMappingURL=HeroResponsive.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime58 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime59 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/organisms/HeroSection.d.ts
5
5
  declare function HeroSection({
@@ -24,7 +24,7 @@ declare function HeroSection({
24
24
  };
25
25
  className?: string;
26
26
  density?: 'compact' | 'comfortable';
27
- }): react_jsx_runtime58.JSX.Element;
27
+ }): react_jsx_runtime59.JSX.Element;
28
28
  //#endregion
29
29
  export { HeroSection };
30
30
  //# sourceMappingURL=HeroSection.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime66 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime67 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types11 from "class-variance-authority/types";
5
5
 
@@ -31,7 +31,7 @@ declare function ListCardPage<T>({
31
31
  columns,
32
32
  density,
33
33
  size
34
- }: ListCardPageProps<T>): react_jsx_runtime66.JSX.Element;
34
+ }: ListCardPageProps<T>): react_jsx_runtime67.JSX.Element;
35
35
  //#endregion
36
36
  export { ListCardPage };
37
37
  //# sourceMappingURL=ListCardPage.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime65 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime66 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types9 from "class-variance-authority/types";
5
5
 
@@ -31,7 +31,7 @@ declare function ListGridPage<T>({
31
31
  columns,
32
32
  density,
33
33
  size
34
- }: ListGridPageProps<T>): react_jsx_runtime65.JSX.Element;
34
+ }: ListGridPageProps<T>): react_jsx_runtime66.JSX.Element;
35
35
  //#endregion
36
36
  export { ListGridPage };
37
37
  //# sourceMappingURL=ListGridPage.d.ts.map
@@ -1,8 +1,8 @@
1
- import * as react_jsx_runtime64 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime65 from "react/jsx-runtime";
2
2
  import { ListPageProps } from "@contractspec/lib.ui-kit-web/ui/organisms/ListPage/types";
3
3
 
4
4
  //#region src/components/organisms/ListPageResponsive.d.ts
5
- declare function ListPageResponsive<T>(props: ListPageProps<T>): react_jsx_runtime64.JSX.Element;
5
+ declare function ListPageResponsive<T>(props: ListPageProps<T>): react_jsx_runtime65.JSX.Element;
6
6
  //#endregion
7
7
  export { ListPageResponsive };
8
8
  //# sourceMappingURL=ListPageResponsive.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime67 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime68 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types13 from "class-variance-authority/types";
5
5
 
@@ -28,7 +28,7 @@ declare function ListTablePage<T>({
28
28
  className,
29
29
  density,
30
30
  renderActions
31
- }: ListTablePageProps<T>): react_jsx_runtime67.JSX.Element;
31
+ }: ListTablePageProps<T>): react_jsx_runtime68.JSX.Element;
32
32
  //#endregion
33
33
  export { ListTablePage };
34
34
  //# sourceMappingURL=ListTablePage.d.ts.map
@@ -2,7 +2,7 @@ import { CtaAction, HeaderNavItem, UserMenuItem } from "../../types/navigation.j
2
2
  import { CommandPalette } from "../molecules/CommandPalette.js";
3
3
  import { LangSwitchProps } from "../molecules/LangSwitch.js";
4
4
  import * as React from "react";
5
- import * as react_jsx_runtime27 from "react/jsx-runtime";
5
+ import * as react_jsx_runtime28 from "react/jsx-runtime";
6
6
 
7
7
  //#region src/components/organisms/MarketingHeader.d.ts
8
8
  interface MarketingHeaderProps {
@@ -33,7 +33,7 @@ declare function MarketingHeader({
33
33
  right,
34
34
  commandPaletteGroups,
35
35
  langSwitchProps
36
- }: MarketingHeaderProps): react_jsx_runtime27.JSX.Element;
36
+ }: MarketingHeaderProps): react_jsx_runtime28.JSX.Element;
37
37
  //#endregion
38
38
  export { MarketingHeader, MarketingHeaderProps };
39
39
  //# sourceMappingURL=MarketingHeader.d.ts.map
@@ -5,7 +5,6 @@ import { ButtonLink } from "../atoms/ButtonLink.js";
5
5
  import { NavUser } from "../molecules/NavUser.js";
6
6
  import { NavItemCard } from "../molecules/NavItemCard.js";
7
7
  import { MobileNavMenu } from "../molecules/MobileNavMenu.js";
8
- import "../molecules/CommandPalette.js";
9
8
  import { CommandSearchTrigger } from "../molecules/CommandSearchTrigger.js";
10
9
  import { LangSwitchDropdown } from "../molecules/LangSwitchDropdown.js";
11
10
  import * as React from "react";
@@ -83,6 +82,7 @@ function MarketingHeader({ logo, nav = [], navLinkClassName, userMenu, cta, clas
83
82
  className: "grid w-[760px] grid-cols-3 gap-3 p-3",
84
83
  children: item.items.map((link) => /* @__PURE__ */ jsx(NavItemCard, { item: link }, link.href))
85
84
  }) })] }) : /* @__PURE__ */ jsx(NavigationMenuLink, {
85
+ className: navLinkClassName,
86
86
  href: item.href || "#",
87
87
  children: item.label
88
88
  }) }, String(item.key ?? item.href ?? item.label))) })
@@ -1 +1 @@
1
- {"version":3,"file":"MarketingHeader.js","names":["Nav","NavList","NavItem","NavTrigger","NavContent","NavLink"],"sources":["../../../src/components/organisms/MarketingHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\nimport { Button } from '../atoms/Button';\nimport { ButtonLink } from '../atoms/ButtonLink';\nimport {\n NavigationMenu as Nav,\n NavigationMenuContent as NavContent,\n NavigationMenuItem as NavItem,\n NavigationMenuLink as NavLink,\n NavigationMenuList as NavList,\n NavigationMenuTrigger as NavTrigger,\n} from '@contractspec/lib.ui-kit-web/ui/navigation-menu';\nimport { Separator } from '@contractspec/lib.ui-kit-web/ui/separator';\nimport {\n Sheet,\n SheetContent,\n SheetHeader,\n SheetTrigger,\n} from '@contractspec/lib.ui-kit-web/ui/sheet';\nimport { Menu } from 'lucide-react';\nimport { MobileNavMenu } from '../molecules/MobileNavMenu';\nimport { CommandSearchTrigger } from '../molecules/CommandSearchTrigger';\nimport { LangSwitchDropdown } from '../molecules/LangSwitchDropdown';\nimport type {\n CtaAction,\n HeaderNavItem,\n UserMenuItem,\n} from '../../types/navigation';\nimport { NavUser } from '../molecules/NavUser';\nimport { cva } from 'class-variance-authority';\nimport { NavItemCard } from '../molecules/NavItemCard';\nimport { Box, HStack, VStack } from '@contractspec/lib.ui-kit-web/ui/stack';\nimport { CommandPalette } from '../molecules/CommandPalette';\nimport type { LangSwitchProps } from '../molecules/LangSwitch';\nimport { Text } from '@contractspec/lib.ui-kit-web/ui/text';\n\nexport interface MarketingHeaderProps {\n logo: React.ReactNode;\n nav?: HeaderNavItem[];\n navLinkClassName?: string;\n userMenu?: {\n name?: string;\n email?: string;\n imageUrl?: string;\n items: UserMenuItem[];\n };\n cta?: CtaAction;\n className?: string;\n density?: 'compact' | 'comfortable';\n right?: React.ReactNode; // e.g. AI link button, extra actions\n commandPaletteGroups: React.ComponentProps<typeof CommandPalette>['groups'];\n langSwitchProps: LangSwitchProps;\n}\n\nconst headerVariants = cva('flex items-center justify-between gap-4', {\n variants: {\n density: {\n compact: 'px-3 py-2',\n comfortable: 'px-4 py-3',\n },\n },\n defaultVariants: { density: 'comfortable' },\n});\n\nexport function MarketingHeader({\n logo,\n nav = [],\n navLinkClassName,\n userMenu,\n cta,\n className,\n density,\n right,\n commandPaletteGroups,\n langSwitchProps,\n}: MarketingHeaderProps) {\n const [open, setOpen] = React.useState(false);\n return (\n <HStack\n as=\"header\"\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur-xs',\n className\n )}\n >\n <HStack\n className={cn(\n 'mx-auto w-full max-w-7xl items-center justify-center',\n headerVariants({ density })\n )}\n >\n {/* Mobile: compact left cluster */}\n <VStack className=\"flex items-center gap-2 md:hidden\">\n {/* Menu trigger (sheet) */}\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n\n <SheetContent side=\"left\" className=\"w-[320px] p-4\">\n {!!commandPaletteGroups?.length && (\n <SheetHeader>\n <CommandSearchTrigger groups={commandPaletteGroups} />\n {/*<SheetTitle>Menu</SheetTitle>*/}\n </SheetHeader>\n )}\n\n {cta && (\n <VStack className=\"mb-3\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </VStack>\n )}\n\n <MobileNavMenu items={nav} />\n </SheetContent>\n </Sheet>\n </VStack>\n\n {logo}\n\n {/* Desktop navigation */}\n <HStack className=\"hidden items-center gap-4 md:flex\">\n {nav.length > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <Nav className=\"hidden md:flex\">\n <NavList>\n {nav.map((item) => (\n <NavItem key={String(item.key ?? item.href ?? item.label)}>\n {item.items && item.items.length > 0 ? (\n <>\n <NavTrigger className={navLinkClassName}>\n {item.label}\n </NavTrigger>\n <NavContent>\n <div className=\"grid w-[760px] grid-cols-3 gap-3 p-3\">\n {item.items.map((link) => (\n <NavItemCard key={link.href} item={link} />\n ))}\n </div>\n </NavContent>\n </>\n ) : (\n <NavLink href={item.href || '#'}>{item.label}</NavLink>\n )}\n </NavItem>\n ))}\n </NavList>\n </Nav>\n </>\n )}\n </HStack>\n\n <HStack className=\"flex items-center gap-2\">\n {/* Desktop: show search trigger and custom right slot */}\n {!!commandPaletteGroups?.length && (\n <Box className=\"hidden items-center gap-2 md:flex\">\n <CommandSearchTrigger groups={commandPaletteGroups} />\n </Box>\n )}\n\n {!!(langSwitchProps?.options?.length > 1) && (\n <LangSwitchDropdown\n value={langSwitchProps.value}\n onChange={langSwitchProps.onChange}\n options={langSwitchProps.options}\n />\n )}\n\n {right && <Box className=\"hidden md:flex\">{right}</Box>}\n\n {cta && (\n <Box className=\"hidden md:flex\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </Box>\n )}\n\n {userMenu && <NavUser {...userMenu} />}\n </HStack>\n </HStack>\n </HStack>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwDA,MAAM,iBAAiB,IAAI,2CAA2C;CACpE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CAAC;AAEF,SAAgB,gBAAgB,EAC9B,MACA,MAAM,EAAE,EACR,kBACA,UACA,KACA,WACA,SACA,OACA,sBACA,mBACuB;CACvB,MAAM,CAAC,MAAM,WAAW,MAAM,SAAS,MAAM;AAC7C,QACE,oBAAC;EACC,IAAG;EACH,WAAW,GACT,iHACA,UACD;YAED,qBAAC;GACC,WAAW,GACT,wDACA,eAAe,EAAE,SAAS,CAAC,CAC5B;;IAGD,oBAAC;KAAO,WAAU;eAEhB,qBAAC;MAAY;MAAM,cAAc;iBAC/B,oBAAC;OAAa;iBACZ,oBAAC;QAAO,SAAQ;QAAQ,MAAK;QAAO,cAAW;kBAC7C,oBAAC,QAAK,WAAU,YAAY;SACrB;QACI,EAEf,qBAAC;OAAa,MAAK;OAAO,WAAU;;QACjC,CAAC,CAAC,sBAAsB,UACvB,oBAAC,yBACC,oBAAC,wBAAqB,QAAQ,uBAAwB,GAE1C;QAGf,OACC,oBAAC;SAAO,WAAU;mBAChB,oBAAC;UACC,SAAS,IAAI;UACb,MAAM,IAAI;UACV,MAAM,IAAI;UACV,SAAS,IAAI;oBAEb,oBAAC,kBAAM,IAAI,QAAa;WACb;UACN;QAGX,oBAAC,iBAAc,OAAO,MAAO;;QAChB;OACT;MACD;IAER;IAGD,oBAAC;KAAO,WAAU;eACf,IAAI,SAAS,KACZ,4CACE,oBAAC;MAAU,aAAY;MAAW,WAAU;OAAQ,EACpD,oBAACA;MAAI,WAAU;gBACb,oBAACC,gCACE,IAAI,KAAK,SACR,oBAACC,gCACE,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,4CACE,oBAACC;OAAW,WAAW;iBACpB,KAAK;QACK,EACb,oBAACC,mCACC,oBAAC;OAAI,WAAU;iBACZ,KAAK,MAAM,KAAK,SACf,oBAAC,eAA4B,MAAM,QAAjB,KAAK,KAAoB,CAC3C;QACE,GACK,IACZ,GAEH,oBAACC;OAAQ,MAAM,KAAK,QAAQ;iBAAM,KAAK;QAAgB,IAf7C,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,CAiB/C,CACV,GACM;OACN,IACL;MAEE;IAET,qBAAC;KAAO,WAAU;;MAEf,CAAC,CAAC,sBAAsB,UACvB,oBAAC;OAAI,WAAU;iBACb,oBAAC,wBAAqB,QAAQ,uBAAwB;QAClD;MAGP,CAAC,EAAE,iBAAiB,SAAS,SAAS,MACrC,oBAAC;OACC,OAAO,gBAAgB;OACvB,UAAU,gBAAgB;OAC1B,SAAS,gBAAgB;QACzB;MAGH,SAAS,oBAAC;OAAI,WAAU;iBAAkB;QAAY;MAEtD,OACC,oBAAC;OAAI,WAAU;iBACb,oBAAC;QACC,SAAS,IAAI;QACb,MAAM,IAAI;QACV,MAAM,IAAI;QACV,SAAS,IAAI;kBAEb,oBAAC,kBAAM,IAAI,QAAa;SACb;QACT;MAGP,YAAY,oBAAC,WAAQ,GAAI,WAAY;;MAC/B;;IACF;GACF"}
1
+ {"version":3,"file":"MarketingHeader.js","names":["Nav","NavList","NavItem","NavTrigger","NavContent","NavLink"],"sources":["../../../src/components/organisms/MarketingHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\nimport { Button } from '../atoms/Button';\nimport { ButtonLink } from '../atoms/ButtonLink';\nimport {\n NavigationMenu as Nav,\n NavigationMenuContent as NavContent,\n NavigationMenuItem as NavItem,\n NavigationMenuLink as NavLink,\n NavigationMenuList as NavList,\n NavigationMenuTrigger as NavTrigger,\n} from '@contractspec/lib.ui-kit-web/ui/navigation-menu';\nimport { Separator } from '@contractspec/lib.ui-kit-web/ui/separator';\nimport {\n Sheet,\n SheetContent,\n SheetHeader,\n SheetTrigger,\n} from '@contractspec/lib.ui-kit-web/ui/sheet';\nimport { Menu } from 'lucide-react';\nimport { MobileNavMenu } from '../molecules/MobileNavMenu';\nimport { CommandSearchTrigger } from '../molecules/CommandSearchTrigger';\nimport { LangSwitchDropdown } from '../molecules/LangSwitchDropdown';\nimport type {\n CtaAction,\n HeaderNavItem,\n UserMenuItem,\n} from '../../types/navigation';\nimport { NavUser } from '../molecules/NavUser';\nimport { cva } from 'class-variance-authority';\nimport { NavItemCard } from '../molecules/NavItemCard';\nimport { Box, HStack, VStack } from '@contractspec/lib.ui-kit-web/ui/stack';\nimport { CommandPalette } from '../molecules/CommandPalette';\nimport type { LangSwitchProps } from '../molecules/LangSwitch';\nimport { Text } from '@contractspec/lib.ui-kit-web/ui/text';\n\nexport interface MarketingHeaderProps {\n logo: React.ReactNode;\n nav?: HeaderNavItem[];\n navLinkClassName?: string;\n userMenu?: {\n name?: string;\n email?: string;\n imageUrl?: string;\n items: UserMenuItem[];\n };\n cta?: CtaAction;\n className?: string;\n density?: 'compact' | 'comfortable';\n right?: React.ReactNode; // e.g. AI link button, extra actions\n commandPaletteGroups: React.ComponentProps<typeof CommandPalette>['groups'];\n langSwitchProps: LangSwitchProps;\n}\n\nconst headerVariants = cva('flex items-center justify-between gap-4', {\n variants: {\n density: {\n compact: 'px-3 py-2',\n comfortable: 'px-4 py-3',\n },\n },\n defaultVariants: { density: 'comfortable' },\n});\n\nexport function MarketingHeader({\n logo,\n nav = [],\n navLinkClassName,\n userMenu,\n cta,\n className,\n density,\n right,\n commandPaletteGroups,\n langSwitchProps,\n}: MarketingHeaderProps) {\n const [open, setOpen] = React.useState(false);\n return (\n <HStack\n as=\"header\"\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur-xs',\n className\n )}\n >\n <HStack\n className={cn(\n 'mx-auto w-full max-w-7xl items-center justify-center',\n headerVariants({ density })\n )}\n >\n {/* Mobile: compact left cluster */}\n <VStack className=\"flex items-center gap-2 md:hidden\">\n {/* Menu trigger (sheet) */}\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n\n <SheetContent side=\"left\" className=\"w-[320px] p-4\">\n {!!commandPaletteGroups?.length && (\n <SheetHeader>\n <CommandSearchTrigger groups={commandPaletteGroups} />\n {/*<SheetTitle>Menu</SheetTitle>*/}\n </SheetHeader>\n )}\n\n {cta && (\n <VStack className=\"mb-3\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </VStack>\n )}\n\n <MobileNavMenu items={nav} />\n </SheetContent>\n </Sheet>\n </VStack>\n\n {logo}\n\n {/* Desktop navigation */}\n <HStack className=\"hidden items-center gap-4 md:flex\">\n {nav.length > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <Nav className=\"hidden md:flex\">\n <NavList>\n {nav.map((item) => (\n <NavItem key={String(item.key ?? item.href ?? item.label)}>\n {item.items && item.items.length > 0 ? (\n <>\n <NavTrigger className={navLinkClassName}>\n {item.label}\n </NavTrigger>\n <NavContent>\n <div className=\"grid w-[760px] grid-cols-3 gap-3 p-3\">\n {item.items.map((link) => (\n <NavItemCard key={link.href} item={link} />\n ))}\n </div>\n </NavContent>\n </>\n ) : (\n <NavLink\n className={navLinkClassName}\n href={item.href || '#'}\n >\n {item.label}\n </NavLink>\n )}\n </NavItem>\n ))}\n </NavList>\n </Nav>\n </>\n )}\n </HStack>\n\n <HStack className=\"flex items-center gap-2\">\n {/* Desktop: show search trigger and custom right slot */}\n {!!commandPaletteGroups?.length && (\n <Box className=\"hidden items-center gap-2 md:flex\">\n <CommandSearchTrigger groups={commandPaletteGroups} />\n </Box>\n )}\n\n {!!(langSwitchProps?.options?.length > 1) && (\n <LangSwitchDropdown\n value={langSwitchProps.value}\n onChange={langSwitchProps.onChange}\n options={langSwitchProps.options}\n />\n )}\n\n {right && <Box className=\"hidden md:flex\">{right}</Box>}\n\n {cta && (\n <Box className=\"hidden md:flex\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </Box>\n )}\n\n {userMenu && <NavUser {...userMenu} />}\n </HStack>\n </HStack>\n </HStack>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwDA,MAAM,iBAAiB,IAAI,2CAA2C;CACpE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CAAC;AAEF,SAAgB,gBAAgB,EAC9B,MACA,MAAM,EAAE,EACR,kBACA,UACA,KACA,WACA,SACA,OACA,sBACA,mBACuB;CACvB,MAAM,CAAC,MAAM,WAAW,MAAM,SAAS,MAAM;AAC7C,QACE,oBAAC;EACC,IAAG;EACH,WAAW,GACT,iHACA,UACD;YAED,qBAAC;GACC,WAAW,GACT,wDACA,eAAe,EAAE,SAAS,CAAC,CAC5B;;IAGD,oBAAC;KAAO,WAAU;eAEhB,qBAAC;MAAY;MAAM,cAAc;iBAC/B,oBAAC;OAAa;iBACZ,oBAAC;QAAO,SAAQ;QAAQ,MAAK;QAAO,cAAW;kBAC7C,oBAAC,QAAK,WAAU,YAAY;SACrB;QACI,EAEf,qBAAC;OAAa,MAAK;OAAO,WAAU;;QACjC,CAAC,CAAC,sBAAsB,UACvB,oBAAC,yBACC,oBAAC,wBAAqB,QAAQ,uBAAwB,GAE1C;QAGf,OACC,oBAAC;SAAO,WAAU;mBAChB,oBAAC;UACC,SAAS,IAAI;UACb,MAAM,IAAI;UACV,MAAM,IAAI;UACV,SAAS,IAAI;oBAEb,oBAAC,kBAAM,IAAI,QAAa;WACb;UACN;QAGX,oBAAC,iBAAc,OAAO,MAAO;;QAChB;OACT;MACD;IAER;IAGD,oBAAC;KAAO,WAAU;eACf,IAAI,SAAS,KACZ,4CACE,oBAAC;MAAU,aAAY;MAAW,WAAU;OAAQ,EACpD,oBAACA;MAAI,WAAU;gBACb,oBAACC,gCACE,IAAI,KAAK,SACR,oBAACC,gCACE,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,4CACE,oBAACC;OAAW,WAAW;iBACpB,KAAK;QACK,EACb,oBAACC,mCACC,oBAAC;OAAI,WAAU;iBACZ,KAAK,MAAM,KAAK,SACf,oBAAC,eAA4B,MAAM,QAAjB,KAAK,KAAoB,CAC3C;QACE,GACK,IACZ,GAEH,oBAACC;OACC,WAAW;OACX,MAAM,KAAK,QAAQ;iBAElB,KAAK;QACE,IApBA,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,CAsB/C,CACV,GACM;OACN,IACL;MAEE;IAET,qBAAC;KAAO,WAAU;;MAEf,CAAC,CAAC,sBAAsB,UACvB,oBAAC;OAAI,WAAU;iBACb,oBAAC,wBAAqB,QAAQ,uBAAwB;QAClD;MAGP,CAAC,EAAE,iBAAiB,SAAS,SAAS,MACrC,oBAAC;OACC,OAAO,gBAAgB;OACvB,UAAU,gBAAgB;OAC1B,SAAS,gBAAgB;QACzB;MAGH,SAAS,oBAAC;OAAI,WAAU;iBAAkB;QAAY;MAEtD,OACC,oBAAC;OAAI,WAAU;iBACb,oBAAC;QACC,SAAS,IAAI;QACb,MAAM,IAAI;QACV,MAAM,IAAI;QACV,SAAS,IAAI;kBAEb,oBAAC,kBAAM,IAAI,QAAa;SACb;QACT;MAGP,YAAY,oBAAC,WAAQ,GAAI,WAAY;;MAC/B;;IACF;GACF"}
@@ -1,5 +1,5 @@
1
1
  import { MarketingHeaderProps } from "./MarketingHeader.js";
2
- import * as react_jsx_runtime28 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime29 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/organisms/MarketingHeaderDesktop.d.ts
5
5
  declare function MarketingHeaderDesktop({
@@ -10,7 +10,7 @@ declare function MarketingHeaderDesktop({
10
10
  className,
11
11
  density,
12
12
  right
13
- }: MarketingHeaderProps): react_jsx_runtime28.JSX.Element;
13
+ }: MarketingHeaderProps): react_jsx_runtime29.JSX.Element;
14
14
  //#endregion
15
15
  export { MarketingHeaderDesktop };
16
16
  //# sourceMappingURL=MarketingHeaderDesktop.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { MarketingHeaderProps } from "./MarketingHeader.js";
2
- import * as react_jsx_runtime29 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime30 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/organisms/MarketingHeaderMobile.d.ts
5
5
  declare function MarketingHeaderMobile({
@@ -7,7 +7,7 @@ declare function MarketingHeaderMobile({
7
7
  nav,
8
8
  className,
9
9
  right
10
- }: MarketingHeaderProps): react_jsx_runtime29.JSX.Element;
10
+ }: MarketingHeaderProps): react_jsx_runtime30.JSX.Element;
11
11
  //#endregion
12
12
  export { MarketingHeaderMobile };
13
13
  //# sourceMappingURL=MarketingHeaderMobile.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime30 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime31 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/organisms/MarketingLayout.d.ts
5
5
  interface MarketingLayoutProps {
@@ -13,7 +13,7 @@ declare function MarketingLayout({
13
13
  children,
14
14
  footer,
15
15
  className
16
- }: MarketingLayoutProps): react_jsx_runtime30.JSX.Element;
16
+ }: MarketingLayoutProps): react_jsx_runtime31.JSX.Element;
17
17
  //#endregion
18
18
  export { MarketingLayout };
19
19
  //# sourceMappingURL=MarketingLayout.d.ts.map
@@ -1,9 +1,9 @@
1
- import * as react_jsx_runtime61 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime62 from "react/jsx-runtime";
2
2
  import { PageHeaderProps } from "@contractspec/lib.ui-kit-web/ui/page-header";
3
3
 
4
4
  //#region src/components/organisms/PageHeaderResponsive.d.ts
5
5
  type PageHeaderResponsiveProps = PageHeaderProps;
6
- declare function PageHeaderResponsive(props: PageHeaderResponsiveProps): react_jsx_runtime61.JSX.Element;
6
+ declare function PageHeaderResponsive(props: PageHeaderResponsiveProps): react_jsx_runtime62.JSX.Element;
7
7
  //#endregion
8
8
  export { PageHeaderResponsive };
9
9
  //# sourceMappingURL=PageHeaderResponsive.d.ts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime56 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime57 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/organisms/PricingCarousel.d.ts
4
4
  interface PricingSlide {
@@ -19,7 +19,7 @@ declare function PricingCarousel({
19
19
  }: {
20
20
  tiers: PricingSlide[];
21
21
  className?: string;
22
- }): react_jsx_runtime56.JSX.Element;
22
+ }): react_jsx_runtime57.JSX.Element;
23
23
  //#endregion
24
24
  export { PricingCarousel };
25
25
  //# sourceMappingURL=PricingCarousel.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime62 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime63 from "react/jsx-runtime";
3
3
  import { PricingTier } from "@contractspec/lib.ui-kit-web/ui/marketing/PricingTable";
4
4
 
5
5
  //#region src/components/organisms/PricingSection.d.ts
@@ -13,7 +13,7 @@ declare function PricingSection({
13
13
  title?: React.ReactNode;
14
14
  subtitle?: React.ReactNode;
15
15
  className?: string;
16
- }): react_jsx_runtime62.JSX.Element;
16
+ }): react_jsx_runtime63.JSX.Element;
17
17
  //#endregion
18
18
  export { PricingSection };
19
19
  //# sourceMappingURL=PricingSection.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime57 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime58 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/organisms/TestimonialCarousel.d.ts
5
5
  interface Testimonial {
@@ -14,7 +14,7 @@ declare function TestimonialCarousel({
14
14
  }: {
15
15
  testimonials: Testimonial[];
16
16
  className?: string;
17
- }): react_jsx_runtime57.JSX.Element;
17
+ }): react_jsx_runtime58.JSX.Element;
18
18
  //#endregion
19
19
  export { TestimonialCarousel };
20
20
  //# sourceMappingURL=TestimonialCarousel.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { PackageManager, PackageManagerContextValue } from "../molecules/CommandTabs/types.js";
2
+ import { ReactNode } from "react";
3
+ import * as react_jsx_runtime21 from "react/jsx-runtime";
4
+
5
+ //#region src/components/providers/PackageManagerProvider.d.ts
6
+ interface PackageManagerProviderProps {
7
+ children: ReactNode;
8
+ /** Default package manager preference */
9
+ defaultPreference?: PackageManager;
10
+ }
11
+ /**
12
+ * Provider for sharing package manager preference across CommandTabs components.
13
+ * Wrap your documentation layout with this provider to sync preference across all instances.
14
+ */
15
+ declare function PackageManagerProvider({
16
+ children,
17
+ defaultPreference
18
+ }: PackageManagerProviderProps): react_jsx_runtime21.JSX.Element;
19
+ /**
20
+ * Hook to access the package manager preference.
21
+ * Returns null if not wrapped in a PackageManagerProvider (components will use local state).
22
+ */
23
+ declare function usePackageManager(): PackageManagerContextValue | null;
24
+ //#endregion
25
+ export { PackageManagerProvider, PackageManagerProviderProps, usePackageManager };
26
+ //# sourceMappingURL=PackageManagerProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageManagerProvider.d.ts","names":[],"sources":["../../../src/components/providers/PackageManagerProvider.tsx"],"sourcesContent":[],"mappings":";;;;;UAqBiB,2BAAA;YACL;;EADK,iBAAA,CAAA,EAGK,cAHsB;AAU5C;;;;;AAG8B,iBAHd,sBAAA,CAGc;EAAA,QAAA;EAAA;AAAA,CAAA,EAA3B,2BAA2B,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,OAAA;AAoC9B;;;;iBAAgB,iBAAA,CAAA,GAAqB"}
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+
3
+ import { createContext, useCallback, useContext, useEffect, useState } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+
6
+ //#region src/components/providers/PackageManagerProvider.tsx
7
+ const STORAGE_KEY = "package-manager-preference";
8
+ const PackageManagerContext = createContext(null);
9
+ /**
10
+ * Provider for sharing package manager preference across CommandTabs components.
11
+ * Wrap your documentation layout with this provider to sync preference across all instances.
12
+ */
13
+ function PackageManagerProvider({ children, defaultPreference = "bun" }) {
14
+ const [preference, setPreferenceState] = useState(defaultPreference);
15
+ useEffect(() => {
16
+ try {
17
+ const saved = localStorage.getItem(STORAGE_KEY);
18
+ if (saved && [
19
+ "bun",
20
+ "npm",
21
+ "yarn",
22
+ "pnpm"
23
+ ].includes(saved)) setPreferenceState(saved);
24
+ } catch {}
25
+ }, []);
26
+ const setPreference = useCallback((pm) => {
27
+ setPreferenceState(pm);
28
+ try {
29
+ localStorage.setItem(STORAGE_KEY, pm);
30
+ } catch {}
31
+ }, []);
32
+ return /* @__PURE__ */ jsx(PackageManagerContext.Provider, {
33
+ value: {
34
+ preference,
35
+ setPreference
36
+ },
37
+ children
38
+ });
39
+ }
40
+ /**
41
+ * Hook to access the package manager preference.
42
+ * Returns null if not wrapped in a PackageManagerProvider (components will use local state).
43
+ */
44
+ function usePackageManager() {
45
+ return useContext(PackageManagerContext);
46
+ }
47
+
48
+ //#endregion
49
+ export { PackageManagerProvider, usePackageManager };
50
+ //# sourceMappingURL=PackageManagerProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageManagerProvider.js","names":[],"sources":["../../../src/components/providers/PackageManagerProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useState,\n type ReactNode,\n} from 'react';\nimport type {\n PackageManager,\n PackageManagerContextValue,\n} from '../molecules/CommandTabs/types';\n\nconst STORAGE_KEY = 'package-manager-preference';\n\nconst PackageManagerContext = createContext<PackageManagerContextValue | null>(\n null\n);\n\nexport interface PackageManagerProviderProps {\n children: ReactNode;\n /** Default package manager preference */\n defaultPreference?: PackageManager;\n}\n\n/**\n * Provider for sharing package manager preference across CommandTabs components.\n * Wrap your documentation layout with this provider to sync preference across all instances.\n */\nexport function PackageManagerProvider({\n children,\n defaultPreference = 'bun',\n}: PackageManagerProviderProps) {\n const [preference, setPreferenceState] =\n useState<PackageManager>(defaultPreference);\n\n // Hydrate from localStorage on mount\n useEffect(() => {\n try {\n const saved = localStorage.getItem(STORAGE_KEY) as PackageManager | null;\n if (saved && ['bun', 'npm', 'yarn', 'pnpm'].includes(saved)) {\n setPreferenceState(saved);\n }\n } catch {\n // localStorage not available\n }\n }, []);\n\n const setPreference = useCallback((pm: PackageManager) => {\n setPreferenceState(pm);\n try {\n localStorage.setItem(STORAGE_KEY, pm);\n } catch {\n // localStorage not available\n }\n }, []);\n\n return (\n <PackageManagerContext.Provider value={{ preference, setPreference }}>\n {children}\n </PackageManagerContext.Provider>\n );\n}\n\n/**\n * Hook to access the package manager preference.\n * Returns null if not wrapped in a PackageManagerProvider (components will use local state).\n */\nexport function usePackageManager(): PackageManagerContextValue | null {\n return useContext(PackageManagerContext);\n}\n"],"mappings":";;;;;;AAeA,MAAM,cAAc;AAEpB,MAAM,wBAAwB,cAC5B,KACD;;;;;AAYD,SAAgB,uBAAuB,EACrC,UACA,oBAAoB,SACU;CAC9B,MAAM,CAAC,YAAY,sBACjB,SAAyB,kBAAkB;AAG7C,iBAAgB;AACd,MAAI;GACF,MAAM,QAAQ,aAAa,QAAQ,YAAY;AAC/C,OAAI,SAAS;IAAC;IAAO;IAAO;IAAQ;IAAO,CAAC,SAAS,MAAM,CACzD,oBAAmB,MAAM;UAErB;IAGP,EAAE,CAAC;CAEN,MAAM,gBAAgB,aAAa,OAAuB;AACxD,qBAAmB,GAAG;AACtB,MAAI;AACF,gBAAa,QAAQ,aAAa,GAAG;UAC/B;IAGP,EAAE,CAAC;AAEN,QACE,oBAAC,sBAAsB;EAAS,OAAO;GAAE;GAAY;GAAe;EACjE;GAC8B;;;;;;AAQrC,SAAgB,oBAAuD;AACrE,QAAO,WAAW,sBAAsB"}
@@ -1,5 +1,5 @@
1
1
  import { ListPageTemplateProps } from "./types.js";
2
- import * as react_jsx_runtime113 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime111 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/templates/lists/ListPageTemplate/index.web.d.ts
5
5
  declare function ListPageTemplate<T = unknown>({
@@ -17,7 +17,7 @@ declare function ListPageTemplate<T = unknown>({
17
17
  data,
18
18
  renderItem,
19
19
  emptyProps
20
- }: ListPageTemplateProps<T>): react_jsx_runtime113.JSX.Element;
20
+ }: ListPageTemplateProps<T>): react_jsx_runtime111.JSX.Element;
21
21
  //#endregion
22
22
  export { ListPageTemplate };
23
23
  //# sourceMappingURL=index.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useListUrlState.js","names":["filters: TFilters","merged: ListUrlState<TFilters>"],"sources":["../../src/hooks/useListUrlState.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface ListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n> {\n q: string;\n page: number;\n limit: number;\n sort?: string | null;\n filters: TFilters;\n}\n\nexport function useListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n>({\n defaults,\n paramKeys = {\n q: 'q',\n page: 'page',\n limit: 'limit',\n sort: 'sort',\n filters: 'f',\n },\n replaceState = true,\n}: {\n defaults: ListUrlState<TFilters>;\n paramKeys?: {\n q: string;\n page: string;\n limit: string;\n sort: string;\n filters: string;\n };\n replaceState?: boolean;\n}) {\n const read = React.useCallback((): ListUrlState<TFilters> => {\n if (typeof window === 'undefined') return defaults;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const parseNum = (v: string | null, d: number) => {\n const n = v ? Number(v) : NaN;\n return Number.isFinite(n) && n > 0 ? n : d;\n };\n const filtersRaw = qs.get(paramKeys.filters);\n let filters: TFilters = defaults.filters;\n if (filtersRaw) {\n try {\n filters = JSON.parse(filtersRaw) as TFilters;\n } catch {\n filters = defaults.filters;\n }\n }\n return {\n q: qs.get(paramKeys.q) ?? defaults.q,\n page: parseNum(qs.get(paramKeys.page), defaults.page),\n limit: parseNum(qs.get(paramKeys.limit), defaults.limit),\n sort: qs.get(paramKeys.sort),\n filters,\n };\n }, [defaults, paramKeys]);\n\n const [state, setState] = React.useState<ListUrlState<TFilters>>(read);\n\n const write = React.useCallback(\n (next: Partial<ListUrlState<TFilters>>) => {\n if (typeof window === 'undefined') return;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const merged: ListUrlState<TFilters> = {\n ...state,\n ...next,\n } as ListUrlState<TFilters>;\n\n const setOrDel = (key: string, value: string | null | undefined) => {\n if (value == null || value === '' || value === 'null') qs.delete(key);\n else qs.set(key, value);\n };\n\n setOrDel(paramKeys.q, merged.q || null);\n setOrDel(paramKeys.page, String(merged.page));\n setOrDel(paramKeys.limit, String(merged.limit));\n setOrDel(paramKeys.sort, merged.sort ?? null);\n try {\n const json = JSON.stringify(merged.filters ?? {});\n setOrDel(paramKeys.filters, json === '{}' ? null : json);\n } catch {\n // ignore\n }\n\n const newUrl = `${url.pathname}?${qs.toString()}${url.hash}`;\n if (replaceState) window.history.replaceState({}, '', newUrl);\n else window.history.pushState({}, '', newUrl);\n setState(merged);\n },\n [state, paramKeys, replaceState]\n );\n\n const setFilter = React.useCallback(\n (\n key: keyof TFilters,\n value: TFilters[keyof TFilters] | undefined | null\n ) => {\n write({\n filters: { ...state.filters, [key]: value } as TFilters,\n });\n },\n [state.filters, write]\n );\n\n const clearFilters = React.useCallback(() => {\n write({ filters: {} as TFilters, page: 1 });\n }, [write]);\n\n React.useEffect(() => {\n const onPop = () => setState(read());\n window.addEventListener('popstate', onPop);\n return () => window.removeEventListener('popstate', onPop);\n }, [read]);\n\n return { state, setState: write, setFilter, clearFilters } as const;\n}\n"],"mappings":";;;AAYA,SAAgB,gBAEd,EACA,UACA,YAAY;CACV,GAAG;CACH,MAAM;CACN,OAAO;CACP,MAAM;CACN,SAAS;CACV,EACD,eAAe,QAWd;CACD,MAAM,OAAO,MAAM,kBAA0C;AAC3D,MAAI,OAAO,WAAW,YAAa,QAAO;EAE1C,MAAM,KADM,IAAI,IAAI,OAAO,SAAS,KAAK,CAC1B;EACf,MAAM,YAAY,GAAkB,MAAc;GAChD,MAAM,IAAI,IAAI,OAAO,EAAE,GAAG;AAC1B,UAAO,OAAO,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI;;EAE3C,MAAM,aAAa,GAAG,IAAI,UAAU,QAAQ;EAC5C,IAAIA,UAAoB,SAAS;AACjC,MAAI,WACF,KAAI;AACF,aAAU,KAAK,MAAM,WAAW;UAC1B;AACN,aAAU,SAAS;;AAGvB,SAAO;GACL,GAAG,GAAG,IAAI,UAAU,EAAE,IAAI,SAAS;GACnC,MAAM,SAAS,GAAG,IAAI,UAAU,KAAK,EAAE,SAAS,KAAK;GACrD,OAAO,SAAS,GAAG,IAAI,UAAU,MAAM,EAAE,SAAS,MAAM;GACxD,MAAM,GAAG,IAAI,UAAU,KAAK;GAC5B;GACD;IACA,CAAC,UAAU,UAAU,CAAC;CAEzB,MAAM,CAAC,OAAO,YAAY,MAAM,SAAiC,KAAK;CAEtE,MAAM,QAAQ,MAAM,aACjB,SAA0C;AACzC,MAAI,OAAO,WAAW,YAAa;EACnC,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;EACzC,MAAM,KAAK,IAAI;EACf,MAAMC,SAAiC;GACrC,GAAG;GACH,GAAG;GACJ;EAED,MAAM,YAAY,KAAa,UAAqC;AAClE,OAAI,SAAS,QAAQ,UAAU,MAAM,UAAU,OAAQ,IAAG,OAAO,IAAI;OAChE,IAAG,IAAI,KAAK,MAAM;;AAGzB,WAAS,UAAU,GAAG,OAAO,KAAK,KAAK;AACvC,WAAS,UAAU,MAAM,OAAO,OAAO,KAAK,CAAC;AAC7C,WAAS,UAAU,OAAO,OAAO,OAAO,MAAM,CAAC;AAC/C,WAAS,UAAU,MAAM,OAAO,QAAQ,KAAK;AAC7C,MAAI;GACF,MAAM,OAAO,KAAK,UAAU,OAAO,WAAW,EAAE,CAAC;AACjD,YAAS,UAAU,SAAS,SAAS,OAAO,OAAO,KAAK;UAClD;EAIR,MAAM,SAAS,GAAG,IAAI,SAAS,GAAG,GAAG,UAAU,GAAG,IAAI;AACtD,MAAI,aAAc,QAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,OAAO;MACxD,QAAO,QAAQ,UAAU,EAAE,EAAE,IAAI,OAAO;AAC7C,WAAS,OAAO;IAElB;EAAC;EAAO;EAAW;EAAa,CACjC;CAED,MAAM,YAAY,MAAM,aAEpB,KACA,UACG;AACH,QAAM,EACJ,SAAS;GAAE,GAAG,MAAM;IAAU,MAAM;GAAO,EAC5C,CAAC;IAEJ,CAAC,MAAM,SAAS,MAAM,CACvB;CAED,MAAM,eAAe,MAAM,kBAAkB;AAC3C,QAAM;GAAE,SAAS,EAAE;GAAc,MAAM;GAAG,CAAC;IAC1C,CAAC,MAAM,CAAC;AAEX,OAAM,gBAAgB;EACpB,MAAM,cAAc,SAAS,MAAM,CAAC;AACpC,SAAO,iBAAiB,YAAY,MAAM;AAC1C,eAAa,OAAO,oBAAoB,YAAY,MAAM;IACzD,CAAC,KAAK,CAAC;AAEV,QAAO;EAAE;EAAO,UAAU;EAAO;EAAW;EAAc"}
1
+ {"version":3,"file":"useListUrlState.js","names":[],"sources":["../../src/hooks/useListUrlState.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface ListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n> {\n q: string;\n page: number;\n limit: number;\n sort?: string | null;\n filters: TFilters;\n}\n\nexport function useListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n>({\n defaults,\n paramKeys = {\n q: 'q',\n page: 'page',\n limit: 'limit',\n sort: 'sort',\n filters: 'f',\n },\n replaceState = true,\n}: {\n defaults: ListUrlState<TFilters>;\n paramKeys?: {\n q: string;\n page: string;\n limit: string;\n sort: string;\n filters: string;\n };\n replaceState?: boolean;\n}) {\n const read = React.useCallback((): ListUrlState<TFilters> => {\n if (typeof window === 'undefined') return defaults;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const parseNum = (v: string | null, d: number) => {\n const n = v ? Number(v) : NaN;\n return Number.isFinite(n) && n > 0 ? n : d;\n };\n const filtersRaw = qs.get(paramKeys.filters);\n let filters: TFilters = defaults.filters;\n if (filtersRaw) {\n try {\n filters = JSON.parse(filtersRaw) as TFilters;\n } catch {\n filters = defaults.filters;\n }\n }\n return {\n q: qs.get(paramKeys.q) ?? defaults.q,\n page: parseNum(qs.get(paramKeys.page), defaults.page),\n limit: parseNum(qs.get(paramKeys.limit), defaults.limit),\n sort: qs.get(paramKeys.sort),\n filters,\n };\n }, [defaults, paramKeys]);\n\n const [state, setState] = React.useState<ListUrlState<TFilters>>(read);\n\n const write = React.useCallback(\n (next: Partial<ListUrlState<TFilters>>) => {\n if (typeof window === 'undefined') return;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const merged: ListUrlState<TFilters> = {\n ...state,\n ...next,\n } as ListUrlState<TFilters>;\n\n const setOrDel = (key: string, value: string | null | undefined) => {\n if (value == null || value === '' || value === 'null') qs.delete(key);\n else qs.set(key, value);\n };\n\n setOrDel(paramKeys.q, merged.q || null);\n setOrDel(paramKeys.page, String(merged.page));\n setOrDel(paramKeys.limit, String(merged.limit));\n setOrDel(paramKeys.sort, merged.sort ?? null);\n try {\n const json = JSON.stringify(merged.filters ?? {});\n setOrDel(paramKeys.filters, json === '{}' ? null : json);\n } catch {\n // ignore\n }\n\n const newUrl = `${url.pathname}?${qs.toString()}${url.hash}`;\n if (replaceState) window.history.replaceState({}, '', newUrl);\n else window.history.pushState({}, '', newUrl);\n setState(merged);\n },\n [state, paramKeys, replaceState]\n );\n\n const setFilter = React.useCallback(\n (\n key: keyof TFilters,\n value: TFilters[keyof TFilters] | undefined | null\n ) => {\n write({\n filters: { ...state.filters, [key]: value } as TFilters,\n });\n },\n [state.filters, write]\n );\n\n const clearFilters = React.useCallback(() => {\n write({ filters: {} as TFilters, page: 1 });\n }, [write]);\n\n React.useEffect(() => {\n const onPop = () => setState(read());\n window.addEventListener('popstate', onPop);\n return () => window.removeEventListener('popstate', onPop);\n }, [read]);\n\n return { state, setState: write, setFilter, clearFilters } as const;\n}\n"],"mappings":";;;AAYA,SAAgB,gBAEd,EACA,UACA,YAAY;CACV,GAAG;CACH,MAAM;CACN,OAAO;CACP,MAAM;CACN,SAAS;CACV,EACD,eAAe,QAWd;CACD,MAAM,OAAO,MAAM,kBAA0C;AAC3D,MAAI,OAAO,WAAW,YAAa,QAAO;EAE1C,MAAM,KADM,IAAI,IAAI,OAAO,SAAS,KAAK,CAC1B;EACf,MAAM,YAAY,GAAkB,MAAc;GAChD,MAAM,IAAI,IAAI,OAAO,EAAE,GAAG;AAC1B,UAAO,OAAO,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI;;EAE3C,MAAM,aAAa,GAAG,IAAI,UAAU,QAAQ;EAC5C,IAAI,UAAoB,SAAS;AACjC,MAAI,WACF,KAAI;AACF,aAAU,KAAK,MAAM,WAAW;UAC1B;AACN,aAAU,SAAS;;AAGvB,SAAO;GACL,GAAG,GAAG,IAAI,UAAU,EAAE,IAAI,SAAS;GACnC,MAAM,SAAS,GAAG,IAAI,UAAU,KAAK,EAAE,SAAS,KAAK;GACrD,OAAO,SAAS,GAAG,IAAI,UAAU,MAAM,EAAE,SAAS,MAAM;GACxD,MAAM,GAAG,IAAI,UAAU,KAAK;GAC5B;GACD;IACA,CAAC,UAAU,UAAU,CAAC;CAEzB,MAAM,CAAC,OAAO,YAAY,MAAM,SAAiC,KAAK;CAEtE,MAAM,QAAQ,MAAM,aACjB,SAA0C;AACzC,MAAI,OAAO,WAAW,YAAa;EACnC,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;EACzC,MAAM,KAAK,IAAI;EACf,MAAM,SAAiC;GACrC,GAAG;GACH,GAAG;GACJ;EAED,MAAM,YAAY,KAAa,UAAqC;AAClE,OAAI,SAAS,QAAQ,UAAU,MAAM,UAAU,OAAQ,IAAG,OAAO,IAAI;OAChE,IAAG,IAAI,KAAK,MAAM;;AAGzB,WAAS,UAAU,GAAG,OAAO,KAAK,KAAK;AACvC,WAAS,UAAU,MAAM,OAAO,OAAO,KAAK,CAAC;AAC7C,WAAS,UAAU,OAAO,OAAO,OAAO,MAAM,CAAC;AAC/C,WAAS,UAAU,MAAM,OAAO,QAAQ,KAAK;AAC7C,MAAI;GACF,MAAM,OAAO,KAAK,UAAU,OAAO,WAAW,EAAE,CAAC;AACjD,YAAS,UAAU,SAAS,SAAS,OAAO,OAAO,KAAK;UAClD;EAIR,MAAM,SAAS,GAAG,IAAI,SAAS,GAAG,GAAG,UAAU,GAAG,IAAI;AACtD,MAAI,aAAc,QAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,OAAO;MACxD,QAAO,QAAQ,UAAU,EAAE,EAAE,IAAI,OAAO;AAC7C,WAAS,OAAO;IAElB;EAAC;EAAO;EAAW;EAAa,CACjC;CAED,MAAM,YAAY,MAAM,aAEpB,KACA,UACG;AACH,QAAM,EACJ,SAAS;GAAE,GAAG,MAAM;IAAU,MAAM;GAAO,EAC5C,CAAC;IAEJ,CAAC,MAAM,SAAS,MAAM,CACvB;CAED,MAAM,eAAe,MAAM,kBAAkB;AAC3C,QAAM;GAAE,SAAS,EAAE;GAAc,MAAM;GAAG,CAAC;IAC1C,CAAC,MAAM,CAAC;AAEX,OAAM,gBAAgB;EACpB,MAAM,cAAc,SAAS,MAAM,CAAC;AACpC,SAAO,iBAAiB,YAAY,MAAM;AAC1C,eAAa,OAAO,oBAAoB,YAAY,MAAM;IACzD,CAAC,KAAK,CAAC;AAEV,QAAO;EAAE;EAAO,UAAU;EAAO;EAAW;EAAc"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,19 @@ import { NavMain } from "./components/molecules/NavMain.js";
15
15
  import { NavUser } from "./components/molecules/NavUser.js";
16
16
  import { ApprovalQueue } from "./components/agent/ApprovalQueue.js";
17
17
  import { AgentMonitor } from "./components/agent/AgentMonitor.js";
18
+ import { CodeBlockProps, CodeLanguage } from "./components/molecules/CodeBlock/types.js";
19
+ import { CodeBlock } from "./components/molecules/CodeBlock/CodeBlock.js";
20
+ import "./components/molecules/CodeBlock/index.js";
21
+ import { CopyButtonProps } from "./components/molecules/CopyButton/types.js";
22
+ import { CopyButton } from "./components/molecules/CopyButton/CopyButton.js";
23
+ import "./components/molecules/CopyButton/index.js";
24
+ import { CommandTabsProps, PackageManager, PackageManagerContextValue } from "./components/molecules/CommandTabs/types.js";
25
+ import { CommandTabs } from "./components/molecules/CommandTabs/CommandTabs.js";
26
+ import "./components/molecules/CommandTabs/index.js";
27
+ import { InstallCommandProps, InstallCommandType } from "./components/molecules/InstallCommand/types.js";
28
+ import { InstallCommand } from "./components/molecules/InstallCommand/InstallCommand.js";
29
+ import "./components/molecules/InstallCommand/index.js";
30
+ import { PackageManagerProvider, PackageManagerProviderProps, usePackageManager } from "./components/providers/PackageManagerProvider.js";
18
31
  import { AppSidebar } from "./components/organisms/AppSidebar.js";
19
32
  import { DesktopHeader, Header, MobileHeader } from "./components/organisms/Header.js";
20
33
  import { Footer } from "./components/organisms/Footer.js";
@@ -113,4 +126,4 @@ import { DataViewList } from "./components/data-view/DataViewList.js";
113
126
  import { DataViewTable } from "./components/data-view/DataViewTable.js";
114
127
  import { DataViewDetail } from "./components/data-view/DataViewDetail.js";
115
128
  import { DataViewRenderer } from "./components/data-view/DataViewRenderer.js";
116
- export { AcademyLayout, ActionForm, AgentMonitor, AiLinkButton, AppHeader, AppLayout, AppSidebar, ApprovalQueue, Breadcrumbs, Breakpoints, Button, ButtonLink, ColorTokens, CommandPalette, CommandSearchTrigger, ConsentItem, ConsentList, ContactFields, ContactForm, ContactTemplate, CookiesTemplate, Cta, CtaAction, DEFAULT_BREAKPOINTS, DSBaseVariantsProps, DataViewDetail, DataViewList, DataViewRenderer, DataViewTable, DateChip, DefinitionList, DeleteButton, DensityVariant, DesktopHeader, DurationChip, EditButton, EmphasisVariant, EmptyDataList, EmptySearchResult, EmptyState, EntityCard, ErrorState, FAQSection, FeatureCarousel, FeaturesSection, FiltersToolbar, Footer, FormCardLayout, FormDialog, FormGrid, FormOneByOneLayout, FormRow, FormSection, FormStepsLayout, GDPRDataRequest, GDPRRights, Header, HeaderNavItem, HeroResponsive, HeroSection, HoverPreview, HoverPreviewDoc, HoverPreviewMedia, HoverPreviewSimple, HoverPreviewStats, HoverPreviewUser, Input, KeyValueList, LangSwitch, LegalCallout, LegalHeading, LegalList, LegalMeta, LegalPageLayout, LegalSection, LegalTOC, LegalText, Link, ListCardPage, ListGridPage, ListPageResponsive, ListPageTemplate, ListTablePage, LoaderBlock, LoaderCircular, MarketingCard, CardContent as MarketingCardContent, CardDescription as MarketingCardDescription, CardHeader as MarketingCardHeader, CardTitle as MarketingCardTitle, type MarketingCardTone, MarketingCardsSection, MarketingComparisonSection, MarketingHeader, MarketingHeaderDesktop, MarketingHeaderMobile, MarketingIconCard, MarketingLayout, MarketingSection, type MarketingSectionPadding, type MarketingSectionTone, MarketingStepCard, MobileHeader, NavBrand, NavLink, NavMain, NavSection, NavUser, OverviewCard, PageHeaderResponsive, PlaceChip, PlatformKind, PlatformUI, PricingCarousel, PricingSection, PrivacyTemplate, RadiusTokens, SalesTermsTemplate, SizeVariant, SkeletonBlock, SkeletonCircle, SkeletonList, SpaceTokens, StatCard, StatCardGroup, StatusChip, Stepper, TermsTemplate, TestimonialCarousel, Textarea, ThemeTokens, TimeChip, ToggleButton, ToggleLeftButton, ToggleRightButton, ToneVariant, TypographyTokens, UserMenuItem, ViewButton, WithPlatformUIOptions, ZodForm, defaultTokens, dsBaseVariants, formRenderer, mapTokensForPlatform, useColorScheme, useListUrlState, useReducedMotion, useResponsive, withPlatformUI };
129
+ export { AcademyLayout, ActionForm, AgentMonitor, AiLinkButton, AppHeader, AppLayout, AppSidebar, ApprovalQueue, Breadcrumbs, Breakpoints, Button, ButtonLink, CodeBlock, type CodeBlockProps, type CodeLanguage, ColorTokens, CommandPalette, CommandSearchTrigger, CommandTabs, type CommandTabsProps, ConsentItem, ConsentList, ContactFields, ContactForm, ContactTemplate, CookiesTemplate, CopyButton, type CopyButtonProps, Cta, CtaAction, DEFAULT_BREAKPOINTS, DSBaseVariantsProps, DataViewDetail, DataViewList, DataViewRenderer, DataViewTable, DateChip, DefinitionList, DeleteButton, DensityVariant, DesktopHeader, DurationChip, EditButton, EmphasisVariant, EmptyDataList, EmptySearchResult, EmptyState, EntityCard, ErrorState, FAQSection, FeatureCarousel, FeaturesSection, FiltersToolbar, Footer, FormCardLayout, FormDialog, FormGrid, FormOneByOneLayout, FormRow, FormSection, FormStepsLayout, GDPRDataRequest, GDPRRights, Header, HeaderNavItem, HeroResponsive, HeroSection, HoverPreview, HoverPreviewDoc, HoverPreviewMedia, HoverPreviewSimple, HoverPreviewStats, HoverPreviewUser, Input, InstallCommand, type InstallCommandProps, type InstallCommandType, KeyValueList, LangSwitch, LegalCallout, LegalHeading, LegalList, LegalMeta, LegalPageLayout, LegalSection, LegalTOC, LegalText, Link, ListCardPage, ListGridPage, ListPageResponsive, ListPageTemplate, ListTablePage, LoaderBlock, LoaderCircular, MarketingCard, CardContent as MarketingCardContent, CardDescription as MarketingCardDescription, CardHeader as MarketingCardHeader, CardTitle as MarketingCardTitle, type MarketingCardTone, MarketingCardsSection, MarketingComparisonSection, MarketingHeader, MarketingHeaderDesktop, MarketingHeaderMobile, MarketingIconCard, MarketingLayout, MarketingSection, type MarketingSectionPadding, type MarketingSectionTone, MarketingStepCard, MobileHeader, NavBrand, NavLink, NavMain, NavSection, NavUser, OverviewCard, type PackageManager, type PackageManagerContextValue, PackageManagerProvider, type PackageManagerProviderProps, PageHeaderResponsive, PlaceChip, PlatformKind, PlatformUI, PricingCarousel, PricingSection, PrivacyTemplate, RadiusTokens, SalesTermsTemplate, SizeVariant, SkeletonBlock, SkeletonCircle, SkeletonList, SpaceTokens, StatCard, StatCardGroup, StatusChip, Stepper, TermsTemplate, TestimonialCarousel, Textarea, ThemeTokens, TimeChip, ToggleButton, ToggleLeftButton, ToggleRightButton, ToneVariant, TypographyTokens, UserMenuItem, ViewButton, WithPlatformUIOptions, ZodForm, defaultTokens, dsBaseVariants, formRenderer, mapTokensForPlatform, useColorScheme, useListUrlState, usePackageManager, useReducedMotion, useResponsive, withPlatformUI };
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import "./types/navigation.js";
2
1
  import { Button } from "./components/atoms/Button.js";
3
2
  import { Input } from "./components/atoms/Input.js";
4
3
  import { Textarea } from "./components/atoms/Textarea.js";
@@ -14,6 +13,11 @@ import { NavMain } from "./components/molecules/NavMain.js";
14
13
  import { NavUser } from "./components/molecules/NavUser.js";
15
14
  import { ApprovalQueue } from "./components/agent/ApprovalQueue.js";
16
15
  import { AgentMonitor } from "./components/agent/AgentMonitor.js";
16
+ import { CopyButton } from "./components/molecules/CopyButton/CopyButton.js";
17
+ import { CodeBlock } from "./components/molecules/CodeBlock/CodeBlock.js";
18
+ import { PackageManagerProvider, usePackageManager } from "./components/providers/PackageManagerProvider.js";
19
+ import { CommandTabs } from "./components/molecules/CommandTabs/CommandTabs.js";
20
+ import { InstallCommand } from "./components/molecules/InstallCommand/InstallCommand.js";
17
21
  import { AppSidebar } from "./components/organisms/AppSidebar.js";
18
22
  import { DesktopHeader, Header, MobileHeader } from "./components/organisms/Header.js";
19
23
  import { Footer } from "./components/organisms/Footer.js";
@@ -113,5 +117,5 @@ import { DataViewRenderer } from "./components/data-view/DataViewRenderer.js";
113
117
  init_HoverPreview();
114
118
 
115
119
  //#endregion
116
- export { AcademyLayout, ActionForm, AgentMonitor, AiLinkButton, AppHeader, AppLayout, AppSidebar, ApprovalQueue, Breadcrumbs, Button, ButtonLink, CommandPalette, CommandSearchTrigger, ConsentItem, ConsentList, ContactFields, ContactForm, ContactTemplate, CookiesTemplate, Cta, DEFAULT_BREAKPOINTS, DataViewDetail, DataViewList, DataViewRenderer, DataViewTable, DateChip, DefinitionList, DeleteButton, DesktopHeader, DurationChip, EditButton, EmptyDataList, EmptySearchResult, EmptyState, EntityCard, ErrorState, FAQSection, FeatureCarousel, FeaturesSection, FiltersToolbar, Footer, FormCardLayout, FormDialog, FormGrid, FormOneByOneLayout, FormRow, FormSection, FormStepsLayout, GDPRDataRequest, GDPRRights, Header, HeroResponsive, HeroSection, HoverPreview, HoverPreviewDoc, HoverPreviewMedia, HoverPreviewSimple, HoverPreviewStats, HoverPreviewUser, Input, KeyValueList, LangSwitch, LegalCallout, LegalHeading, LegalList, LegalMeta, LegalPageLayout, LegalSection, LegalTOC, LegalText, Link, ListCardPage, ListGridPage, ListPageResponsive, ListPageTemplate, ListTablePage, LoaderBlock, LoaderCircular, MarketingCard, CardContent as MarketingCardContent, CardDescription as MarketingCardDescription, CardHeader as MarketingCardHeader, CardTitle as MarketingCardTitle, MarketingCardsSection, MarketingComparisonSection, MarketingHeader, MarketingHeaderDesktop, MarketingHeaderMobile, MarketingIconCard, MarketingLayout, MarketingSection, MarketingStepCard, MobileHeader, NavBrand, NavMain, NavUser, OverviewCard, PageHeaderResponsive, PlaceChip, PricingCarousel, PricingSection, PrivacyTemplate, SalesTermsTemplate, SkeletonBlock, SkeletonCircle, SkeletonList, StatCard, StatCardGroup, StatusChip, Stepper, TermsTemplate, TestimonialCarousel, Textarea, TimeChip, ToggleButton, ToggleLeftButton, ToggleRightButton, ViewButton, ZodForm, defaultTokens, dsBaseVariants, formRenderer, mapTokensForPlatform, useColorScheme, useListUrlState, useReducedMotion, useResponsive, withPlatformUI };
120
+ export { AcademyLayout, ActionForm, AgentMonitor, AiLinkButton, AppHeader, AppLayout, AppSidebar, ApprovalQueue, Breadcrumbs, Button, ButtonLink, CodeBlock, CommandPalette, CommandSearchTrigger, CommandTabs, ConsentItem, ConsentList, ContactFields, ContactForm, ContactTemplate, CookiesTemplate, CopyButton, Cta, DEFAULT_BREAKPOINTS, DataViewDetail, DataViewList, DataViewRenderer, DataViewTable, DateChip, DefinitionList, DeleteButton, DesktopHeader, DurationChip, EditButton, EmptyDataList, EmptySearchResult, EmptyState, EntityCard, ErrorState, FAQSection, FeatureCarousel, FeaturesSection, FiltersToolbar, Footer, FormCardLayout, FormDialog, FormGrid, FormOneByOneLayout, FormRow, FormSection, FormStepsLayout, GDPRDataRequest, GDPRRights, Header, HeroResponsive, HeroSection, HoverPreview, HoverPreviewDoc, HoverPreviewMedia, HoverPreviewSimple, HoverPreviewStats, HoverPreviewUser, Input, InstallCommand, KeyValueList, LangSwitch, LegalCallout, LegalHeading, LegalList, LegalMeta, LegalPageLayout, LegalSection, LegalTOC, LegalText, Link, ListCardPage, ListGridPage, ListPageResponsive, ListPageTemplate, ListTablePage, LoaderBlock, LoaderCircular, MarketingCard, CardContent as MarketingCardContent, CardDescription as MarketingCardDescription, CardHeader as MarketingCardHeader, CardTitle as MarketingCardTitle, MarketingCardsSection, MarketingComparisonSection, MarketingHeader, MarketingHeaderDesktop, MarketingHeaderMobile, MarketingIconCard, MarketingLayout, MarketingSection, MarketingStepCard, MobileHeader, NavBrand, NavMain, NavUser, OverviewCard, PackageManagerProvider, PageHeaderResponsive, PlaceChip, PricingCarousel, PricingSection, PrivacyTemplate, SalesTermsTemplate, SkeletonBlock, SkeletonCircle, SkeletonList, StatCard, StatCardGroup, StatusChip, Stepper, TermsTemplate, TestimonialCarousel, Textarea, TimeChip, ToggleButton, ToggleLeftButton, ToggleRightButton, ViewButton, ZodForm, defaultTokens, dsBaseVariants, formRenderer, mapTokensForPlatform, useColorScheme, useListUrlState, usePackageManager, useReducedMotion, useResponsive, withPlatformUI };
117
121
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './types/navigation';\n\n// Atoms\nexport * from './renderers';\nexport { Cta } from './components/atoms/Cta';\nexport { Button } from './components/atoms/Button';\nexport { ButtonLink } from './components/atoms/ButtonLink';\nexport { Link } from './components/atoms/Link';\nexport { Input } from './components/atoms/Input';\nexport { Textarea } from './components/atoms/Textarea';\nexport { EmptyState } from './components/atoms/EmptyState';\n// export { ErrorState } from './components/atoms/ErrorState';\nexport { Stepper } from './components/atoms/Stepper';\nexport {\n EditButton,\n DeleteButton,\n ViewButton,\n ToggleButton,\n ToggleLeftButton,\n ToggleRightButton,\n} from './components/atoms/ActionButtons';\nexport {\n DateChip,\n TimeChip,\n PlaceChip,\n DurationChip,\n} from './components/atoms/DataChips';\n\n// Molecules\nexport { NavMain } from './components/molecules/NavMain';\nexport { NavUser } from './components/molecules/NavUser';\nexport { ApprovalQueue } from './components/agent/ApprovalQueue';\nexport { AgentMonitor } from './components/agent/AgentMonitor';\n\n// Organisms\nexport { AppSidebar } from './components/organisms/AppSidebar';\nexport {\n Header,\n DesktopHeader,\n MobileHeader,\n} from './components/organisms/Header';\nexport { Footer } from './components/organisms/Footer';\nexport { FeatureCarousel } from './components/organisms/FeatureCarousel';\nexport { MarketingHeader } from './components/organisms/MarketingHeader';\nexport { MarketingHeaderDesktop } from './components/organisms/MarketingHeaderDesktop';\nexport { MarketingHeaderMobile } from './components/organisms/MarketingHeaderMobile';\nexport { MarketingLayout } from './components/organisms/MarketingLayout';\nexport {\n MarketingSection,\n type MarketingSectionTone,\n type MarketingSectionPadding,\n} from './components/marketing/MarketingSection';\nexport { MarketingCardsSection } from './components/marketing/MarketingCardsSection';\nexport {\n MarketingCard,\n MarketingCardContent,\n MarketingCardDescription,\n MarketingCardHeader,\n MarketingCardTitle,\n type MarketingCardTone,\n} from './components/marketing/MarketingCard';\nexport { MarketingIconCard } from './components/marketing/MarketingIconCard';\nexport { MarketingStepCard } from './components/marketing/MarketingStepCard';\nexport { MarketingComparisonSection } from './components/marketing/MarketingComparisonSection';\nexport { AppLayout } from './components/organisms/AppLayout';\nexport { AcademyLayout } from './components/organisms/AcademyLayout';\nexport { AppHeader } from './components/organisms/AppHeader';\n// export { AppHeader as AppHeaderMobile } from './components/organisms/AppHeader.mobile';\n// export { BottomTabs } from './components/native/BottomTabs.mobile';\n// export { SheetMenu } from './components/native/SheetMenu.mobile';\nexport { CommandPalette } from './components/molecules/CommandPalette';\nexport { LangSwitch } from './components/molecules/LangSwitch';\nexport { NavBrand } from './components/atoms/NavBrand';\nexport { Breadcrumbs } from './components/molecules/Breadcrumbs';\nexport { CommandSearchTrigger } from './components/molecules/CommandSearchTrigger';\nexport { StatusChip } from './components/molecules/StatusChip';\nexport { EntityCard } from './components/molecules/EntityCard';\nexport { StatCard, StatCardGroup } from './components/molecules/StatCard';\nexport { OverviewCard } from './components/molecules/OverviewCard';\nexport { HoverPreview } from './components/molecules/HoverPreview';\nexport { HoverPreviewSimple } from './components/molecules/hover-previews/Simple';\nexport { HoverPreviewMedia } from './components/molecules/hover-previews/Media';\nexport { HoverPreviewDoc } from './components/molecules/hover-previews/Doc';\nexport { HoverPreviewUser } from './components/molecules/hover-previews/User';\nexport { HoverPreviewStats } from './components/molecules/hover-previews/Stats';\nexport { PricingCarousel } from './components/organisms/PricingCarousel';\nexport { TestimonialCarousel } from './components/organisms/TestimonialCarousel';\nexport { HeroSection } from './components/organisms/HeroSection';\nexport { HeroResponsive } from './components/organisms/HeroResponsive';\nexport { FeaturesSection } from './components/organisms/FeaturesSection';\nexport { PageHeaderResponsive } from './components/organisms/PageHeaderResponsive';\nexport { PricingSection } from './components/organisms/PricingSection';\nexport { FAQSection } from './components/organisms/FAQSection';\nexport { ListPageResponsive } from './components/organisms/ListPageResponsive';\nexport { ListGridPage } from './components/organisms/ListGridPage';\nexport { ListCardPage } from './components/organisms/ListCardPage';\nexport { ListTablePage } from './components/organisms/ListTablePage';\nexport { FiltersToolbar } from './components/molecules/FiltersToolbar';\nexport { ListPageTemplate } from './components/templates/lists/ListPageTemplate';\nexport { AiLinkButton } from './components/molecules/AiLinkButton';\nexport { EmptyDataList } from './components/organisms/EmptyDataList';\nexport { EmptySearchResult } from './components/organisms/EmptySearchResult';\n// Loaders & Skeletons\nexport { LoaderCircular } from './components/atoms/LoaderCircular';\nexport { LoaderBlock } from './components/molecules/LoaderBlock';\nexport { SkeletonBlock } from './components/molecules/SkeletonBlock';\nexport { SkeletonCircle } from './components/molecules/SkeletonCircle';\nexport { SkeletonList } from './components/molecules/SkeletonList';\nexport { ErrorState } from './components/atoms/ErrorState';\n// export {\n// DropdownMenu,\n// DropdownMenuPortal,\n// DropdownMenuTrigger,\n// DropdownMenuContent,\n// DropdownMenuGroup,\n// DropdownMenuLabel,\n// DropdownMenuItem,\n// DropdownMenuCheckboxItem,\n// DropdownMenuRadioGroup,\n// DropdownMenuRadioItem,\n// DropdownMenuSeparator,\n// DropdownMenuShortcut,\n// DropdownMenuSub,\n// DropdownMenuSubTrigger,\n// DropdownMenuSubContent,\n// } from './components/molecules/DropdownMenu';\nexport { useListUrlState } from './hooks/useListUrlState';\n\n// Legal components\nexport { LegalHeading } from './components/legal/atoms/LegalHeading';\nexport { LegalText } from './components/legal/atoms/LegalText';\nexport { LegalSection } from './components/legal/atoms/LegalSection';\nexport { DefinitionList } from './components/legal/atoms/DefinitionList';\nexport { KeyValueList } from './components/legal/atoms/KeyValueList';\nexport { LegalList } from './components/legal/atoms/LegalList';\nexport { LegalCallout } from './components/legal/atoms/LegalCallout';\nexport { LegalTOC } from './components/legal/molecules/LegalTOC';\nexport { LegalMeta } from './components/legal/molecules/LegalMeta';\nexport { ConsentItem, ConsentList } from './components/legal/molecules/Consent';\nexport { ContactFields } from './components/legal/molecules/ContactFields';\nexport * from './components/legal/organisms/LegalPageLayout';\nexport * from './components/legal/organisms/GDPRRights';\nexport * from './components/legal/organisms/ContactForm';\nexport * from './components/legal/organisms/GDPRDataRequest';\nexport { TermsTemplate } from './components/legal/templates/TermsTemplate';\nexport { SalesTermsTemplate } from './components/legal/templates/SalesTermsTemplate';\nexport { PrivacyTemplate } from './components/legal/templates/PrivacyTemplate';\nexport { CookiesTemplate } from './components/legal/templates/CookiesTemplate';\nexport { ContactTemplate } from './components/legal/templates/ContactTemplate';\n// Platform adapter\nexport * from './platform/withPlatformUI';\nexport { useResponsive } from './platform/useResponsive';\nexport { useReducedMotion } from './platform/useReducedMotion';\nexport { useColorScheme } from './platform/useColorScheme';\nexport * from './theme/variants';\nexport * from './theme/tokens';\nexport { mapTokensForPlatform } from './theme/tokenBridge';\n\n// Forms\nexport { FormDialog } from './components/forms/FormDialog';\nexport { ZodForm } from './components/forms/ZodForm';\nexport { FormSection, FormRow, FormGrid } from './components/forms/FormLayout';\nexport { FormCardLayout } from './components/forms/FormCardLayout';\nexport { FormStepsLayout } from './components/forms/FormStepsLayout';\nexport { FormOneByOneLayout } from './components/forms/FormOneByOneLayout';\nexport { ActionForm } from './components/forms/ActionForm';\n\n// Data views\nexport { DataViewList } from './components/data-view/DataViewList';\nexport { DataViewTable } from './components/data-view/DataViewTable';\nexport { DataViewDetail } from './components/data-view/DataViewDetail';\nexport { DataViewRenderer } from './components/data-view/DataViewRenderer';\n\n// Overlays re-exports (web default; native via Metro alias)\n// Overlays are used directly from ui-kit(s) in apps for now to avoid DTS bundling issues\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+EmE"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './types/navigation';\n\n// Atoms\nexport * from './renderers';\nexport { Cta } from './components/atoms/Cta';\nexport { Button } from './components/atoms/Button';\nexport { ButtonLink } from './components/atoms/ButtonLink';\nexport { Link } from './components/atoms/Link';\nexport { Input } from './components/atoms/Input';\nexport { Textarea } from './components/atoms/Textarea';\nexport { EmptyState } from './components/atoms/EmptyState';\n// export { ErrorState } from './components/atoms/ErrorState';\nexport { Stepper } from './components/atoms/Stepper';\nexport {\n EditButton,\n DeleteButton,\n ViewButton,\n ToggleButton,\n ToggleLeftButton,\n ToggleRightButton,\n} from './components/atoms/ActionButtons';\nexport {\n DateChip,\n TimeChip,\n PlaceChip,\n DurationChip,\n} from './components/atoms/DataChips';\n\n// Molecules\nexport { NavMain } from './components/molecules/NavMain';\nexport { NavUser } from './components/molecules/NavUser';\nexport { ApprovalQueue } from './components/agent/ApprovalQueue';\nexport { AgentMonitor } from './components/agent/AgentMonitor';\n\n// Code display components\nexport {\n CodeBlock,\n type CodeBlockProps,\n type CodeLanguage,\n} from './components/molecules/CodeBlock';\nexport {\n CopyButton,\n type CopyButtonProps,\n} from './components/molecules/CopyButton';\nexport {\n CommandTabs,\n type CommandTabsProps,\n type PackageManager,\n type PackageManagerContextValue,\n} from './components/molecules/CommandTabs';\nexport {\n InstallCommand,\n type InstallCommandProps,\n type InstallCommandType,\n} from './components/molecules/InstallCommand';\nexport {\n PackageManagerProvider,\n usePackageManager,\n type PackageManagerProviderProps,\n} from './components/providers/PackageManagerProvider';\n\n// Organisms\nexport { AppSidebar } from './components/organisms/AppSidebar';\nexport {\n Header,\n DesktopHeader,\n MobileHeader,\n} from './components/organisms/Header';\nexport { Footer } from './components/organisms/Footer';\nexport { FeatureCarousel } from './components/organisms/FeatureCarousel';\nexport { MarketingHeader } from './components/organisms/MarketingHeader';\nexport { MarketingHeaderDesktop } from './components/organisms/MarketingHeaderDesktop';\nexport { MarketingHeaderMobile } from './components/organisms/MarketingHeaderMobile';\nexport { MarketingLayout } from './components/organisms/MarketingLayout';\nexport {\n MarketingSection,\n type MarketingSectionTone,\n type MarketingSectionPadding,\n} from './components/marketing/MarketingSection';\nexport { MarketingCardsSection } from './components/marketing/MarketingCardsSection';\nexport {\n MarketingCard,\n MarketingCardContent,\n MarketingCardDescription,\n MarketingCardHeader,\n MarketingCardTitle,\n type MarketingCardTone,\n} from './components/marketing/MarketingCard';\nexport { MarketingIconCard } from './components/marketing/MarketingIconCard';\nexport { MarketingStepCard } from './components/marketing/MarketingStepCard';\nexport { MarketingComparisonSection } from './components/marketing/MarketingComparisonSection';\nexport { AppLayout } from './components/organisms/AppLayout';\nexport { AcademyLayout } from './components/organisms/AcademyLayout';\nexport { AppHeader } from './components/organisms/AppHeader';\n// export { AppHeader as AppHeaderMobile } from './components/organisms/AppHeader.mobile';\n// export { BottomTabs } from './components/native/BottomTabs.mobile';\n// export { SheetMenu } from './components/native/SheetMenu.mobile';\nexport { CommandPalette } from './components/molecules/CommandPalette';\nexport { LangSwitch } from './components/molecules/LangSwitch';\nexport { NavBrand } from './components/atoms/NavBrand';\nexport { Breadcrumbs } from './components/molecules/Breadcrumbs';\nexport { CommandSearchTrigger } from './components/molecules/CommandSearchTrigger';\nexport { StatusChip } from './components/molecules/StatusChip';\nexport { EntityCard } from './components/molecules/EntityCard';\nexport { StatCard, StatCardGroup } from './components/molecules/StatCard';\nexport { OverviewCard } from './components/molecules/OverviewCard';\nexport { HoverPreview } from './components/molecules/HoverPreview';\nexport { HoverPreviewSimple } from './components/molecules/hover-previews/Simple';\nexport { HoverPreviewMedia } from './components/molecules/hover-previews/Media';\nexport { HoverPreviewDoc } from './components/molecules/hover-previews/Doc';\nexport { HoverPreviewUser } from './components/molecules/hover-previews/User';\nexport { HoverPreviewStats } from './components/molecules/hover-previews/Stats';\nexport { PricingCarousel } from './components/organisms/PricingCarousel';\nexport { TestimonialCarousel } from './components/organisms/TestimonialCarousel';\nexport { HeroSection } from './components/organisms/HeroSection';\nexport { HeroResponsive } from './components/organisms/HeroResponsive';\nexport { FeaturesSection } from './components/organisms/FeaturesSection';\nexport { PageHeaderResponsive } from './components/organisms/PageHeaderResponsive';\nexport { PricingSection } from './components/organisms/PricingSection';\nexport { FAQSection } from './components/organisms/FAQSection';\nexport { ListPageResponsive } from './components/organisms/ListPageResponsive';\nexport { ListGridPage } from './components/organisms/ListGridPage';\nexport { ListCardPage } from './components/organisms/ListCardPage';\nexport { ListTablePage } from './components/organisms/ListTablePage';\nexport { FiltersToolbar } from './components/molecules/FiltersToolbar';\nexport { ListPageTemplate } from './components/templates/lists/ListPageTemplate';\nexport { AiLinkButton } from './components/molecules/AiLinkButton';\nexport { EmptyDataList } from './components/organisms/EmptyDataList';\nexport { EmptySearchResult } from './components/organisms/EmptySearchResult';\n// Loaders & Skeletons\nexport { LoaderCircular } from './components/atoms/LoaderCircular';\nexport { LoaderBlock } from './components/molecules/LoaderBlock';\nexport { SkeletonBlock } from './components/molecules/SkeletonBlock';\nexport { SkeletonCircle } from './components/molecules/SkeletonCircle';\nexport { SkeletonList } from './components/molecules/SkeletonList';\nexport { ErrorState } from './components/atoms/ErrorState';\n// export {\n// DropdownMenu,\n// DropdownMenuPortal,\n// DropdownMenuTrigger,\n// DropdownMenuContent,\n// DropdownMenuGroup,\n// DropdownMenuLabel,\n// DropdownMenuItem,\n// DropdownMenuCheckboxItem,\n// DropdownMenuRadioGroup,\n// DropdownMenuRadioItem,\n// DropdownMenuSeparator,\n// DropdownMenuShortcut,\n// DropdownMenuSub,\n// DropdownMenuSubTrigger,\n// DropdownMenuSubContent,\n// } from './components/molecules/DropdownMenu';\nexport { useListUrlState } from './hooks/useListUrlState';\n\n// Legal components\nexport { LegalHeading } from './components/legal/atoms/LegalHeading';\nexport { LegalText } from './components/legal/atoms/LegalText';\nexport { LegalSection } from './components/legal/atoms/LegalSection';\nexport { DefinitionList } from './components/legal/atoms/DefinitionList';\nexport { KeyValueList } from './components/legal/atoms/KeyValueList';\nexport { LegalList } from './components/legal/atoms/LegalList';\nexport { LegalCallout } from './components/legal/atoms/LegalCallout';\nexport { LegalTOC } from './components/legal/molecules/LegalTOC';\nexport { LegalMeta } from './components/legal/molecules/LegalMeta';\nexport { ConsentItem, ConsentList } from './components/legal/molecules/Consent';\nexport { ContactFields } from './components/legal/molecules/ContactFields';\nexport * from './components/legal/organisms/LegalPageLayout';\nexport * from './components/legal/organisms/GDPRRights';\nexport * from './components/legal/organisms/ContactForm';\nexport * from './components/legal/organisms/GDPRDataRequest';\nexport { TermsTemplate } from './components/legal/templates/TermsTemplate';\nexport { SalesTermsTemplate } from './components/legal/templates/SalesTermsTemplate';\nexport { PrivacyTemplate } from './components/legal/templates/PrivacyTemplate';\nexport { CookiesTemplate } from './components/legal/templates/CookiesTemplate';\nexport { ContactTemplate } from './components/legal/templates/ContactTemplate';\n// Platform adapter\nexport * from './platform/withPlatformUI';\nexport { useResponsive } from './platform/useResponsive';\nexport { useReducedMotion } from './platform/useReducedMotion';\nexport { useColorScheme } from './platform/useColorScheme';\nexport * from './theme/variants';\nexport * from './theme/tokens';\nexport { mapTokensForPlatform } from './theme/tokenBridge';\n\n// Forms\nexport { FormDialog } from './components/forms/FormDialog';\nexport { ZodForm } from './components/forms/ZodForm';\nexport { FormSection, FormRow, FormGrid } from './components/forms/FormLayout';\nexport { FormCardLayout } from './components/forms/FormCardLayout';\nexport { FormStepsLayout } from './components/forms/FormStepsLayout';\nexport { FormOneByOneLayout } from './components/forms/FormOneByOneLayout';\nexport { ActionForm } from './components/forms/ActionForm';\n\n// Data views\nexport { DataViewList } from './components/data-view/DataViewList';\nexport { DataViewTable } from './components/data-view/DataViewTable';\nexport { DataViewDetail } from './components/data-view/DataViewDetail';\nexport { DataViewRenderer } from './components/data-view/DataViewRenderer';\n\n// Overlays re-exports (web default; native via Metro alias)\n// Overlays are used directly from ui-kit(s) in apps for now to avoid DTS bundling issues\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0GmE"}