7onic 0.1.8 → 0.1.10

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 (3) hide show
  1. package/dist/index.js +100 -512
  2. package/llms.txt +1 -1
  3. package/package.json +10 -1
package/dist/index.js CHANGED
@@ -1242,9 +1242,13 @@ export function cn(...inputs: ClassValue[]) {
1242
1242
  return twMerge(clsx(inputs))
1243
1243
  }
1244
1244
  `;
1245
- var CSS_V3_IMPORTS = `@import '@7onic-ui/tokens/css/variables.css';
1246
- @import '@7onic-ui/tokens/css/themes/light.css';
1247
- @import '@7onic-ui/tokens/css/themes/dark.css';
1245
+ var CSS_V3_IMPORTS = `@import '@7onic-ui/tokens/css/all.css';
1246
+
1247
+ @tailwind base;
1248
+ @tailwind components;
1249
+ @tailwind utilities;
1250
+ `;
1251
+ var CSS_V3_TOKEN_ONLY = `@import '@7onic-ui/tokens/css/all.css';
1248
1252
  `;
1249
1253
  var CSS_V4_IMPORTS = `@import "tailwindcss";
1250
1254
  @import '@7onic-ui/tokens/css/variables.css';
@@ -1400,18 +1404,19 @@ async function init(args) {
1400
1404
  } else {
1401
1405
  const cssContent = import_node_fs4.default.readFileSync(cssFullPath, "utf-8");
1402
1406
  if (!cssContent.includes("@7onic-ui/tokens")) {
1403
- const tokenImports = tailwindVersion === 3 ? CSS_V3_IMPORTS : CSS_V4_TOKEN_ONLY;
1404
1407
  if (tailwindVersion === 4) {
1405
1408
  const twMatch = cssContent.match(/@import\s+["']tailwindcss["'].*\n/);
1406
1409
  if (twMatch) {
1407
1410
  const insertAt = twMatch.index + twMatch[0].length;
1408
- const updated = cssContent.slice(0, insertAt) + tokenImports + cssContent.slice(insertAt);
1411
+ const updated = cssContent.slice(0, insertAt) + CSS_V4_TOKEN_ONLY + cssContent.slice(insertAt);
1409
1412
  import_node_fs4.default.writeFileSync(cssFullPath, updated, "utf-8");
1410
1413
  } else {
1411
1414
  import_node_fs4.default.writeFileSync(cssFullPath, CSS_V4_IMPORTS + "\n" + cssContent, "utf-8");
1412
1415
  }
1413
1416
  } else {
1414
- import_node_fs4.default.writeFileSync(cssFullPath, tokenImports + "\n" + cssContent, "utf-8");
1417
+ const hasTailwindDirectives = /@tailwind\s+(base|components|utilities)/.test(cssContent);
1418
+ const v3Imports = hasTailwindDirectives ? CSS_V3_TOKEN_ONLY : CSS_V3_IMPORTS;
1419
+ import_node_fs4.default.writeFileSync(cssFullPath, v3Imports + "\n" + cssContent, "utf-8");
1415
1420
  }
1416
1421
  O2.success(`Added token imports to ${config.cssPath}`);
1417
1422
  } else {
@@ -1549,7 +1554,7 @@ var registry = {
1549
1554
  dependencies: ["@radix-ui/react-accordion"],
1550
1555
  registryDependencies: [],
1551
1556
  reverseDependencies: [],
1552
- namespace: true,
1557
+ namespace: false,
1553
1558
  description: "",
1554
1559
  files: [{
1555
1560
  path: "accordion.tsx",
@@ -1610,7 +1615,7 @@ export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
1610
1615
  disabled?: boolean
1611
1616
  }
1612
1617
 
1613
- const AccordionRoot = React.forwardRef<HTMLDivElement, AccordionProps>(
1618
+ const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(
1614
1619
  ({ className, variant = 'default', size = 'default', iconPosition = 'right', type = 'single', collapsible = true, defaultValue, value, onValueChange, disabled, ...props }, ref) => {
1615
1620
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Radix single/multiple union type conflict
1616
1621
  const restProps = props as any
@@ -1645,7 +1650,7 @@ const AccordionRoot = React.forwardRef<HTMLDivElement, AccordionProps>(
1645
1650
  )
1646
1651
  }
1647
1652
  )
1648
- AccordionRoot.displayName = 'Accordion'
1653
+ Accordion.displayName = 'Accordion'
1649
1654
 
1650
1655
  // \u2500\u2500\u2500 AccordionItem \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
1651
1656
 
@@ -1792,21 +1797,6 @@ const AccordionContent = React.forwardRef<
1792
1797
  AccordionContent.displayName = 'AccordionContent'
1793
1798
 
1794
1799
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
1795
-
1796
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
1797
- const Accordion = Object.assign(AccordionRoot, {
1798
- Item: AccordionItem,
1799
- Trigger: AccordionTrigger,
1800
- Content: AccordionContent,
1801
- })
1802
-
1803
- // eslint-disable-next-line @typescript-eslint/no-namespace
1804
- namespace Accordion {
1805
- export type ItemProps = AccordionItemProps
1806
- export type TriggerProps = AccordionTriggerProps
1807
- export type ContentProps = AccordionContentProps
1808
- }
1809
-
1810
1800
  export {
1811
1801
  Accordion,
1812
1802
  AccordionItem,
@@ -1824,7 +1814,7 @@ export {
1824
1814
  dependencies: [],
1825
1815
  registryDependencies: [],
1826
1816
  reverseDependencies: [],
1827
- namespace: true,
1817
+ namespace: false,
1828
1818
  description: "",
1829
1819
  files: [{
1830
1820
  path: "alert.tsx",
@@ -1988,7 +1978,7 @@ function useAlertContext() {
1988
1978
  // Alert
1989
1979
  // \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
1990
1980
 
1991
- // \u2500\u2500\u2500 AlertRoot \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
1981
+ // \u2500\u2500\u2500 Alert \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
1992
1982
  export interface AlertRootProps
1993
1983
  extends React.HTMLAttributes<HTMLDivElement>,
1994
1984
  VariantProps<typeof alertVariants> {
@@ -2010,7 +2000,7 @@ export interface AlertRootProps
2010
2000
  hideIcon?: boolean
2011
2001
  }
2012
2002
 
2013
- const AlertRoot = React.forwardRef<HTMLDivElement, AlertRootProps>(
2003
+ const Alert = React.forwardRef<HTMLDivElement, AlertRootProps>(
2014
2004
  ({
2015
2005
  className,
2016
2006
  variant = 'default',
@@ -2076,7 +2066,7 @@ const AlertRoot = React.forwardRef<HTMLDivElement, AlertRootProps>(
2076
2066
  )
2077
2067
  }
2078
2068
  )
2079
- AlertRoot.displayName = 'AlertRoot'
2069
+ Alert.displayName = 'Alert'
2080
2070
 
2081
2071
  // \u2500\u2500\u2500 AlertTitle \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2082
2072
  export interface AlertTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {}
@@ -2117,23 +2107,9 @@ const AlertDescription = React.forwardRef<HTMLParagraphElement, AlertDescription
2117
2107
  )
2118
2108
  AlertDescription.displayName = 'AlertDescription'
2119
2109
 
2120
- // \u2500\u2500\u2500 Namespace: Alert \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2121
- const Alert = Object.assign(AlertRoot, {
2122
- Title: AlertTitle,
2123
- Description: AlertDescription,
2124
- })
2125
-
2126
- // eslint-disable-next-line @typescript-eslint/no-namespace
2127
- namespace Alert {
2128
- export type RootProps = AlertRootProps
2129
- export type TitleProps = AlertTitleProps
2130
- export type DescriptionProps = AlertDescriptionProps
2131
- }
2132
-
2133
2110
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2134
2111
  export {
2135
2112
  Alert,
2136
- AlertRoot,
2137
2113
  AlertTitle,
2138
2114
  AlertDescription,
2139
2115
  alertVariants,
@@ -2147,7 +2123,7 @@ export {
2147
2123
  dependencies: ["@radix-ui/react-avatar"],
2148
2124
  registryDependencies: [],
2149
2125
  reverseDependencies: [],
2150
- namespace: true,
2126
+ namespace: false,
2151
2127
  description: "",
2152
2128
  files: [{
2153
2129
  path: "avatar.tsx",
@@ -2278,7 +2254,7 @@ export interface AvatarProps
2278
2254
  status?: AvatarStatus
2279
2255
  }
2280
2256
 
2281
- const AvatarRoot = React.forwardRef<
2257
+ const Avatar = React.forwardRef<
2282
2258
  React.ElementRef<typeof AvatarPrimitive.Root>,
2283
2259
  AvatarProps
2284
2260
  >(({ className, size, shape, status, children, ...props }, ref) => {
@@ -2316,7 +2292,7 @@ const AvatarRoot = React.forwardRef<
2316
2292
  </span>
2317
2293
  )
2318
2294
  })
2319
- AvatarRoot.displayName = 'Avatar'
2295
+ Avatar.displayName = 'Avatar'
2320
2296
 
2321
2297
  export interface AvatarImageProps
2322
2298
  extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image> {}
@@ -2394,9 +2370,9 @@ const AvatarGroup = React.forwardRef<HTMLDivElement, AvatarGroupProps>(
2394
2370
  >
2395
2371
  {visibleChildren}
2396
2372
  {overflowCount > 0 && (
2397
- <AvatarRoot size={size} shape={shape}>
2373
+ <Avatar size={size} shape={shape}>
2398
2374
  <AvatarFallback size={size}>+{overflowCount}</AvatarFallback>
2399
- </AvatarRoot>
2375
+ </Avatar>
2400
2376
  )}
2401
2377
  </div>
2402
2378
  )
@@ -2404,20 +2380,6 @@ const AvatarGroup = React.forwardRef<HTMLDivElement, AvatarGroupProps>(
2404
2380
  )
2405
2381
  AvatarGroup.displayName = 'AvatarGroup'
2406
2382
 
2407
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2408
- const Avatar = Object.assign(AvatarRoot, {
2409
- Image: AvatarImage,
2410
- Fallback: AvatarFallback,
2411
- Group: AvatarGroup,
2412
- })
2413
-
2414
- // eslint-disable-next-line @typescript-eslint/no-namespace
2415
- namespace Avatar {
2416
- export type ImageProps = AvatarImageProps
2417
- export type FallbackProps = AvatarFallbackProps
2418
- export type GroupProps = AvatarGroupProps
2419
- }
2420
-
2421
2383
  export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, avatarVariants, avatarColors, getAvatarColor, getAvatarInitials }
2422
2384
  `,
2423
2385
  type: "ui"
@@ -2636,7 +2598,7 @@ export { Badge, badgeVariants }
2636
2598
  dependencies: ["@radix-ui/react-slot"],
2637
2599
  registryDependencies: [],
2638
2600
  reverseDependencies: [],
2639
- namespace: true,
2601
+ namespace: false,
2640
2602
  description: "",
2641
2603
  files: [{
2642
2604
  path: "breadcrumb.tsx",
@@ -2709,7 +2671,7 @@ export interface BreadcrumbProps extends React.ComponentPropsWithoutRef<'nav'> {
2709
2671
  itemsAfterCollapse?: number
2710
2672
  }
2711
2673
 
2712
- const BreadcrumbRoot = React.forwardRef<HTMLElement, BreadcrumbProps>(
2674
+ const Breadcrumb = React.forwardRef<HTMLElement, BreadcrumbProps>(
2713
2675
  ({ className, separator, size = 'default', ...props }, ref) => (
2714
2676
  <BreadcrumbContext.Provider value={{ size, separator }}>
2715
2677
  <nav
@@ -2721,7 +2683,7 @@ const BreadcrumbRoot = React.forwardRef<HTMLElement, BreadcrumbProps>(
2721
2683
  </BreadcrumbContext.Provider>
2722
2684
  )
2723
2685
  )
2724
- BreadcrumbRoot.displayName = 'Breadcrumb'
2686
+ Breadcrumb.displayName = 'Breadcrumb'
2725
2687
 
2726
2688
  // \u2500\u2500\u2500 BreadcrumbList \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2727
2689
 
@@ -2846,22 +2808,6 @@ BreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis'
2846
2808
 
2847
2809
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2848
2810
 
2849
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
2850
- const Breadcrumb = Object.assign(BreadcrumbRoot, {
2851
- List: BreadcrumbList,
2852
- Item: BreadcrumbItem,
2853
- Link: BreadcrumbLink,
2854
- Page: BreadcrumbPage,
2855
- Separator: BreadcrumbSeparator,
2856
- Ellipsis: BreadcrumbEllipsis,
2857
- })
2858
-
2859
- // eslint-disable-next-line @typescript-eslint/no-namespace
2860
- namespace Breadcrumb {
2861
- export type LinkProps = BreadcrumbLinkProps
2862
- export type EllipsisProps = BreadcrumbEllipsisProps
2863
- }
2864
-
2865
2811
  export {
2866
2812
  Breadcrumb,
2867
2813
  BreadcrumbList,
@@ -3165,7 +3111,7 @@ export { Button, buttonVariants }
3165
3111
  dependencies: ["@radix-ui/react-slot"],
3166
3112
  registryDependencies: [],
3167
3113
  reverseDependencies: [],
3168
- namespace: true,
3114
+ namespace: false,
3169
3115
  description: "",
3170
3116
  files: [{
3171
3117
  path: "card.tsx",
@@ -3247,7 +3193,7 @@ export interface CardProps
3247
3193
  asChild?: boolean
3248
3194
  }
3249
3195
 
3250
- const CardRoot = React.forwardRef<HTMLDivElement, CardProps>(
3196
+ const Card = React.forwardRef<HTMLDivElement, CardProps>(
3251
3197
  ({
3252
3198
  className,
3253
3199
  variant = 'default',
@@ -3303,7 +3249,7 @@ const CardRoot = React.forwardRef<HTMLDivElement, CardProps>(
3303
3249
  )
3304
3250
  }
3305
3251
  )
3306
- CardRoot.displayName = 'Card'
3252
+ Card.displayName = 'Card'
3307
3253
 
3308
3254
  // \u2500\u2500 Size-based padding map (responsive: mobile \u2192 desktop) \u2500\u2500
3309
3255
 
@@ -3567,28 +3513,6 @@ const CardFooter = React.forwardRef<HTMLDivElement, CardFooterProps>(
3567
3513
  )
3568
3514
  CardFooter.displayName = 'CardFooter'
3569
3515
 
3570
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
3571
- const Card = Object.assign(CardRoot, {
3572
- Image: CardImage,
3573
- Header: CardHeader,
3574
- Title: CardTitle,
3575
- Description: CardDescription,
3576
- Action: CardAction,
3577
- Content: CardContent,
3578
- Footer: CardFooter,
3579
- })
3580
-
3581
- // eslint-disable-next-line @typescript-eslint/no-namespace
3582
- namespace Card {
3583
- export type ImageProps = CardImageProps
3584
- export type HeaderProps = CardHeaderProps
3585
- export type TitleProps = CardTitleProps
3586
- export type DescriptionProps = CardDescriptionProps
3587
- export type ActionProps = CardActionProps
3588
- export type ContentProps = CardContentProps
3589
- export type FooterProps = CardFooterProps
3590
- }
3591
-
3592
3516
  export {
3593
3517
  Card,
3594
3518
  CardImage,
@@ -3609,7 +3533,7 @@ export {
3609
3533
  dependencies: ["recharts"],
3610
3534
  registryDependencies: [],
3611
3535
  reverseDependencies: [],
3612
- namespace: true,
3536
+ namespace: false,
3613
3537
  description: "",
3614
3538
  aliases: ["bar-chart", "line-chart", "area-chart", "pie-chart"],
3615
3539
  files: [{
@@ -4462,24 +4386,9 @@ function ChartPie({
4462
4386
 
4463
4387
  // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
4464
4388
 
4465
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
4466
- const Chart = Object.assign(ChartContainer, {
4467
- Bar: ChartBar,
4468
- Line: ChartLine,
4469
- Area: ChartArea,
4470
- Pie: ChartPie,
4471
- Tooltip: ChartTooltip,
4472
- TooltipContent: ChartTooltipContent,
4473
- Legend: ChartLegend,
4474
- LegendContent: ChartLegendContent,
4475
- XAxis: ChartXAxis,
4476
- YAxis: ChartYAxis,
4477
- Style: ChartStyle,
4478
- })
4479
-
4480
4389
  export {
4481
- Chart,
4482
4390
  ChartContainer,
4391
+ ChartContainer as Chart,
4483
4392
  ChartBar,
4484
4393
  ChartLine,
4485
4394
  ChartArea,
@@ -4502,7 +4411,7 @@ export {
4502
4411
  dependencies: [],
4503
4412
  registryDependencies: [],
4504
4413
  reverseDependencies: [],
4505
- namespace: true,
4414
+ namespace: false,
4506
4415
  description: "",
4507
4416
  files: [{
4508
4417
  path: "chat-input.tsx",
@@ -4725,7 +4634,7 @@ export interface ChatInputSubmitProps
4725
4634
  // ChatInput \u2014 Root container
4726
4635
  // ============================================================================
4727
4636
 
4728
- const ChatInputRoot = React.forwardRef<HTMLDivElement, ChatInputRootProps>(
4637
+ const ChatInput = React.forwardRef<HTMLDivElement, ChatInputRootProps>(
4729
4638
  (
4730
4639
  {
4731
4640
  className,
@@ -4812,10 +4721,10 @@ const ChatInputRoot = React.forwardRef<HTMLDivElement, ChatInputRootProps>(
4812
4721
  )
4813
4722
  }
4814
4723
  )
4815
- ChatInputRoot.displayName = 'ChatInput'
4724
+ ChatInput.displayName = 'ChatInput'
4816
4725
 
4817
4726
  // ============================================================================
4818
- // ChatInput.Field \u2014 Auto-resizing textarea
4727
+ // ChatInputField \u2014 Auto-resizing textarea
4819
4728
  // ============================================================================
4820
4729
 
4821
4730
  const ChatInputField = React.forwardRef<HTMLTextAreaElement, ChatInputFieldProps>(
@@ -4917,10 +4826,10 @@ const ChatInputField = React.forwardRef<HTMLTextAreaElement, ChatInputFieldProps
4917
4826
  )
4918
4827
  }
4919
4828
  )
4920
- ChatInputField.displayName = 'ChatInput.Field'
4829
+ ChatInputField.displayName = 'ChatInputField'
4921
4830
 
4922
4831
  // ============================================================================
4923
- // ChatInput.Submit \u2014 Send / stop button
4832
+ // ChatInputSubmit \u2014 Send / stop button
4924
4833
  // ============================================================================
4925
4834
 
4926
4835
  const ChatInputSubmit = React.forwardRef<HTMLButtonElement, ChatInputSubmitProps>(
@@ -5002,7 +4911,7 @@ const ChatInputSubmit = React.forwardRef<HTMLButtonElement, ChatInputSubmitProps
5002
4911
  )
5003
4912
  }
5004
4913
  )
5005
- ChatInputSubmit.displayName = 'ChatInput.Submit'
4914
+ ChatInputSubmit.displayName = 'ChatInputSubmit'
5006
4915
 
5007
4916
  // ============================================================================
5008
4917
  // Built-in SVG icons \u2014 no external icon dependency
@@ -5033,26 +4942,8 @@ function StopIcon() {
5033
4942
  )
5034
4943
  }
5035
4944
 
5036
- // ============================================================================
5037
- // Namespace export (compound pattern)
5038
- // ============================================================================
5039
-
5040
- const ChatInput = Object.assign(ChatInputRoot, {
5041
- Field: ChatInputField,
5042
- Submit: ChatInputSubmit,
5043
- })
5044
-
5045
- // eslint-disable-next-line @typescript-eslint/no-namespace
5046
- namespace ChatInput {
5047
- export type RootProps = ChatInputRootProps
5048
- export type FieldProps = ChatInputFieldProps
5049
- export type SubmitProps = ChatInputSubmitProps
5050
- export type Layout = ChatInputLayout
5051
- }
5052
-
5053
4945
  export {
5054
4946
  ChatInput,
5055
- ChatInputRoot,
5056
4947
  ChatInputField,
5057
4948
  ChatInputSubmit,
5058
4949
  chatInputVariants,
@@ -5066,7 +4957,7 @@ export {
5066
4957
  dependencies: [],
5067
4958
  registryDependencies: ["avatar", "typing-indicator"],
5068
4959
  reverseDependencies: [],
5069
- namespace: true,
4960
+ namespace: false,
5070
4961
  description: "",
5071
4962
  files: [{
5072
4963
  path: "chat-message.tsx",
@@ -5295,7 +5186,7 @@ export interface ChatMessageFooterProps extends React.HTMLAttributes<HTMLDivElem
5295
5186
  // ChatMessage Root
5296
5187
  // ============================================================================
5297
5188
 
5298
- const ChatMessageRoot = React.forwardRef<HTMLDivElement, ChatMessageRootProps>(
5189
+ const ChatMessage = React.forwardRef<HTMLDivElement, ChatMessageRootProps>(
5299
5190
  (
5300
5191
  {
5301
5192
  className,
@@ -5338,7 +5229,7 @@ const ChatMessageRoot = React.forwardRef<HTMLDivElement, ChatMessageRootProps>(
5338
5229
  )
5339
5230
  }
5340
5231
  )
5341
- ChatMessageRoot.displayName = 'ChatMessage'
5232
+ ChatMessage.displayName = 'ChatMessage'
5342
5233
 
5343
5234
  // ============================================================================
5344
5235
  // Default AI sparkle icon
@@ -5355,7 +5246,7 @@ function DefaultAiIcon() {
5355
5246
  }
5356
5247
 
5357
5248
  // ============================================================================
5358
- // ChatMessage.Avatar \u2014 wraps Avatar component with chat-specific sizes
5249
+ // ChatMessageAvatar \u2014 wraps Avatar component with chat-specific sizes
5359
5250
  // ============================================================================
5360
5251
 
5361
5252
  const ChatMessageAvatar = React.forwardRef<HTMLSpanElement, ChatMessageAvatarProps>(
@@ -5373,10 +5264,10 @@ const ChatMessageAvatar = React.forwardRef<HTMLSpanElement, ChatMessageAvatarPro
5373
5264
  </Avatar>
5374
5265
  )
5375
5266
  )
5376
- ChatMessageAvatar.displayName = 'ChatMessage.Avatar'
5267
+ ChatMessageAvatar.displayName = 'ChatMessageAvatar'
5377
5268
 
5378
5269
  // ============================================================================
5379
- // ChatMessage.Content
5270
+ // ChatMessageContent
5380
5271
  // ============================================================================
5381
5272
 
5382
5273
  const ChatMessageContent = React.forwardRef<HTMLDivElement, ChatMessageContentProps>(
@@ -5436,10 +5327,10 @@ const ChatMessageContent = React.forwardRef<HTMLDivElement, ChatMessageContentPr
5436
5327
  )
5437
5328
  }
5438
5329
  )
5439
- ChatMessageContent.displayName = 'ChatMessage.Content'
5330
+ ChatMessageContent.displayName = 'ChatMessageContent'
5440
5331
 
5441
5332
  // ============================================================================
5442
- // ChatMessage.Footer
5333
+ // ChatMessageFooter
5443
5334
  // ============================================================================
5444
5335
 
5445
5336
  const ChatMessageFooter = React.forwardRef<HTMLDivElement, ChatMessageFooterProps>(
@@ -5489,36 +5380,10 @@ const ChatMessageFooter = React.forwardRef<HTMLDivElement, ChatMessageFooterProp
5489
5380
  )
5490
5381
  }
5491
5382
  )
5492
- ChatMessageFooter.displayName = 'ChatMessage.Footer'
5493
-
5494
- // ============================================================================
5495
- // Namespace export (compound pattern)
5496
- // ============================================================================
5497
-
5498
- const ChatMessage = Object.assign(ChatMessageRoot, {
5499
- Avatar: ChatMessageAvatar,
5500
- Content: ChatMessageContent,
5501
- Footer: ChatMessageFooter,
5502
- })
5503
-
5504
- // eslint-disable-next-line @typescript-eslint/no-namespace
5505
- namespace ChatMessage {
5506
- export type RootProps = ChatMessageRootProps
5507
- export type AvatarProps = ChatMessageAvatarProps
5508
- export type ContentProps = ChatMessageContentProps
5509
- export type FooterProps = ChatMessageFooterProps
5510
- export type Role = ChatMessageRole
5511
- export type Variant = ChatMessageVariant
5512
- export type Color = ChatMessageColor
5513
- export type Size = ChatMessageSize
5514
- export type Radius = ChatMessageRadius
5515
- export type Status = ChatMessageStatus
5516
- export type AvatarSize = ChatMessageAvatarSize
5517
- }
5383
+ ChatMessageFooter.displayName = 'ChatMessageFooter'
5518
5384
 
5519
5385
  export {
5520
5386
  ChatMessage,
5521
- ChatMessageRoot,
5522
5387
  ChatMessageAvatar,
5523
5388
  ChatMessageContent,
5524
5389
  ChatMessageFooter,
@@ -5865,7 +5730,7 @@ export { Divider, dividerVariants }
5865
5730
  dependencies: ["@radix-ui/react-dialog"],
5866
5731
  registryDependencies: [],
5867
5732
  reverseDependencies: [],
5868
- namespace: true,
5733
+ namespace: false,
5869
5734
  description: "",
5870
5735
  files: [{
5871
5736
  path: "drawer.tsx",
@@ -5933,8 +5798,8 @@ const drawerSizeVertical = cva('', {
5933
5798
  // Drawer
5934
5799
  // \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
5935
5800
 
5936
- // \u2500\u2500\u2500 Drawer (Root) \u2014 wrapper to avoid Object.assign mutating DialogPrimitive.Root \u2500\u2500
5937
- function DrawerRoot(props: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>) {
5801
+ // \u2500\u2500\u2500 Drawer (Root) \u2014 thin wrapper to expose as named export \u2500\u2500
5802
+ function Drawer(props: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>) {
5938
5803
  return <DialogPrimitive.Root {...props} />
5939
5804
  }
5940
5805
 
@@ -6097,29 +5962,9 @@ const DrawerFooter = React.forwardRef<
6097
5962
  ))
6098
5963
  DrawerFooter.displayName = 'DrawerFooter'
6099
5964
 
6100
- // \u2500\u2500\u2500 Namespace: Drawer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
6101
- const Drawer = Object.assign(DrawerRoot, {
6102
- Trigger: DrawerTrigger,
6103
- Portal: DrawerPortal,
6104
- Overlay: DrawerOverlay,
6105
- Content: DrawerContent,
6106
- Header: DrawerHeader,
6107
- Title: DrawerTitle,
6108
- Description: DrawerDescription,
6109
- Body: DrawerBody,
6110
- Footer: DrawerFooter,
6111
- Close: DrawerClose,
6112
- })
6113
-
6114
- // eslint-disable-next-line @typescript-eslint/no-namespace
6115
- namespace Drawer {
6116
- export type ContentProps = DrawerContentProps
6117
- }
6118
-
6119
5965
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
6120
5966
  export {
6121
5967
  Drawer,
6122
- DrawerRoot,
6123
5968
  DrawerTrigger,
6124
5969
  DrawerPortal,
6125
5970
  DrawerOverlay,
@@ -6142,7 +5987,7 @@ export {
6142
5987
  dependencies: ["@radix-ui/react-dropdown-menu"],
6143
5988
  registryDependencies: [],
6144
5989
  reverseDependencies: [],
6145
- namespace: true,
5990
+ namespace: false,
6146
5991
  description: "",
6147
5992
  files: [{
6148
5993
  path: "dropdown.tsx",
@@ -6220,7 +6065,7 @@ const DropdownMenuStyleContext = React.createContext<{
6220
6065
  }>({ radius: 'lg', flush: false, size: 'md' })
6221
6066
 
6222
6067
  // Root \u2014 state management (controlled / uncontrolled)
6223
- const DropdownMenuRoot = DropdownMenuPrimitive.Root
6068
+ const DropdownMenu = DropdownMenuPrimitive.Root
6224
6069
 
6225
6070
  // Trigger \u2014 the element that toggles the menu
6226
6071
  const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger
@@ -6472,23 +6317,6 @@ DropdownMenuShortcut.displayName = 'DropdownMenuShortcut'
6472
6317
 
6473
6318
  export type { DropdownMenuRadius, DropdownMenuSize }
6474
6319
 
6475
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
6476
- const DropdownMenu = Object.assign(DropdownMenuRoot, {
6477
- Trigger: DropdownMenuTrigger,
6478
- Content: DropdownMenuContent,
6479
- Item: DropdownMenuItem,
6480
- CheckboxItem: DropdownMenuCheckboxItem,
6481
- RadioGroup: DropdownMenuRadioGroup,
6482
- RadioItem: DropdownMenuRadioItem,
6483
- Label: DropdownMenuLabel,
6484
- Separator: DropdownMenuSeparator,
6485
- Group: DropdownMenuGroup,
6486
- Sub: DropdownMenuSub,
6487
- SubTrigger: DropdownMenuSubTrigger,
6488
- SubContent: DropdownMenuSubContent,
6489
- Shortcut: DropdownMenuShortcut,
6490
- })
6491
-
6492
6320
  export {
6493
6321
  DropdownMenu,
6494
6322
  DropdownMenuTrigger,
@@ -6514,7 +6342,7 @@ export {
6514
6342
  dependencies: [],
6515
6343
  registryDependencies: [],
6516
6344
  reverseDependencies: [],
6517
- namespace: true,
6345
+ namespace: false,
6518
6346
  description: "",
6519
6347
  files: [{
6520
6348
  path: "field.tsx",
@@ -6560,7 +6388,7 @@ export interface FieldProps
6560
6388
  disabled?: boolean
6561
6389
  }
6562
6390
 
6563
- const FieldRoot = React.forwardRef<HTMLDivElement, FieldProps>(
6391
+ const Field = React.forwardRef<HTMLDivElement, FieldProps>(
6564
6392
  ({ className, gap, error, disabled, children, ...props }, ref) => {
6565
6393
  const id = React.useId()
6566
6394
 
@@ -6579,7 +6407,7 @@ const FieldRoot = React.forwardRef<HTMLDivElement, FieldProps>(
6579
6407
  )
6580
6408
  }
6581
6409
  )
6582
- FieldRoot.displayName = 'Field'
6410
+ Field.displayName = 'Field'
6583
6411
 
6584
6412
  // Field Label
6585
6413
  export interface FieldLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
@@ -6654,18 +6482,6 @@ const FieldCharCount = React.forwardRef<
6654
6482
  })
6655
6483
  FieldCharCount.displayName = 'FieldCharCount'
6656
6484
 
6657
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
6658
- const Field = Object.assign(FieldRoot, {
6659
- Label: FieldLabel,
6660
- Error: FieldError,
6661
- CharCount: FieldCharCount,
6662
- })
6663
-
6664
- // eslint-disable-next-line @typescript-eslint/no-namespace
6665
- namespace Field {
6666
- export type LabelProps = FieldLabelProps
6667
- }
6668
-
6669
6485
  export { Field, FieldLabel, FieldError, FieldCharCount, useFieldContext }
6670
6486
  `,
6671
6487
  type: "ui"
@@ -7049,7 +6865,7 @@ export { Input, inputVariants }
7049
6865
  dependencies: [],
7050
6866
  registryDependencies: [],
7051
6867
  reverseDependencies: [],
7052
- namespace: true,
6868
+ namespace: false,
7053
6869
  description: "",
7054
6870
  files: [{
7055
6871
  path: "metric-card.tsx",
@@ -7139,7 +6955,7 @@ export interface MetricCardProps
7139
6955
  animated?: boolean
7140
6956
  }
7141
6957
 
7142
- const MetricCardRoot = React.forwardRef<HTMLDivElement, MetricCardProps>(
6958
+ const MetricCard = React.forwardRef<HTMLDivElement, MetricCardProps>(
7143
6959
  ({ className, variant, size, radius, animated = false, children, ...props }, ref) => {
7144
6960
  const resolvedSize = (size || 'default') as MetricCardSize
7145
6961
  return (
@@ -7155,7 +6971,7 @@ const MetricCardRoot = React.forwardRef<HTMLDivElement, MetricCardProps>(
7155
6971
  )
7156
6972
  }
7157
6973
  )
7158
- MetricCardRoot.displayName = 'MetricCard'
6974
+ MetricCard.displayName = 'MetricCard'
7159
6975
 
7160
6976
  // \u2500\u2500 MetricCardHeader \u2500\u2500
7161
6977
 
@@ -7310,27 +7126,6 @@ const MetricCardSymbol = React.forwardRef<HTMLDivElement, MetricCardSymbolProps>
7310
7126
  MetricCardSymbol.displayName = 'MetricCardSymbol'
7311
7127
 
7312
7128
  // \u2500\u2500 Exports \u2500\u2500
7313
-
7314
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
7315
- const MetricCard = Object.assign(MetricCardRoot, {
7316
- Header: MetricCardHeader,
7317
- Title: MetricCardTitle,
7318
- Value: MetricCardValue,
7319
- Trend: MetricCardTrend,
7320
- Description: MetricCardDescription,
7321
- Symbol: MetricCardSymbol,
7322
- })
7323
-
7324
- // eslint-disable-next-line @typescript-eslint/no-namespace
7325
- namespace MetricCard {
7326
- export type HeaderProps = MetricCardHeaderProps
7327
- export type TitleProps = MetricCardTitleProps
7328
- export type ValueProps = MetricCardValueProps
7329
- export type TrendProps = MetricCardTrendProps
7330
- export type DescriptionProps = MetricCardDescriptionProps
7331
- export type SymbolProps = MetricCardSymbolProps
7332
- }
7333
-
7334
7129
  export {
7335
7130
  MetricCard,
7336
7131
  MetricCardHeader,
@@ -7350,7 +7145,7 @@ export {
7350
7145
  dependencies: ["@radix-ui/react-alert-dialog", "@radix-ui/react-dialog"],
7351
7146
  registryDependencies: [],
7352
7147
  reverseDependencies: [],
7353
- namespace: true,
7148
+ namespace: false,
7354
7149
  description: "",
7355
7150
  files: [{
7356
7151
  path: "modal.tsx",
@@ -7388,8 +7183,8 @@ const ModalStyleContext = React.createContext<ModalStyleContextValue>({
7388
7183
  // Modal (Dialog)
7389
7184
  // \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
7390
7185
 
7391
- // \u2500\u2500\u2500 Modal (Root) \u2014 wrapper to avoid Object.assign mutating DialogPrimitive.Root \u2500\u2500
7392
- function ModalRoot(props: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>) {
7186
+ // \u2500\u2500\u2500 Modal (Root) \u2014 thin wrapper to expose as named export without mutating DialogPrimitive.Root \u2500\u2500
7187
+ function Modal(props: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>) {
7393
7188
  return <DialogPrimitive.Root {...props} />
7394
7189
  }
7395
7190
 
@@ -7616,7 +7411,7 @@ ModalFooter.displayName = 'ModalFooter'
7616
7411
  // \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
7617
7412
 
7618
7413
  // \u2500\u2500\u2500 AlertModal (Root) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
7619
- const AlertModalRoot = AlertDialogPrimitive.Root
7414
+ const AlertModal = AlertDialogPrimitive.Root
7620
7415
 
7621
7416
  // \u2500\u2500\u2500 AlertModalTrigger \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
7622
7417
  const AlertModalTrigger = AlertDialogPrimitive.Trigger
@@ -7777,45 +7572,6 @@ const AlertModalCancel = React.forwardRef<
7777
7572
  ))
7778
7573
  AlertModalCancel.displayName = 'AlertModalCancel'
7779
7574
 
7780
- // \u2500\u2500\u2500 Namespace: Modal \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
7781
- const Modal = Object.assign(ModalRoot, {
7782
- Trigger: ModalTrigger,
7783
- Portal: ModalPortal,
7784
- Overlay: ModalOverlay,
7785
- Content: ModalContent,
7786
- Header: ModalHeader,
7787
- Title: ModalTitle,
7788
- Description: ModalDescription,
7789
- Body: ModalBody,
7790
- Footer: ModalFooter,
7791
- Close: ModalClose,
7792
- })
7793
-
7794
- // eslint-disable-next-line @typescript-eslint/no-namespace
7795
- namespace Modal {
7796
- export type ContentProps = ModalContentProps
7797
- }
7798
-
7799
- // \u2500\u2500\u2500 Namespace: AlertModal \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
7800
- const AlertModal = Object.assign(AlertModalRoot, {
7801
- Trigger: AlertModalTrigger,
7802
- Portal: AlertModalPortal,
7803
- Overlay: AlertModalOverlay,
7804
- Content: AlertModalContent,
7805
- Header: AlertModalHeader,
7806
- Title: AlertModalTitle,
7807
- Description: AlertModalDescription,
7808
- Body: AlertModalBody,
7809
- Footer: AlertModalFooter,
7810
- Action: AlertModalAction,
7811
- Cancel: AlertModalCancel,
7812
- })
7813
-
7814
- // eslint-disable-next-line @typescript-eslint/no-namespace
7815
- namespace AlertModal {
7816
- export type ContentProps = AlertModalContentProps
7817
- }
7818
-
7819
7575
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
7820
7576
  export {
7821
7577
  Modal,
@@ -7853,7 +7609,7 @@ export {
7853
7609
  dependencies: ["@radix-ui/react-collapsible", "@radix-ui/react-navigation-menu", "@radix-ui/react-slot"],
7854
7610
  registryDependencies: [],
7855
7611
  reverseDependencies: [],
7856
- namespace: true,
7612
+ namespace: false,
7857
7613
  description: "",
7858
7614
  files: [{
7859
7615
  path: "navigation-menu.tsx",
@@ -7993,7 +7749,7 @@ export interface NavigationMenuProps extends React.HTMLAttributes<HTMLElement> {
7993
7749
  onValueChange?: (value: string) => void
7994
7750
  }
7995
7751
 
7996
- const NavigationMenuRoot = React.forwardRef<HTMLElement, NavigationMenuProps>(
7752
+ const NavigationMenu = React.forwardRef<HTMLElement, NavigationMenuProps>(
7997
7753
  ({
7998
7754
  className,
7999
7755
  orientation = 'horizontal',
@@ -8060,7 +7816,7 @@ const NavigationMenuRoot = React.forwardRef<HTMLElement, NavigationMenuProps>(
8060
7816
  )
8061
7817
  }
8062
7818
  )
8063
- NavigationMenuRoot.displayName = 'NavigationMenu'
7819
+ NavigationMenu.displayName = 'NavigationMenu'
8064
7820
 
8065
7821
  // \u2500\u2500\u2500 NavigationMenuList \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
8066
7822
 
@@ -8518,31 +8274,6 @@ const NavigationMenuViewport = React.forwardRef<HTMLDivElement, NavigationMenuVi
8518
8274
  NavigationMenuViewport.displayName = 'NavigationMenuViewport'
8519
8275
 
8520
8276
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
8521
-
8522
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
8523
- const NavigationMenu = Object.assign(NavigationMenuRoot, {
8524
- List: NavigationMenuList,
8525
- Item: NavigationMenuItem,
8526
- Trigger: NavigationMenuTrigger,
8527
- Content: NavigationMenuContent,
8528
- Link: NavigationMenuLink,
8529
- Group: NavigationMenuGroup,
8530
- Indicator: NavigationMenuIndicator,
8531
- Viewport: NavigationMenuViewport,
8532
- })
8533
-
8534
- // eslint-disable-next-line @typescript-eslint/no-namespace
8535
- namespace NavigationMenu {
8536
- export type ListProps = NavigationMenuListProps
8537
- export type ItemProps = NavigationMenuItemProps
8538
- export type TriggerProps = NavigationMenuTriggerProps
8539
- export type ContentProps = NavigationMenuContentProps
8540
- export type LinkProps = NavigationMenuLinkProps
8541
- export type GroupProps = NavigationMenuGroupProps
8542
- export type IndicatorProps = NavigationMenuIndicatorProps
8543
- export type ViewportProps = NavigationMenuViewportProps
8544
- }
8545
-
8546
8277
  export {
8547
8278
  NavigationMenu,
8548
8279
  NavigationMenuList,
@@ -8565,7 +8296,7 @@ export {
8565
8296
  dependencies: [],
8566
8297
  registryDependencies: [],
8567
8298
  reverseDependencies: [],
8568
- namespace: true,
8299
+ namespace: false,
8569
8300
  description: "",
8570
8301
  files: [{
8571
8302
  path: "pagination.tsx",
@@ -8843,7 +8574,7 @@ export interface PaginationProps extends Omit<React.ComponentPropsWithoutRef<'na
8843
8574
  loop?: boolean
8844
8575
  }
8845
8576
 
8846
- const PaginationRoot = React.forwardRef<HTMLElement, PaginationProps>(
8577
+ const Pagination = React.forwardRef<HTMLElement, PaginationProps>(
8847
8578
  ({
8848
8579
  className,
8849
8580
  total = 1,
@@ -8915,7 +8646,7 @@ const PaginationRoot = React.forwardRef<HTMLElement, PaginationProps>(
8915
8646
  )
8916
8647
  }
8917
8648
  )
8918
- PaginationRoot.displayName = 'Pagination'
8649
+ Pagination.displayName = 'Pagination'
8919
8650
 
8920
8651
  // \u2500\u2500\u2500 PaginationContent \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
8921
8652
 
@@ -9185,29 +8916,6 @@ const PaginationItems = React.forwardRef<HTMLDivElement, React.ComponentPropsWit
9185
8916
  PaginationItems.displayName = 'PaginationItems'
9186
8917
 
9187
8918
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
9188
-
9189
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
9190
- const Pagination = Object.assign(PaginationRoot, {
9191
- Content: PaginationContent,
9192
- Item: PaginationItem,
9193
- Link: PaginationLink,
9194
- Previous: PaginationPrevious,
9195
- Next: PaginationNext,
9196
- First: PaginationFirst,
9197
- Last: PaginationLast,
9198
- Ellipsis: PaginationEllipsis,
9199
- Items: PaginationItems,
9200
- })
9201
-
9202
- // eslint-disable-next-line @typescript-eslint/no-namespace
9203
- namespace Pagination {
9204
- export type LinkProps = PaginationLinkProps
9205
- export type PreviousProps = PaginationPreviousProps
9206
- export type NextProps = PaginationNextProps
9207
- export type FirstProps = PaginationFirstProps
9208
- export type LastProps = PaginationLastProps
9209
- }
9210
-
9211
8919
  export {
9212
8920
  Pagination,
9213
8921
  PaginationContent,
@@ -9231,7 +8939,7 @@ export {
9231
8939
  dependencies: ["@radix-ui/react-popover"],
9232
8940
  registryDependencies: [],
9233
8941
  reverseDependencies: [],
9234
- namespace: true,
8942
+ namespace: false,
9235
8943
  description: "",
9236
8944
  files: [{
9237
8945
  path: "popover.tsx",
@@ -9305,10 +9013,10 @@ const ARROW_ELEVATED = 'fill-background-paper drop-shadow-sm'
9305
9013
  // Popover
9306
9014
  // \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
9307
9015
 
9308
- // \u2500\u2500\u2500 PopoverRoot \u2014 wrapper to avoid Object.assign mutating Radix primitive \u2500\u2500
9016
+ // \u2500\u2500\u2500 Popover (Root) \u2014 thin wrapper to expose as named export \u2500\u2500
9309
9017
  export interface PopoverRootProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> {}
9310
9018
 
9311
- function PopoverRoot(props: PopoverRootProps) {
9019
+ function Popover(props: PopoverRootProps) {
9312
9020
  return <PopoverPrimitive.Root {...props} />
9313
9021
  }
9314
9022
 
@@ -9402,26 +9110,9 @@ const PopoverArrow = React.forwardRef<
9402
9110
  ))
9403
9111
  PopoverArrow.displayName = 'PopoverArrow'
9404
9112
 
9405
- // \u2500\u2500\u2500 Namespace: Popover \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
9406
- const Popover = Object.assign(PopoverRoot, {
9407
- Trigger: PopoverTrigger,
9408
- Content: PopoverContent,
9409
- Arrow: PopoverArrow,
9410
- Close: PopoverClose,
9411
- Anchor: PopoverAnchor,
9412
- Portal: PopoverPortal,
9413
- })
9414
-
9415
- // eslint-disable-next-line @typescript-eslint/no-namespace
9416
- namespace Popover {
9417
- export type ContentProps = PopoverContentProps
9418
- export type RootProps = PopoverRootProps
9419
- }
9420
-
9421
9113
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
9422
9114
  export {
9423
9115
  Popover,
9424
- PopoverRoot,
9425
9116
  PopoverTrigger,
9426
9117
  PopoverContent,
9427
9118
  PopoverArrow,
@@ -9682,7 +9373,7 @@ export { Progress, linearTrackVariants }
9682
9373
  dependencies: ["@radix-ui/react-slot"],
9683
9374
  registryDependencies: [],
9684
9375
  reverseDependencies: [],
9685
- namespace: true,
9376
+ namespace: false,
9686
9377
  description: "",
9687
9378
  files: [{
9688
9379
  path: "quick-reply.tsx",
@@ -9832,7 +9523,7 @@ export interface QuickReplyItemProps
9832
9523
  // QuickReply Root \u2014 group container that propagates style via Context
9833
9524
  // ============================================================================
9834
9525
 
9835
- const QuickReplyRoot = React.forwardRef<HTMLDivElement, QuickReplyRootProps>(
9526
+ const QuickReply = React.forwardRef<HTMLDivElement, QuickReplyRootProps>(
9836
9527
  (
9837
9528
  {
9838
9529
  className,
@@ -9867,7 +9558,7 @@ const QuickReplyRoot = React.forwardRef<HTMLDivElement, QuickReplyRootProps>(
9867
9558
  )
9868
9559
  }
9869
9560
  )
9870
- QuickReplyRoot.displayName = 'QuickReply'
9561
+ QuickReply.displayName = 'QuickReply'
9871
9562
 
9872
9563
  // ============================================================================
9873
9564
  // QuickReply Item \u2014 individual chip button
@@ -9904,25 +9595,10 @@ const QuickReplyItem = React.forwardRef<HTMLButtonElement, QuickReplyItemProps>(
9904
9595
  )
9905
9596
  }
9906
9597
  )
9907
- QuickReplyItem.displayName = 'QuickReply.Item'
9908
-
9909
- // ============================================================================
9910
- // Namespace export (compound pattern)
9911
- // ============================================================================
9912
-
9913
- const QuickReply = Object.assign(QuickReplyRoot, {
9914
- Item: QuickReplyItem,
9915
- })
9916
-
9917
- // eslint-disable-next-line @typescript-eslint/no-namespace
9918
- namespace QuickReply {
9919
- export type RootProps = QuickReplyRootProps
9920
- export type ItemProps = QuickReplyItemProps
9921
- }
9598
+ QuickReplyItem.displayName = 'QuickReplyItem'
9922
9599
 
9923
9600
  export {
9924
9601
  QuickReply,
9925
- QuickReplyRoot,
9926
9602
  QuickReplyItem,
9927
9603
  quickReplyRootVariants,
9928
9604
  quickReplyItemVariants,
@@ -9936,7 +9612,7 @@ export {
9936
9612
  dependencies: ["@radix-ui/react-radio-group"],
9937
9613
  registryDependencies: ["field"],
9938
9614
  reverseDependencies: [],
9939
- namespace: true,
9615
+ namespace: false,
9940
9616
  description: "",
9941
9617
  files: [{
9942
9618
  path: "radio-group.tsx",
@@ -9992,7 +9668,7 @@ export interface RadioGroupProps
9992
9668
  color?: RadioColor
9993
9669
  }
9994
9670
 
9995
- const RadioGroupRoot = React.forwardRef<
9671
+ const RadioGroup = React.forwardRef<
9996
9672
  React.ElementRef<typeof RadioGroupPrimitive.Root>,
9997
9673
  RadioGroupProps
9998
9674
  >(({ className, orientation, size = 'default', weight = 'bold', color = 'default', disabled, ...props }, ref) => {
@@ -10011,7 +9687,7 @@ const RadioGroupRoot = React.forwardRef<
10011
9687
  </RadioGroupContext.Provider>
10012
9688
  )
10013
9689
  })
10014
- RadioGroupRoot.displayName = 'RadioGroup'
9690
+ RadioGroup.displayName = 'RadioGroup'
10015
9691
 
10016
9692
  // RadioGroupItem circle variants
10017
9693
  const radioItemVariants = cva(
@@ -10116,16 +9792,6 @@ const RadioGroupItem = React.forwardRef<
10116
9792
  })
10117
9793
  RadioGroupItem.displayName = 'RadioGroupItem'
10118
9794
 
10119
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
10120
- const RadioGroup = Object.assign(RadioGroupRoot, {
10121
- Item: RadioGroupItem,
10122
- })
10123
-
10124
- // eslint-disable-next-line @typescript-eslint/no-namespace
10125
- namespace RadioGroup {
10126
- export type ItemProps = RadioGroupItemProps
10127
- }
10128
-
10129
9795
  export { RadioGroup, RadioGroupItem, radioGroupVariants, radioItemVariants }
10130
9796
  `,
10131
9797
  type: "ui"
@@ -10136,7 +9802,7 @@ export { RadioGroup, RadioGroupItem, radioGroupVariants, radioItemVariants }
10136
9802
  dependencies: ["@radix-ui/react-radio-group"],
10137
9803
  registryDependencies: [],
10138
9804
  reverseDependencies: [],
10139
- namespace: true,
9805
+ namespace: false,
10140
9806
  description: "",
10141
9807
  files: [{
10142
9808
  path: "segmented.tsx",
@@ -10292,7 +9958,7 @@ export interface SegmentedProps
10292
9958
  extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>,
10293
9959
  VariantProps<typeof segmentedVariants> {}
10294
9960
 
10295
- const SegmentedRoot = React.forwardRef<
9961
+ const Segmented = React.forwardRef<
10296
9962
  React.ElementRef<typeof RadioGroupPrimitive.Root>,
10297
9963
  SegmentedProps
10298
9964
  >(({ className, variant, size, radius, fontWeight, ...props }, ref) => {
@@ -10309,7 +9975,7 @@ const SegmentedRoot = React.forwardRef<
10309
9975
  </SegmentedContext.Provider>
10310
9976
  )
10311
9977
  })
10312
- SegmentedRoot.displayName = 'Segmented'
9978
+ Segmented.displayName = 'Segmented'
10313
9979
 
10314
9980
  // Icon size for segmented control (4-step scale, Icon+Text mode)
10315
9981
  // sm: 14px, md~default~lg: 16px
@@ -10348,16 +10014,6 @@ const SegmentedItem = React.forwardRef<
10348
10014
  })
10349
10015
  SegmentedItem.displayName = 'SegmentedItem'
10350
10016
 
10351
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
10352
- const Segmented = Object.assign(SegmentedRoot, {
10353
- Item: SegmentedItem,
10354
- })
10355
-
10356
- // eslint-disable-next-line @typescript-eslint/no-namespace
10357
- namespace Segmented {
10358
- export type ItemProps = SegmentedItemProps
10359
- }
10360
-
10361
10017
  export { Segmented, SegmentedItem, segmentedVariants, segmentedItemVariants }
10362
10018
  `,
10363
10019
  type: "ui"
@@ -10368,7 +10024,7 @@ export { Segmented, SegmentedItem, segmentedVariants, segmentedItemVariants }
10368
10024
  dependencies: ["@radix-ui/react-select"],
10369
10025
  registryDependencies: [],
10370
10026
  reverseDependencies: [],
10371
- namespace: true,
10027
+ namespace: false,
10372
10028
  description: "",
10373
10029
  files: [{
10374
10030
  path: "select.tsx",
@@ -10506,7 +10162,7 @@ const SelectStyleContext = React.createContext<{
10506
10162
  }>({ contentRadius: 'xl', itemSize: 'md', flush: false })
10507
10163
 
10508
10164
  // Root \u2014 state management + size/radius context
10509
- const SelectRoot = ({
10165
+ const Select = ({
10510
10166
  size = 'default',
10511
10167
  radius = 'default',
10512
10168
  ...props
@@ -10720,17 +10376,6 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName
10720
10376
 
10721
10377
  export type { SelectRadius, SelectSize }
10722
10378
 
10723
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
10724
- const Select = Object.assign(SelectRoot, {
10725
- Trigger: SelectTrigger,
10726
- Value: SelectValue,
10727
- Content: SelectContent,
10728
- Item: SelectItem,
10729
- Group: SelectGroup,
10730
- Label: SelectLabel,
10731
- Separator: SelectSeparator,
10732
- })
10733
-
10734
10379
  export {
10735
10380
  Select,
10736
10381
  SelectTrigger,
@@ -11968,7 +11613,7 @@ export { Switch, switchVariants }
11968
11613
  dependencies: [],
11969
11614
  registryDependencies: [],
11970
11615
  reverseDependencies: [],
11971
- namespace: true,
11616
+ namespace: false,
11972
11617
  description: "",
11973
11618
  files: [{
11974
11619
  path: "table.tsx",
@@ -12042,7 +11687,7 @@ export interface TableProps
12042
11687
  wrapperClassName?: string
12043
11688
  }
12044
11689
 
12045
- const TableRoot = React.forwardRef<HTMLTableElement, TableProps>(
11690
+ const Table = React.forwardRef<HTMLTableElement, TableProps>(
12046
11691
  ({ className, size = 'default', variant = 'default', stickyHeader = false, wrapperClassName, ...props }, ref) => (
12047
11692
  <TableContext.Provider value={{ size, variant, stickyHeader }}>
12048
11693
  <div className={cn('relative w-full overflow-auto', wrapperClassName)}>
@@ -12055,7 +11700,7 @@ const TableRoot = React.forwardRef<HTMLTableElement, TableProps>(
12055
11700
  </TableContext.Provider>
12056
11701
  )
12057
11702
  )
12058
- TableRoot.displayName = 'Table'
11703
+ Table.displayName = 'Table'
12059
11704
 
12060
11705
  // \u2500\u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
12061
11706
  const TableHeader = React.forwardRef<
@@ -12268,24 +11913,6 @@ TableCaption.displayName = 'TableCaption'
12268
11913
 
12269
11914
  export type { TableSize, TableVariant, SortDirection }
12270
11915
 
12271
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
12272
- const Table = Object.assign(TableRoot, {
12273
- Header: TableHeader,
12274
- Body: TableBody,
12275
- Footer: TableFooter,
12276
- Row: TableRow,
12277
- Head: TableHead,
12278
- Cell: TableCell,
12279
- Caption: TableCaption,
12280
- })
12281
-
12282
- // eslint-disable-next-line @typescript-eslint/no-namespace
12283
- namespace Table {
12284
- export type RowProps = TableRowProps
12285
- export type HeadProps = TableHeadProps
12286
- export type CellProps = TableCellProps
12287
- }
12288
-
12289
11916
  export {
12290
11917
  Table,
12291
11918
  TableHeader,
@@ -12305,7 +11932,7 @@ export {
12305
11932
  dependencies: ["@radix-ui/react-tabs"],
12306
11933
  registryDependencies: [],
12307
11934
  reverseDependencies: [],
12308
- namespace: true,
11935
+ namespace: false,
12309
11936
  description: "",
12310
11937
  files: [{
12311
11938
  path: "tabs.tsx",
@@ -12546,21 +12173,7 @@ TabsContent.displayName = 'TabsContent'
12546
12173
 
12547
12174
  // \u2500\u2500\u2500 Tabs (Root) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
12548
12175
 
12549
- const TabsRoot = TabsPrimitive.Root
12550
-
12551
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
12552
- const Tabs = Object.assign(TabsRoot, {
12553
- List: TabsList,
12554
- Trigger: TabsTrigger,
12555
- Content: TabsContent,
12556
- })
12557
-
12558
- // eslint-disable-next-line @typescript-eslint/no-namespace
12559
- namespace Tabs {
12560
- export type ListProps = TabsListProps
12561
- export type TriggerProps = TabsTriggerProps
12562
- export type ContentProps = TabsContentProps
12563
- }
12176
+ const Tabs = TabsPrimitive.Root
12564
12177
 
12565
12178
  export {
12566
12179
  Tabs,
@@ -13423,7 +13036,7 @@ export type {
13423
13036
  dependencies: ["@radix-ui/react-toggle-group"],
13424
13037
  registryDependencies: [],
13425
13038
  reverseDependencies: [],
13426
- namespace: true,
13039
+ namespace: false,
13427
13040
  description: "",
13428
13041
  files: [{
13429
13042
  path: "toggle-group.tsx",
@@ -13529,7 +13142,7 @@ export type ToggleGroupProps = ToggleGroupBaseProps &
13529
13142
  VariantProps<typeof toggleGroupItemVariants> &
13530
13143
  (ToggleGroupSingleProps | ToggleGroupMultipleProps)
13531
13144
 
13532
- const ToggleGroupRoot = React.forwardRef<
13145
+ const ToggleGroup = React.forwardRef<
13533
13146
  React.ElementRef<typeof ToggleGroupPrimitive.Root>,
13534
13147
  ToggleGroupProps
13535
13148
  >(({ className, orientation, variant, size, radius, fontWeight, children, ...props }, ref) => (
@@ -13568,7 +13181,7 @@ const ToggleGroupRoot = React.forwardRef<
13568
13181
  </ToggleGroupContext.Provider>
13569
13182
  </ToggleGroupPrimitive.Root>
13570
13183
  ))
13571
- ToggleGroupRoot.displayName = ToggleGroupPrimitive.Root.displayName
13184
+ ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName
13572
13185
 
13573
13186
  export interface ToggleGroupItemProps
13574
13187
  extends React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item>,
@@ -13614,16 +13227,6 @@ const ToggleGroupItem = React.forwardRef<
13614
13227
  })
13615
13228
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName
13616
13229
 
13617
- // \u2500\u2500\u2500 Namespace \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
13618
- const ToggleGroup = Object.assign(ToggleGroupRoot, {
13619
- Item: ToggleGroupItem,
13620
- })
13621
-
13622
- // eslint-disable-next-line @typescript-eslint/no-namespace
13623
- namespace ToggleGroup {
13624
- export type ItemProps = ToggleGroupItemProps
13625
- }
13626
-
13627
13230
  export { ToggleGroup, ToggleGroupItem, toggleGroupVariants, toggleGroupItemVariants }
13628
13231
  `,
13629
13232
  type: "ui"
@@ -13804,7 +13407,7 @@ export { Toggle, toggleVariants }
13804
13407
  dependencies: ["@radix-ui/react-tooltip"],
13805
13408
  registryDependencies: [],
13806
13409
  reverseDependencies: [],
13807
- namespace: true,
13410
+ namespace: false,
13808
13411
  description: "",
13809
13412
  files: [{
13810
13413
  path: "tooltip.tsx",
@@ -13860,13 +13463,14 @@ const ARROW_FILL: Record<string, string> = {
13860
13463
  // \u2500\u2500\u2500 TooltipProvider \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
13861
13464
  const TooltipProvider = TooltipPrimitive.Provider
13862
13465
 
13863
- // \u2500\u2500\u2500 Tooltip (Root) \u2014 wrapper to avoid Object.assign mutating Radix primitive \u2500\u2500
13466
+ // \u2500\u2500\u2500 Tooltip (Root) \u2014 Props type \u2500\u2500
13864
13467
  export interface TooltipRootProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> {
13865
13468
  /** Delay in ms before tooltip appears */
13866
13469
  delayDuration?: number
13867
13470
  }
13868
13471
 
13869
- function TooltipRoot({ delayDuration = 200, ...props }: TooltipRootProps) {
13472
+ // \u2500\u2500\u2500 Tooltip (Root) \u2014 thin wrapper to expose as named export with default delayDuration \u2500\u2500
13473
+ function Tooltip({ delayDuration = 200, ...props }: TooltipRootProps) {
13870
13474
  return <TooltipPrimitive.Root delayDuration={delayDuration} {...props} />
13871
13475
  }
13872
13476
 
@@ -13932,25 +13536,9 @@ const TooltipArrow = React.forwardRef<
13932
13536
  ))
13933
13537
  TooltipArrow.displayName = 'TooltipArrow'
13934
13538
 
13935
- // \u2500\u2500\u2500 Namespace: Tooltip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
13936
- const Tooltip = Object.assign(TooltipRoot, {
13937
- Trigger: TooltipTrigger,
13938
- Content: TooltipContent,
13939
- Arrow: TooltipArrow,
13940
- Portal: TooltipPortal,
13941
- Provider: TooltipProvider,
13942
- })
13943
-
13944
- // eslint-disable-next-line @typescript-eslint/no-namespace
13945
- namespace Tooltip {
13946
- export type ContentProps = TooltipContentProps
13947
- export type RootProps = TooltipRootProps
13948
- }
13949
-
13950
13539
  // \u2500\u2500\u2500 Exports \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
13951
13540
  export {
13952
13541
  Tooltip,
13953
- TooltipRoot,
13954
13542
  TooltipTrigger,
13955
13543
  TooltipContent,
13956
13544
  TooltipArrow,
@@ -14468,15 +14056,15 @@ function showSetupHints(names) {
14468
14056
  }
14469
14057
  if (names.includes("tooltip")) {
14470
14058
  wt(
14471
- `Wrap your app with ${import_picocolors3.default.cyan("<Tooltip.Provider>")}:
14059
+ `Wrap your app with ${import_picocolors3.default.cyan("<TooltipProvider>")}:
14472
14060
 
14473
- ` + import_picocolors3.default.dim(` import { Tooltip } from '${import_picocolors3.default.reset("@/components/ui/tooltip")}'
14061
+ ` + import_picocolors3.default.dim(` import { TooltipProvider } from '${import_picocolors3.default.reset("@/components/ui/tooltip")}'
14474
14062
 
14475
14063
  `) + import_picocolors3.default.dim(` export default function Layout({ children }) {
14476
14064
  `) + import_picocolors3.default.dim(` return (
14477
- `) + import_picocolors3.default.green(` <Tooltip.Provider>
14065
+ `) + import_picocolors3.default.green(` <TooltipProvider>
14478
14066
  `) + import_picocolors3.default.dim(` {children}
14479
- `) + import_picocolors3.default.green(` </Tooltip.Provider>
14067
+ `) + import_picocolors3.default.green(` </TooltipProvider>
14480
14068
  `) + import_picocolors3.default.dim(` )
14481
14069
  `) + import_picocolors3.default.dim(` }`),
14482
14070
  "Tooltip Setup"
@@ -14486,7 +14074,7 @@ function showSetupHints(names) {
14486
14074
 
14487
14075
  // cli/src/index.ts
14488
14076
  var import_picocolors4 = __toESM(require_picocolors());
14489
- var VERSION = "0.1.8";
14077
+ var VERSION = "0.1.10";
14490
14078
  var HELP = `
14491
14079
  ${import_picocolors4.default.bold("7onic")} \u2014 Add 7onic design system components to your project
14492
14080
 
package/llms.txt CHANGED
@@ -86,7 +86,7 @@ accordion, alert, avatar, badge, breadcrumb, button, button-group, card, chat-in
86
86
  ## Post-install Setup
87
87
 
88
88
  - **toast**: Add `<Toaster />` to root layout
89
- - **tooltip**: Wrap app with `<Tooltip.Provider>`
89
+ - **tooltip**: Wrap app with `<TooltipProvider>`
90
90
 
91
91
  ## Notes
92
92
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "7onic",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "CLI for adding 7onic design system components to your project",
5
5
  "bin": {
6
6
  "7onic": "./dist/index.js"
@@ -9,6 +9,15 @@
9
9
  "engines": { "node": ">=18" },
10
10
  "author": "7onic",
11
11
  "license": "MIT",
12
+ "homepage": "https://7onic.design",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/itonys/7onic",
16
+ "directory": "cli"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/itonys/7onic/issues"
20
+ },
12
21
  "keywords": [
13
22
  "cli",
14
23
  "design-system",