@brijbyte/agentic-ui 0.0.4 → 0.0.5

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 (113) hide show
  1. package/README.md +151 -21
  2. package/dist/accordion/index.d.ts +2 -2
  3. package/dist/accordion/index.js +2 -2
  4. package/dist/accordion/parts.d.ts +6 -14
  5. package/dist/accordion/parts.d.ts.map +1 -1
  6. package/dist/accordion/parts.js +7 -6
  7. package/dist/accordion/parts.js.map +1 -1
  8. package/dist/alert-dialog/parts.d.ts +4 -12
  9. package/dist/alert-dialog/parts.d.ts.map +1 -1
  10. package/dist/alert-dialog/parts.js +17 -19
  11. package/dist/alert-dialog/parts.js.map +1 -1
  12. package/dist/checkbox/parts.d.ts +2 -5
  13. package/dist/checkbox/parts.d.ts.map +1 -1
  14. package/dist/checkbox/parts.js +3 -2
  15. package/dist/checkbox/parts.js.map +1 -1
  16. package/dist/collapsible/parts.d.ts +3 -9
  17. package/dist/collapsible/parts.d.ts.map +1 -1
  18. package/dist/collapsible/parts.js +7 -6
  19. package/dist/collapsible/parts.js.map +1 -1
  20. package/dist/context-menu/parts.d.ts +6 -18
  21. package/dist/context-menu/parts.d.ts.map +1 -1
  22. package/dist/context-menu/parts.js +16 -16
  23. package/dist/context-menu/parts.js.map +1 -1
  24. package/dist/dialog/parts.d.ts +6 -18
  25. package/dist/dialog/parts.d.ts.map +1 -1
  26. package/dist/dialog/parts.js +8 -9
  27. package/dist/dialog/parts.js.map +1 -1
  28. package/dist/drawer/parts.d.ts +7 -19
  29. package/dist/drawer/parts.d.ts.map +1 -1
  30. package/dist/drawer/parts.js +14 -13
  31. package/dist/drawer/parts.js.map +1 -1
  32. package/dist/index.css +1375 -1375
  33. package/dist/index.d.ts +2 -2
  34. package/dist/index.js +2 -2
  35. package/dist/menu/parts.d.ts +6 -18
  36. package/dist/menu/parts.d.ts.map +1 -1
  37. package/dist/menu/parts.js +7 -6
  38. package/dist/menu/parts.js.map +1 -1
  39. package/dist/meter/parts.d.ts +4 -10
  40. package/dist/meter/parts.d.ts.map +1 -1
  41. package/dist/meter/parts.js +5 -4
  42. package/dist/meter/parts.js.map +1 -1
  43. package/dist/number-field/parts.d.ts +6 -18
  44. package/dist/number-field/parts.d.ts.map +1 -1
  45. package/dist/number-field/parts.js +7 -6
  46. package/dist/number-field/parts.js.map +1 -1
  47. package/dist/popover/parts.d.ts +7 -21
  48. package/dist/popover/parts.d.ts.map +1 -1
  49. package/dist/popover/parts.js +8 -11
  50. package/dist/popover/parts.js.map +1 -1
  51. package/dist/progress/parts.d.ts +2 -4
  52. package/dist/progress/parts.d.ts.map +1 -1
  53. package/dist/progress/parts.js +3 -6
  54. package/dist/progress/parts.js.map +1 -1
  55. package/dist/radio/parts.d.ts +2 -6
  56. package/dist/radio/parts.d.ts.map +1 -1
  57. package/dist/radio/parts.js +3 -2
  58. package/dist/radio/parts.js.map +1 -1
  59. package/dist/radio-group/parts.d.ts +1 -3
  60. package/dist/radio-group/parts.d.ts.map +1 -1
  61. package/dist/radio-group/parts.js +2 -1
  62. package/dist/radio-group/parts.js.map +1 -1
  63. package/dist/reset-scoped.css +112 -0
  64. package/dist/select/parts.d.ts +11 -32
  65. package/dist/select/parts.d.ts.map +1 -1
  66. package/dist/select/parts.js +10 -9
  67. package/dist/select/parts.js.map +1 -1
  68. package/dist/slider/parts.d.ts +6 -18
  69. package/dist/slider/parts.d.ts.map +1 -1
  70. package/dist/slider/parts.js +7 -6
  71. package/dist/slider/parts.js.map +1 -1
  72. package/dist/switch/parts.d.ts +2 -6
  73. package/dist/switch/parts.d.ts.map +1 -1
  74. package/dist/switch/parts.js +3 -2
  75. package/dist/switch/parts.js.map +1 -1
  76. package/dist/tabs/parts.d.ts +3 -9
  77. package/dist/tabs/parts.d.ts.map +1 -1
  78. package/dist/tabs/parts.js +4 -3
  79. package/dist/tabs/parts.js.map +1 -1
  80. package/dist/toast/parts.d.ts +5 -15
  81. package/dist/toast/parts.d.ts.map +1 -1
  82. package/dist/toast/parts.js +6 -5
  83. package/dist/toast/parts.js.map +1 -1
  84. package/dist/tooltip/parts.d.ts +3 -9
  85. package/dist/tooltip/parts.d.ts.map +1 -1
  86. package/dist/tooltip/parts.js +4 -3
  87. package/dist/tooltip/parts.js.map +1 -1
  88. package/dist/utils/resolveClassName.js +25 -0
  89. package/dist/utils/resolveClassName.js.map +1 -0
  90. package/package.json +4 -3
  91. package/src/accordion/index.ts +1 -1
  92. package/src/accordion/parts.tsx +10 -17
  93. package/src/alert-dialog/parts.tsx +23 -31
  94. package/src/checkbox/parts.tsx +5 -7
  95. package/src/collapsible/parts.tsx +10 -15
  96. package/src/context-menu/parts.tsx +34 -34
  97. package/src/dialog/parts.tsx +14 -27
  98. package/src/drawer/parts.tsx +30 -38
  99. package/src/menu/parts.tsx +13 -24
  100. package/src/meter/parts.tsx +15 -14
  101. package/src/number-field/parts.tsx +33 -24
  102. package/src/popover/parts.tsx +17 -32
  103. package/src/progress/parts.tsx +13 -6
  104. package/src/radio/parts.tsx +7 -8
  105. package/src/radio-group/parts.tsx +3 -4
  106. package/src/select/parts.tsx +34 -41
  107. package/src/slider/parts.tsx +13 -24
  108. package/src/styles/reset-scoped.css +112 -0
  109. package/src/switch/parts.tsx +5 -8
  110. package/src/tabs/parts.tsx +7 -12
  111. package/src/toast/parts.tsx +11 -20
  112. package/src/tooltip/parts.tsx +7 -12
  113. package/src/utils/resolveClassName.ts +24 -0
@@ -20,6 +20,7 @@ import { forwardRef } from "react";
20
20
  import type { ComponentRef, ComponentPropsWithoutRef } from "react";
21
21
  import { Toast as BaseToast } from "@base-ui/react/toast";
22
22
  import styles from "./toast.module.css";
23
+ import { resolveClassName, cx } from "../utils/resolveClassName";
23
24
 
24
25
  type BaseRootProps = ComponentPropsWithoutRef<typeof BaseToast.Root>;
25
26
  type BaseTitleProps = ComponentPropsWithoutRef<typeof BaseToast.Title>;
@@ -27,50 +28,40 @@ type BaseDescriptionProps = ComponentPropsWithoutRef<typeof BaseToast.Descriptio
27
28
  type BaseCloseProps = ComponentPropsWithoutRef<typeof BaseToast.Close>;
28
29
  type BaseViewportProps = ComponentPropsWithoutRef<typeof BaseToast.Viewport>;
29
30
 
30
- export interface ToastRootProps extends Omit<BaseRootProps, "className"> {
31
- className?: string;
32
- }
33
- export interface ToastTitleProps extends Omit<BaseTitleProps, "className"> {
34
- className?: string;
35
- }
36
- export interface ToastDescriptionProps extends Omit<BaseDescriptionProps, "className"> {
37
- className?: string;
38
- }
39
- export interface ToastCloseProps extends Omit<BaseCloseProps, "className"> {
40
- className?: string;
41
- }
42
- export interface ToastViewportPartProps extends Omit<BaseViewportProps, "className"> {
43
- className?: string;
44
- }
31
+ export interface ToastRootProps extends BaseRootProps {}
32
+ export interface ToastTitleProps extends BaseTitleProps {}
33
+ export interface ToastDescriptionProps extends BaseDescriptionProps {}
34
+ export interface ToastCloseProps extends BaseCloseProps {}
35
+ export interface ToastViewportPartProps extends BaseViewportProps {}
45
36
 
46
37
  export const ToastRoot = forwardRef<ComponentRef<typeof BaseToast.Root>, ToastRootProps>(function ToastRoot({ className, ...props }, ref) {
47
- return <BaseToast.Root ref={ref} className={`${styles.toast} ${className ?? ""}`} {...props} />;
38
+ return <BaseToast.Root ref={ref} className={(state) => cx(styles.toast, resolveClassName(className, state))} {...props} />;
48
39
  });
49
40
 
50
41
  export const ToastTitle = forwardRef<ComponentRef<typeof BaseToast.Title>, ToastTitleProps>(function ToastTitle(
51
42
  { className, ...props },
52
43
  ref,
53
44
  ) {
54
- return <BaseToast.Title ref={ref} className={`${styles.title} ${className ?? ""}`} {...props} />;
45
+ return <BaseToast.Title ref={ref} className={(state) => cx(styles.title, resolveClassName(className, state))} {...props} />;
55
46
  });
56
47
 
57
48
  export const ToastDescription = forwardRef<ComponentRef<typeof BaseToast.Description>, ToastDescriptionProps>(function ToastDescription(
58
49
  { className, ...props },
59
50
  ref,
60
51
  ) {
61
- return <BaseToast.Description ref={ref} className={`${styles.description} ${className ?? ""}`} {...props} />;
52
+ return <BaseToast.Description ref={ref} className={(state) => cx(styles.description, resolveClassName(className, state))} {...props} />;
62
53
  });
63
54
 
64
55
  export const ToastClose = forwardRef<ComponentRef<typeof BaseToast.Close>, ToastCloseProps>(function ToastClose(
65
56
  { className, ...props },
66
57
  ref,
67
58
  ) {
68
- return <BaseToast.Close ref={ref} className={`${styles.close} ${className ?? ""}`} {...props} />;
59
+ return <BaseToast.Close ref={ref} className={(state) => cx(styles.close, resolveClassName(className, state))} {...props} />;
69
60
  });
70
61
 
71
62
  export const ToastViewportPart = forwardRef<ComponentRef<typeof BaseToast.Viewport>, ToastViewportPartProps>(function ToastViewportPart(
72
63
  { className, ...props },
73
64
  ref,
74
65
  ) {
75
- return <BaseToast.Viewport ref={ref} className={`${styles.viewport} ${className ?? ""}`} {...props} />;
66
+ return <BaseToast.Viewport ref={ref} className={(state) => cx(styles.viewport, resolveClassName(className, state))} {...props} />;
76
67
  });
@@ -25,38 +25,33 @@ import { forwardRef } from "react";
25
25
  import type { ComponentRef, ComponentPropsWithoutRef } from "react";
26
26
  import { Tooltip as BaseTooltip } from "@base-ui/react/tooltip";
27
27
  import styles from "./tooltip.module.css";
28
+ import { resolveClassName, cx } from "../utils/resolveClassName";
28
29
 
29
30
  type BasePositionerProps = ComponentPropsWithoutRef<typeof BaseTooltip.Positioner>;
30
31
  type BasePopupProps = ComponentPropsWithoutRef<typeof BaseTooltip.Popup>;
31
32
  type BaseArrowProps = ComponentPropsWithoutRef<typeof BaseTooltip.Arrow>;
32
33
 
33
- export interface TooltipPositionerProps extends Omit<BasePositionerProps, "className"> {
34
- className?: string;
35
- }
36
- export interface TooltipPopupProps extends Omit<BasePopupProps, "className"> {
37
- className?: string;
38
- }
39
- export interface TooltipArrowProps extends Omit<BaseArrowProps, "className"> {
40
- className?: string;
41
- }
34
+ export interface TooltipPositionerProps extends BasePositionerProps {}
35
+ export interface TooltipPopupProps extends BasePopupProps {}
36
+ export interface TooltipArrowProps extends BaseArrowProps {}
42
37
 
43
38
  export const TooltipPositioner = forwardRef<ComponentRef<typeof BaseTooltip.Positioner>, TooltipPositionerProps>(function TooltipPositioner(
44
39
  { className, ...props },
45
40
  ref,
46
41
  ) {
47
- return <BaseTooltip.Positioner ref={ref} className={`${styles.positioner} ${className ?? ""}`} {...props} />;
42
+ return <BaseTooltip.Positioner ref={ref} className={(state) => cx(styles.positioner, resolveClassName(className, state))} {...props} />;
48
43
  });
49
44
 
50
45
  export const TooltipPopup = forwardRef<ComponentRef<typeof BaseTooltip.Popup>, TooltipPopupProps>(function TooltipPopup(
51
46
  { className, ...props },
52
47
  ref,
53
48
  ) {
54
- return <BaseTooltip.Popup ref={ref} className={`${styles.popup} ${className ?? ""}`} {...props} />;
49
+ return <BaseTooltip.Popup ref={ref} className={(state) => cx(styles.popup, resolveClassName(className, state))} {...props} />;
55
50
  });
56
51
 
57
52
  export const TooltipArrow = forwardRef<ComponentRef<typeof BaseTooltip.Arrow>, TooltipArrowProps>(function TooltipArrow(
58
53
  { className, ...props },
59
54
  ref,
60
55
  ) {
61
- return <BaseTooltip.Arrow ref={ref} className={`${styles.arrow} ${className ?? ""}`} {...props} />;
56
+ return <BaseTooltip.Arrow ref={ref} className={(state) => cx(styles.arrow, resolveClassName(className, state))} {...props} />;
62
57
  });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Resolves a base-ui className prop (string | function | undefined) into a string.
3
+ * When the className is a function, it is called with the component state.
4
+ * Used by styled parts to merge our fixed style class with the consumer's className.
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * // In a styled part, prepend our class while preserving function className support:
9
+ * className={(state) => cx(styles.root, resolveClassName(className, state))}
10
+ * ```
11
+ */
12
+ export function resolveClassName<State>(
13
+ className: string | ((state: State) => string | undefined) | undefined,
14
+ state: State,
15
+ ): string | undefined {
16
+ return typeof className === "function" ? className(state) : className;
17
+ }
18
+
19
+ /**
20
+ * Joins class name strings, filtering out falsy values.
21
+ */
22
+ export function cx(...classes: (string | undefined | null | false)[]): string {
23
+ return classes.filter(Boolean).join(" ");
24
+ }