@photon-ai/pho-ui 0.1.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 (281) hide show
  1. package/README.md +49 -0
  2. package/dist/chunks/button-9pp4g7en.js +334 -0
  3. package/dist/chunks/button-9pp4g7en.js.map +1 -0
  4. package/dist/chunks/close-button-CbQNfpxU.js +30 -0
  5. package/dist/chunks/close-button-CbQNfpxU.js.map +1 -0
  6. package/dist/chunks/cn-D6jQqeRj.js +1762 -0
  7. package/dist/chunks/cn-D6jQqeRj.js.map +1 -0
  8. package/dist/chunks/dialog-BSBF1Wyq.js +63 -0
  9. package/dist/chunks/dialog-BSBF1Wyq.js.map +1 -0
  10. package/dist/chunks/input-aZqjjV_m.js +75 -0
  11. package/dist/chunks/input-aZqjjV_m.js.map +1 -0
  12. package/dist/chunks/link-provider-9TFNyDqO.js +28 -0
  13. package/dist/chunks/link-provider-9TFNyDqO.js.map +1 -0
  14. package/dist/chunks/menu-BkzDbNuX.js +101 -0
  15. package/dist/chunks/menu-BkzDbNuX.js.map +1 -0
  16. package/dist/chunks/resolve-variant-CcD8iG5l.js +9 -0
  17. package/dist/chunks/resolve-variant-CcD8iG5l.js.map +1 -0
  18. package/dist/chunks/rolldown-runtime-wKSmTnsc.js +22 -0
  19. package/dist/components/accordion.js +42 -0
  20. package/dist/components/accordion.js.map +1 -0
  21. package/dist/components/alert-dialog.js +59 -0
  22. package/dist/components/alert-dialog.js.map +1 -0
  23. package/dist/components/autocomplete.js +82 -0
  24. package/dist/components/autocomplete.js.map +1 -0
  25. package/dist/components/avatar.js +49 -0
  26. package/dist/components/avatar.js.map +1 -0
  27. package/dist/components/badge.js +59 -0
  28. package/dist/components/badge.js.map +1 -0
  29. package/dist/components/button.js +17 -0
  30. package/dist/components/checkbox.js +51 -0
  31. package/dist/components/checkbox.js.map +1 -0
  32. package/dist/components/collapsible.js +28 -0
  33. package/dist/components/collapsible.js.map +1 -0
  34. package/dist/components/combobox.js +117 -0
  35. package/dist/components/combobox.js.map +1 -0
  36. package/dist/components/context-menu.js +63 -0
  37. package/dist/components/context-menu.js.map +1 -0
  38. package/dist/components/dialog.js +5 -0
  39. package/dist/components/drawer.js +59 -0
  40. package/dist/components/drawer.js.map +1 -0
  41. package/dist/components/field.js +49 -0
  42. package/dist/components/field.js.map +1 -0
  43. package/dist/components/fieldset.js +26 -0
  44. package/dist/components/fieldset.js.map +1 -0
  45. package/dist/components/form.js +17 -0
  46. package/dist/components/form.js.map +1 -0
  47. package/dist/components/input.js +5 -0
  48. package/dist/components/kbd.js +18 -0
  49. package/dist/components/kbd.js.map +1 -0
  50. package/dist/components/menu.js +7 -0
  51. package/dist/components/menubar.js +17 -0
  52. package/dist/components/menubar.js.map +1 -0
  53. package/dist/components/meter.js +47 -0
  54. package/dist/components/meter.js.map +1 -0
  55. package/dist/components/navigation-menu.js +74 -0
  56. package/dist/components/navigation-menu.js.map +1 -0
  57. package/dist/components/notification.js +91 -0
  58. package/dist/components/notification.js.map +1 -0
  59. package/dist/components/number-field.js +56 -0
  60. package/dist/components/number-field.js.map +1 -0
  61. package/dist/components/otp-field.js +19 -0
  62. package/dist/components/otp-field.js.map +1 -0
  63. package/dist/components/popover.js +46 -0
  64. package/dist/components/popover.js.map +1 -0
  65. package/dist/components/preview-card.js +31 -0
  66. package/dist/components/preview-card.js.map +1 -0
  67. package/dist/components/progress.js +47 -0
  68. package/dist/components/progress.js.map +1 -0
  69. package/dist/components/radio-group.js +34 -0
  70. package/dist/components/radio-group.js.map +1 -0
  71. package/dist/components/scroll-area.js +43 -0
  72. package/dist/components/scroll-area.js.map +1 -0
  73. package/dist/components/select.js +69 -0
  74. package/dist/components/select.js.map +1 -0
  75. package/dist/components/separator.js +17 -0
  76. package/dist/components/separator.js.map +1 -0
  77. package/dist/components/slider.js +61 -0
  78. package/dist/components/slider.js.map +1 -0
  79. package/dist/components/switch.js +28 -0
  80. package/dist/components/switch.js.map +1 -0
  81. package/dist/components/tabs.js +42 -0
  82. package/dist/components/tabs.js.map +1 -0
  83. package/dist/components/toast.js +60 -0
  84. package/dist/components/toast.js.map +1 -0
  85. package/dist/components/toggle-group.js +17 -0
  86. package/dist/components/toggle-group.js.map +1 -0
  87. package/dist/components/toggle.js +33 -0
  88. package/dist/components/toggle.js.map +1 -0
  89. package/dist/components/toolbar.js +55 -0
  90. package/dist/components/toolbar.js.map +1 -0
  91. package/dist/components/tooltip.js +32 -0
  92. package/dist/components/tooltip.js.map +1 -0
  93. package/dist/icons.js +192 -0
  94. package/dist/icons.js.map +1 -0
  95. package/dist/index.js +30 -0
  96. package/dist/primitives/accordion.js +3 -0
  97. package/dist/primitives/alert-dialog.js +3 -0
  98. package/dist/primitives/autocomplete.js +3 -0
  99. package/dist/primitives/avatar.js +3 -0
  100. package/dist/primitives/button.js +3 -0
  101. package/dist/primitives/checkbox-group.js +3 -0
  102. package/dist/primitives/checkbox.js +3 -0
  103. package/dist/primitives/collapsible.js +3 -0
  104. package/dist/primitives/combobox.js +3 -0
  105. package/dist/primitives/context-menu.js +3 -0
  106. package/dist/primitives/csp-provider.js +3 -0
  107. package/dist/primitives/dialog.js +3 -0
  108. package/dist/primitives/direction-provider.js +3 -0
  109. package/dist/primitives/drawer.js +3 -0
  110. package/dist/primitives/field.js +3 -0
  111. package/dist/primitives/fieldset.js +3 -0
  112. package/dist/primitives/form.js +3 -0
  113. package/dist/primitives/input.js +3 -0
  114. package/dist/primitives/menu.js +3 -0
  115. package/dist/primitives/menubar.js +3 -0
  116. package/dist/primitives/meter.js +3 -0
  117. package/dist/primitives/navigation-menu.js +3 -0
  118. package/dist/primitives/number-field.js +3 -0
  119. package/dist/primitives/otp-field.js +3 -0
  120. package/dist/primitives/popover.js +3 -0
  121. package/dist/primitives/preview-card.js +3 -0
  122. package/dist/primitives/progress.js +3 -0
  123. package/dist/primitives/radio-group.js +3 -0
  124. package/dist/primitives/radio.js +3 -0
  125. package/dist/primitives/scroll-area.js +3 -0
  126. package/dist/primitives/select.js +3 -0
  127. package/dist/primitives/separator.js +3 -0
  128. package/dist/primitives/slider.js +3 -0
  129. package/dist/primitives/switch.js +3 -0
  130. package/dist/primitives/tabs.js +3 -0
  131. package/dist/primitives/toast.js +3 -0
  132. package/dist/primitives/toggle-group.js +3 -0
  133. package/dist/primitives/toggle.js +3 -0
  134. package/dist/primitives/toolbar.js +3 -0
  135. package/dist/primitives/tooltip.js +3 -0
  136. package/dist/primitives.js +84 -0
  137. package/dist/primitives.js.map +1 -0
  138. package/dist/src/components/accordion/accordion.d.ts +24 -0
  139. package/dist/src/components/accordion/index.d.ts +1 -0
  140. package/dist/src/components/alert-dialog/alert-dialog.d.ts +41 -0
  141. package/dist/src/components/alert-dialog/index.d.ts +1 -0
  142. package/dist/src/components/autocomplete/autocomplete.d.ts +38 -0
  143. package/dist/src/components/autocomplete/index.d.ts +1 -0
  144. package/dist/src/components/avatar/avatar.d.ts +40 -0
  145. package/dist/src/components/avatar/index.d.ts +1 -0
  146. package/dist/src/components/badge/badge.d.ts +63 -0
  147. package/dist/src/components/badge/index.d.ts +1 -0
  148. package/dist/src/components/button/button.d.ts +196 -0
  149. package/dist/src/components/button/close-button.d.ts +28 -0
  150. package/dist/src/components/button/index.d.ts +2 -0
  151. package/dist/src/components/checkbox/checkbox-group.d.ts +15 -0
  152. package/dist/src/components/checkbox/checkbox.d.ts +20 -0
  153. package/dist/src/components/checkbox/index.d.ts +2 -0
  154. package/dist/src/components/collapsible/collapsible.d.ts +20 -0
  155. package/dist/src/components/collapsible/index.d.ts +1 -0
  156. package/dist/src/components/combobox/combobox.d.ts +49 -0
  157. package/dist/src/components/combobox/index.d.ts +1 -0
  158. package/dist/src/components/context-menu/context-menu.d.ts +34 -0
  159. package/dist/src/components/context-menu/index.d.ts +1 -0
  160. package/dist/src/components/dialog/dialog.d.ts +41 -0
  161. package/dist/src/components/dialog/index.d.ts +1 -0
  162. package/dist/src/components/drawer/drawer.d.ts +32 -0
  163. package/dist/src/components/drawer/index.d.ts +1 -0
  164. package/dist/src/components/field/field.d.ts +27 -0
  165. package/dist/src/components/field/index.d.ts +1 -0
  166. package/dist/src/components/fieldset/fieldset.d.ts +18 -0
  167. package/dist/src/components/fieldset/index.d.ts +1 -0
  168. package/dist/src/components/form/form.d.ts +14 -0
  169. package/dist/src/components/form/index.d.ts +1 -0
  170. package/dist/src/components/input/index.d.ts +1 -0
  171. package/dist/src/components/input/input.d.ts +30 -0
  172. package/dist/src/components/kbd/index.d.ts +1 -0
  173. package/dist/src/components/kbd/kbd.d.ts +18 -0
  174. package/dist/src/components/menu/index.d.ts +1 -0
  175. package/dist/src/components/menu/menu.d.ts +47 -0
  176. package/dist/src/components/menubar/index.d.ts +1 -0
  177. package/dist/src/components/menubar/menubar.d.ts +14 -0
  178. package/dist/src/components/meter/index.d.ts +1 -0
  179. package/dist/src/components/meter/meter.d.ts +24 -0
  180. package/dist/src/components/navigation-menu/index.d.ts +1 -0
  181. package/dist/src/components/navigation-menu/navigation-menu.d.ts +35 -0
  182. package/dist/src/components/notification/index.d.ts +1 -0
  183. package/dist/src/components/notification/notification.d.ts +73 -0
  184. package/dist/src/components/number-field/index.d.ts +1 -0
  185. package/dist/src/components/number-field/number-field.d.ts +28 -0
  186. package/dist/src/components/otp-field/index.d.ts +1 -0
  187. package/dist/src/components/otp-field/otp-field.d.ts +17 -0
  188. package/dist/src/components/popover/index.d.ts +1 -0
  189. package/dist/src/components/popover/popover.d.ts +27 -0
  190. package/dist/src/components/preview-card/index.d.ts +1 -0
  191. package/dist/src/components/preview-card/preview-card.d.ts +22 -0
  192. package/dist/src/components/progress/index.d.ts +1 -0
  193. package/dist/src/components/progress/progress.d.ts +24 -0
  194. package/dist/src/components/radio-group/index.d.ts +1 -0
  195. package/dist/src/components/radio-group/radio-group.d.ts +28 -0
  196. package/dist/src/components/scroll-area/index.d.ts +1 -0
  197. package/dist/src/components/scroll-area/scroll-area.d.ts +25 -0
  198. package/dist/src/components/select/index.d.ts +1 -0
  199. package/dist/src/components/select/select.d.ts +36 -0
  200. package/dist/src/components/separator/index.d.ts +1 -0
  201. package/dist/src/components/separator/separator.d.ts +14 -0
  202. package/dist/src/components/slider/index.d.ts +1 -0
  203. package/dist/src/components/slider/slider.d.ts +30 -0
  204. package/dist/src/components/switch/index.d.ts +1 -0
  205. package/dist/src/components/switch/switch.d.ts +18 -0
  206. package/dist/src/components/tabs/index.d.ts +1 -0
  207. package/dist/src/components/tabs/tabs.d.ts +24 -0
  208. package/dist/src/components/toast/index.d.ts +1 -0
  209. package/dist/src/components/toast/toast.d.ts +34 -0
  210. package/dist/src/components/toggle/index.d.ts +1 -0
  211. package/dist/src/components/toggle/toggle.d.ts +33 -0
  212. package/dist/src/components/toggle-group/index.d.ts +1 -0
  213. package/dist/src/components/toggle-group/toggle-group.d.ts +15 -0
  214. package/dist/src/components/toolbar/index.d.ts +1 -0
  215. package/dist/src/components/toolbar/toolbar.d.ts +28 -0
  216. package/dist/src/components/tooltip/index.d.ts +1 -0
  217. package/dist/src/components/tooltip/tooltip.d.ts +23 -0
  218. package/dist/src/icons/discord.d.ts +3 -0
  219. package/dist/src/icons/github.d.ts +3 -0
  220. package/dist/src/icons/google.d.ts +3 -0
  221. package/dist/src/icons/imessage.d.ts +3 -0
  222. package/dist/src/icons/index.d.ts +18 -0
  223. package/dist/src/icons/photon-mark.d.ts +3 -0
  224. package/dist/src/icons/reddit.d.ts +3 -0
  225. package/dist/src/icons/slack.d.ts +3 -0
  226. package/dist/src/icons/telegram.d.ts +3 -0
  227. package/dist/src/icons/whatsapp.d.ts +3 -0
  228. package/dist/src/icons/x.d.ts +3 -0
  229. package/dist/src/icons/youtube.d.ts +3 -0
  230. package/dist/src/index.d.ts +11 -0
  231. package/dist/src/primitives/accordion.d.ts +5 -0
  232. package/dist/src/primitives/alert-dialog.d.ts +5 -0
  233. package/dist/src/primitives/autocomplete.d.ts +5 -0
  234. package/dist/src/primitives/avatar.d.ts +5 -0
  235. package/dist/src/primitives/button.d.ts +5 -0
  236. package/dist/src/primitives/checkbox-group.d.ts +5 -0
  237. package/dist/src/primitives/checkbox.d.ts +5 -0
  238. package/dist/src/primitives/collapsible.d.ts +5 -0
  239. package/dist/src/primitives/combobox.d.ts +5 -0
  240. package/dist/src/primitives/context-menu.d.ts +5 -0
  241. package/dist/src/primitives/csp-provider.d.ts +5 -0
  242. package/dist/src/primitives/dialog.d.ts +5 -0
  243. package/dist/src/primitives/direction-provider.d.ts +5 -0
  244. package/dist/src/primitives/drawer.d.ts +5 -0
  245. package/dist/src/primitives/field.d.ts +5 -0
  246. package/dist/src/primitives/fieldset.d.ts +5 -0
  247. package/dist/src/primitives/form.d.ts +5 -0
  248. package/dist/src/primitives/index.d.ts +44 -0
  249. package/dist/src/primitives/input.d.ts +5 -0
  250. package/dist/src/primitives/menu.d.ts +5 -0
  251. package/dist/src/primitives/menubar.d.ts +5 -0
  252. package/dist/src/primitives/meter.d.ts +5 -0
  253. package/dist/src/primitives/navigation-menu.d.ts +5 -0
  254. package/dist/src/primitives/number-field.d.ts +5 -0
  255. package/dist/src/primitives/otp-field.d.ts +5 -0
  256. package/dist/src/primitives/popover.d.ts +5 -0
  257. package/dist/src/primitives/preview-card.d.ts +5 -0
  258. package/dist/src/primitives/progress.d.ts +5 -0
  259. package/dist/src/primitives/radio-group.d.ts +5 -0
  260. package/dist/src/primitives/radio.d.ts +5 -0
  261. package/dist/src/primitives/scroll-area.d.ts +5 -0
  262. package/dist/src/primitives/select.d.ts +5 -0
  263. package/dist/src/primitives/separator.d.ts +5 -0
  264. package/dist/src/primitives/slider.d.ts +5 -0
  265. package/dist/src/primitives/switch.d.ts +5 -0
  266. package/dist/src/primitives/tabs.d.ts +5 -0
  267. package/dist/src/primitives/toast.d.ts +5 -0
  268. package/dist/src/primitives/toggle-group.d.ts +5 -0
  269. package/dist/src/primitives/toggle.d.ts +5 -0
  270. package/dist/src/primitives/toolbar.d.ts +5 -0
  271. package/dist/src/primitives/tooltip.d.ts +5 -0
  272. package/dist/src/utils/cn.d.ts +3 -0
  273. package/dist/src/utils/index.d.ts +4 -0
  274. package/dist/src/utils/is-react-component.d.ts +9 -0
  275. package/dist/src/utils/link-provider.d.ts +17 -0
  276. package/dist/src/utils/resolve-variant.d.ts +19 -0
  277. package/dist/utils.js +11 -0
  278. package/package.json +406 -0
  279. package/src/styles/fonts.css +20 -0
  280. package/src/styles/pho.css +50 -0
  281. package/src/styles/theme.css +289 -0
@@ -0,0 +1,33 @@
1
+ import { ComponentProps } from 'react';
2
+ import { Toggle as BaseToggle } from '@base-ui/react/toggle';
3
+ /** Size axis — three square icon sizes. `md` is default. */
4
+ export declare const TOGGLE_SIZES: {
5
+ sm: {
6
+ classes: string;
7
+ description: string;
8
+ };
9
+ md: {
10
+ classes: string;
11
+ description: string;
12
+ };
13
+ lg: {
14
+ classes: string;
15
+ description: string;
16
+ };
17
+ };
18
+ export type ToggleSize = keyof typeof TOGGLE_SIZES;
19
+ export interface ToggleProps extends Omit<ComponentProps<typeof BaseToggle>, "className"> {
20
+ className?: string;
21
+ /** Size variant. @default "md" */
22
+ size?: ToggleSize;
23
+ }
24
+ /**
25
+ * A two-state button (pressed / not pressed) built on Base UI `Toggle` — the
26
+ * canonical Bold/Italic toolbar control. Controlled via `pressed` /
27
+ * `onPressedChange` or uncontrolled via `defaultPressed`. For a set of related
28
+ * toggles, use `ToggleGroup`.
29
+ */
30
+ export declare function Toggle({ className, size, ...props }: ToggleProps): import("react").JSX.Element;
31
+ export declare namespace Toggle {
32
+ var displayName: string;
33
+ }
@@ -0,0 +1 @@
1
+ export { ToggleGroup, type ToggleGroupProps } from './toggle-group';
@@ -0,0 +1,15 @@
1
+ import { ComponentProps } from 'react';
2
+ import { ToggleGroup as BaseToggleGroup } from '@base-ui/react/toggle-group';
3
+ export interface ToggleGroupProps extends Omit<ComponentProps<typeof BaseToggleGroup>, "className"> {
4
+ className?: string;
5
+ }
6
+ /**
7
+ * Groups related `Toggle` buttons with shared roving-focus keyboard
8
+ * navigation, built on Base UI `ToggleGroup`. Single-select by default; set
9
+ * `toggleMultiple` to allow several pressed at once. Track selection with
10
+ * `value` / `onValueChange` (an array) or `defaultValue`.
11
+ */
12
+ export declare function ToggleGroup({ className, ...props }: ToggleGroupProps): import("react").JSX.Element;
13
+ export declare namespace ToggleGroup {
14
+ var displayName: string;
15
+ }
@@ -0,0 +1 @@
1
+ export { Toolbar } from './toolbar';
@@ -0,0 +1,28 @@
1
+ import { ComponentProps, ElementType } from 'react';
2
+ import { Toolbar as BaseToolbar } from '@base-ui/react/toolbar';
3
+ /** Override Base UI's `string | (state) => string` className with plain string. */
4
+ type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
5
+ className?: string;
6
+ };
7
+ declare function Root({ className, ...props }: StyledProps<typeof BaseToolbar.Root>): import("react").JSX.Element;
8
+ declare function Button({ className, ...props }: StyledProps<typeof BaseToolbar.Button>): import("react").JSX.Element;
9
+ declare function Link({ className, ...props }: StyledProps<typeof BaseToolbar.Link>): import("react").JSX.Element;
10
+ declare function Group({ className, ...props }: StyledProps<typeof BaseToolbar.Group>): import("react").JSX.Element;
11
+ declare function Input({ className, ...props }: StyledProps<typeof BaseToolbar.Input>): import("react").JSX.Element;
12
+ declare function Separator({ className, ...props }: StyledProps<typeof BaseToolbar.Separator>): import("react").JSX.Element;
13
+ /**
14
+ * Toolbar built on Base UI `Toolbar` — a single tab stop grouping related
15
+ * controls with arrow-key navigation between them (formatting bars, editor
16
+ * controls). Holds `Toolbar.Button`, `Link`, `Input`, and `Separator`; for
17
+ * pressable formatting buttons, wrap `Toggle` / `ToggleGroup` with
18
+ * `Toolbar.Button render={…}`.
19
+ */
20
+ export declare const Toolbar: {
21
+ Root: typeof Root;
22
+ Button: typeof Button;
23
+ Link: typeof Link;
24
+ Group: typeof Group;
25
+ Input: typeof Input;
26
+ Separator: typeof Separator;
27
+ };
28
+ export {};
@@ -0,0 +1 @@
1
+ export { Tooltip } from './tooltip';
@@ -0,0 +1,23 @@
1
+ import { ComponentProps, ElementType } from 'react';
2
+ import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
3
+ /** Override Base UI's `string | (state) => string` className with plain string. */
4
+ type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
5
+ className?: string;
6
+ };
7
+ declare function Positioner({ className, sideOffset, ...props }: StyledProps<typeof BaseTooltip.Positioner>): import("react").JSX.Element;
8
+ declare function Popup({ className, ...props }: StyledProps<typeof BaseTooltip.Popup>): import("react").JSX.Element;
9
+ /**
10
+ * Tooltip built on Base UI `Tooltip` — a brief, hover/focus-triggered label for
11
+ * an icon or control. Wrap your app (or a subtree) in `Tooltip.Provider` to
12
+ * share open/close timing. The trigger must be a focusable element. Never put
13
+ * essential or interactive content in a tooltip; use `Popover` for that.
14
+ */
15
+ export declare const Tooltip: {
16
+ Provider: import('react').FC<import('@base-ui/react').TooltipProviderProps>;
17
+ Root: <Payload>(props: BaseTooltip.Root.Props<Payload>) => import("react").JSX.Element;
18
+ Trigger: BaseTooltip.Trigger;
19
+ Portal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').TooltipPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
20
+ Positioner: typeof Positioner;
21
+ Popup: typeof Popup;
22
+ };
23
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** Discord brand mark — monochrome, follows `currentColor`. */
3
+ export declare function DiscordIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** GitHub brand mark — monochrome, follows `currentColor`. */
3
+ export declare function GitHubIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** Google brand mark — fixed multi-color fills (not themeable by design). */
3
+ export declare function GoogleIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** iMessage brand mark — monochrome, follows `currentColor`. */
3
+ export declare function IMessageIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ import { DiscordIcon } from './discord';
3
+ import { GitHubIcon } from './github';
4
+ import { GoogleIcon } from './google';
5
+ import { IMessageIcon } from './imessage';
6
+ import { PhotonMark } from './photon-mark';
7
+ import { RedditIcon } from './reddit';
8
+ import { SlackIcon } from './slack';
9
+ import { TelegramIcon } from './telegram';
10
+ import { WhatsAppIcon } from './whatsapp';
11
+ import { XIcon } from './x';
12
+ import { YouTubeIcon } from './youtube';
13
+ export { DiscordIcon, GitHubIcon, GoogleIcon, IMessageIcon, PhotonMark, RedditIcon, SlackIcon, TelegramIcon, WhatsAppIcon, XIcon, YouTubeIcon, };
14
+ /** Third-party marks in gallery order (Photon's own mark ships separately). */
15
+ export declare const brandMarks: {
16
+ name: string;
17
+ Icon: FC<ComponentProps<"svg">>;
18
+ }[];
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** The Photon mark — three angled signal bars; inherits `currentColor`. */
3
+ export declare function PhotonMark(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** Reddit brand mark — monochrome, follows `currentColor`. */
3
+ export declare function RedditIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** Slack brand mark — monochrome, follows `currentColor`. */
3
+ export declare function SlackIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** Telegram brand mark — monochrome, follows `currentColor`. */
3
+ export declare function TelegramIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** WhatsApp brand mark — monochrome, follows `currentColor`. */
3
+ export declare function WhatsAppIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** X (Twitter) brand mark — monochrome, follows `currentColor`. */
3
+ export declare function XIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ /** YouTube brand mark — monochrome, follows `currentColor`. */
3
+ export declare function YouTubeIcon(props: ComponentProps<"svg">): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @photon-ai/pho-ui — Pho Design System
3
+ *
4
+ * Prefer the granular entry points for best tree-shaking, e.g.
5
+ * import { Button } from "@photon-ai/pho-ui/components/button";
6
+ * This root barrel re-exports everything for convenience.
7
+ */
8
+ export * from './utils';
9
+ export * from './components/button';
10
+ export * from './components/input';
11
+ export * from './components/dialog';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * accordion primitive — re-exported from `@base-ui/react/accordion`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/accordion';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * alert-dialog primitive — re-exported from `@base-ui/react/alert-dialog`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/alert-dialog';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * autocomplete primitive — re-exported from `@base-ui/react/autocomplete`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/autocomplete';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * avatar primitive — re-exported from `@base-ui/react/avatar`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/avatar';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * button primitive — re-exported from `@base-ui/react/button`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/button';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * checkbox-group primitive — re-exported from `@base-ui/react/checkbox-group`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/checkbox-group';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * checkbox primitive — re-exported from `@base-ui/react/checkbox`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/checkbox';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * collapsible primitive — re-exported from `@base-ui/react/collapsible`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/collapsible';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * combobox primitive — re-exported from `@base-ui/react/combobox`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/combobox';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * context-menu primitive — re-exported from `@base-ui/react/context-menu`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/context-menu';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * csp-provider primitive — re-exported from `@base-ui/react/csp-provider`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/csp-provider';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * dialog primitive — re-exported from `@base-ui/react/dialog`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/dialog';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * direction-provider primitive — re-exported from `@base-ui/react/direction-provider`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/direction-provider';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * drawer primitive — re-exported from `@base-ui/react/drawer`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/drawer';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * field primitive — re-exported from `@base-ui/react/field`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/field';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * fieldset primitive — re-exported from `@base-ui/react/fieldset`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/fieldset';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * form primitive — re-exported from `@base-ui/react/form`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/form';
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Base UI primitives, re-exported.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from './accordion';
6
+ export * from './alert-dialog';
7
+ export * from './autocomplete';
8
+ export * from './avatar';
9
+ export * from './button';
10
+ export * from './checkbox';
11
+ export * from './checkbox-group';
12
+ export * from './collapsible';
13
+ export * from './combobox';
14
+ export * from './context-menu';
15
+ export * from './csp-provider';
16
+ export * from './dialog';
17
+ export * from './direction-provider';
18
+ export * from './drawer';
19
+ export * from './field';
20
+ export * from './fieldset';
21
+ export * from './form';
22
+ export * from './input';
23
+ export * from './menu';
24
+ export * from './menubar';
25
+ export * from './meter';
26
+ export * from './navigation-menu';
27
+ export * from './number-field';
28
+ export * from './otp-field';
29
+ export * from './popover';
30
+ export * from './preview-card';
31
+ export * from './progress';
32
+ export * from './radio';
33
+ export * from './radio-group';
34
+ export * from './scroll-area';
35
+ export * from './select';
36
+ export * from './separator';
37
+ export * from './slider';
38
+ export * from './switch';
39
+ export * from './tabs';
40
+ export * from './toast';
41
+ export * from './toggle';
42
+ export * from './toggle-group';
43
+ export * from './toolbar';
44
+ export * from './tooltip';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * input primitive — re-exported from `@base-ui/react/input`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/input';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * menu primitive — re-exported from `@base-ui/react/menu`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/menu';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * menubar primitive — re-exported from `@base-ui/react/menubar`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/menubar';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * meter primitive — re-exported from `@base-ui/react/meter`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/meter';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * navigation-menu primitive — re-exported from `@base-ui/react/navigation-menu`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/navigation-menu';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * number-field primitive — re-exported from `@base-ui/react/number-field`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/number-field';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * otp-field primitive — re-exported from `@base-ui/react/otp-field`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/otp-field';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * popover primitive — re-exported from `@base-ui/react/popover`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/popover';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * preview-card primitive — re-exported from `@base-ui/react/preview-card`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/preview-card';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * progress primitive — re-exported from `@base-ui/react/progress`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/progress';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * radio-group primitive — re-exported from `@base-ui/react/radio-group`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/radio-group';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * radio primitive — re-exported from `@base-ui/react/radio`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/radio';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * scroll-area primitive — re-exported from `@base-ui/react/scroll-area`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/scroll-area';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * select primitive — re-exported from `@base-ui/react/select`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/select';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * separator primitive — re-exported from `@base-ui/react/separator`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/separator';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * slider primitive — re-exported from `@base-ui/react/slider`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/slider';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * switch primitive — re-exported from `@base-ui/react/switch`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/switch';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * tabs primitive — re-exported from `@base-ui/react/tabs`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/tabs';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * toast primitive — re-exported from `@base-ui/react/toast`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/toast';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * toggle-group primitive — re-exported from `@base-ui/react/toggle-group`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/toggle-group';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * toggle primitive — re-exported from `@base-ui/react/toggle`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/toggle';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * toolbar primitive — re-exported from `@base-ui/react/toolbar`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/toolbar';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * tooltip primitive — re-exported from `@base-ui/react/tooltip`.
3
+ * AUTO-GENERATED by scripts/generate-primitives.ts — do not edit.
4
+ */
5
+ export * from '@base-ui/react/tooltip';
@@ -0,0 +1,3 @@
1
+ import { ClassValue } from 'clsx';
2
+ /** Merge class names: resolves Tailwind conflicts, supports conditional values. */
3
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,4 @@
1
+ export { cn } from './cn';
2
+ export { isReactComponent } from './is-react-component';
3
+ export { resolveVariant, type VariantDef, type VariantMap, } from './resolve-variant';
4
+ export { LinkProvider, useLinkComponent, type LinkComponent, } from './link-provider';
@@ -0,0 +1,9 @@
1
+ import { ComponentType } from 'react';
2
+ /**
3
+ * Distinguish an icon passed as a *component* (e.g. a Phosphor icon or any
4
+ * `FC`/forwardRef) from one passed as an already-rendered *element*. Lets icon
5
+ * props accept either form: `prefix={Plus}` or `prefix={<Plus />}`.
6
+ */
7
+ export declare function isReactComponent(value: unknown): value is ComponentType<{
8
+ className?: string;
9
+ }>;
@@ -0,0 +1,17 @@
1
+ import { AnchorHTMLAttributes, ComponentType, ReactNode } from 'react';
2
+ /**
3
+ * The shape a host app's link component must satisfy. Routers (TanStack Router,
4
+ * React Router, Next.js) expose a `Link` that takes `href` + anchor props; this
5
+ * lets Pho components render real client-side links without depending on any
6
+ * specific router.
7
+ */
8
+ export type LinkComponent = ComponentType<AnchorHTMLAttributes<HTMLAnchorElement> & {
9
+ href: string;
10
+ }>;
11
+ /** Inject the host router's link component for all Pho links beneath it. */
12
+ export declare function LinkProvider({ component, children, }: {
13
+ component: LinkComponent;
14
+ children: ReactNode;
15
+ }): import("react").JSX.Element;
16
+ /** Read the active link component (falls back to a plain `<a>`). */
17
+ export declare function useLinkComponent(): LinkComponent;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * A single option within a variant axis: the Tailwind classes it applies plus a
3
+ * human description (surfaced in docs and the future component registry).
4
+ */
5
+ export interface VariantDef {
6
+ classes: string;
7
+ description?: string;
8
+ }
9
+ /** One variant axis — maps each option name to its definition. */
10
+ export type VariantMap = Record<string, VariantDef>;
11
+ /**
12
+ * Resolve the Tailwind classes for a chosen option of a variant axis.
13
+ * Returns `""` for an unknown key so callers can compose safely with `cn`.
14
+ *
15
+ * @example
16
+ * const SIZE = { sm: { classes: "h-6 px-2" }, md: { classes: "h-9 px-3" } };
17
+ * cn(base, resolveVariant(SIZE, size));
18
+ */
19
+ export declare function resolveVariant<M extends VariantMap>(map: M, key: keyof M | (string & {})): string;
package/dist/utils.js ADDED
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { t as r } from "./chunks/cn-D6jQqeRj.js";
3
+ import { n as e, r as n, t as i } from "./chunks/link-provider-9TFNyDqO.js";
4
+ import { t as a } from "./chunks/resolve-variant-CcD8iG5l.js";
5
+ export {
6
+ i as LinkProvider,
7
+ r as cn,
8
+ n as isReactComponent,
9
+ a as resolveVariant,
10
+ e as useLinkComponent
11
+ };