@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 @@
1
+ {"version":3,"file":"slider.js","names":[],"sources":["../../src/components/slider/slider.tsx"],"sourcesContent":["import { type ComponentProps, type ElementType } from \"react\";\nimport { Slider as BaseSlider } from \"@base-ui/react/slider\";\nimport { cn } from \"../../utils/cn\";\n\n/** Override Base UI's `string | (state) => string` className with plain string. */\ntype StyledProps<T extends ElementType> = Omit<\n ComponentProps<T>,\n \"className\"\n> & {\n className?: string;\n};\n\nfunction Root({ className, ...props }: StyledProps<typeof BaseSlider.Root>) {\n return (\n <BaseSlider.Root\n className={cn(\"flex w-full flex-col gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction Label({ className, ...props }: StyledProps<typeof BaseSlider.Label>) {\n return (\n <BaseSlider.Label\n className={cn(\"text-pho-secondary text-sm font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction Value({ className, ...props }: StyledProps<typeof BaseSlider.Value>) {\n return (\n <BaseSlider.Value\n className={cn(\"text-pho-tertiary text-sm tabular-nums\", className)}\n {...props}\n />\n );\n}\n\nfunction Control({\n className,\n ...props\n}: StyledProps<typeof BaseSlider.Control>) {\n return (\n <BaseSlider.Control\n className={cn(\n \"relative flex w-full touch-none items-center py-2 select-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Track({ className, ...props }: StyledProps<typeof BaseSlider.Track>) {\n return (\n <BaseSlider.Track\n className={cn(\n \"bg-pho-tertiary relative h-1.5 w-full rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Indicator({\n className,\n ...props\n}: StyledProps<typeof BaseSlider.Indicator>) {\n return (\n <BaseSlider.Indicator\n className={cn(\"bg-pho-brand-solid rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction Thumb({ className, ...props }: StyledProps<typeof BaseSlider.Thumb>) {\n return (\n <BaseSlider.Thumb\n className={cn(\n \"outline-pho-brand ring-pho-primary shadow-pho-sm size-4 rounded-full bg-white ring-1 transition focus-visible:outline-2 focus-visible:outline-offset-2 data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Slider built on Base UI `Slider` for picking a number (or range) along a\n * track. Compose a header with `Slider.Label` + `Slider.Value`, then\n * `Slider.Control` → `Track` → `Indicator` + `Thumb`. Set `value` /\n * `defaultValue`, `min`, `max`, `step` on `Slider.Root`. For a precise typed\n * number, prefer `NumberField`.\n */\nexport const Slider = {\n Root,\n Label,\n Value,\n Control,\n Track,\n Indicator,\n Thumb,\n};\n"],"mappings":";;;;;AAYA,SAAS,EAAK,EAAE,WAAA,GAAW,GAAG,EAAA,GAA8C;AAC1E,SACE,gBAAA,EAAC,EAAW,MAAZ;AAAA,IACE,WAAW,EAAG,8BAA8B,CAAS;AAAA,IACrD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA+C;AAC5E,SACE,gBAAA,EAAC,EAAW,OAAZ;AAAA,IACE,WAAW,EAAG,0CAA0C,CAAS;AAAA,IACjE,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA+C;AAC5E,SACE,gBAAA,EAAC,EAAW,OAAZ;AAAA,IACE,WAAW,EAAG,0CAA0C,CAAS;AAAA,IACjE,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAQ,EACf,WAAA,GACA,GAAG,EAAA,GACsC;AACzC,SACE,gBAAA,EAAC,EAAW,SAAZ;AAAA,IACE,WAAW,EACT,iEACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA+C;AAC5E,SACE,gBAAA,EAAC,EAAW,OAAZ;AAAA,IACE,WAAW,EACT,sDACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAU,EACjB,WAAA,GACA,GAAG,EAAA,GACwC;AAC3C,SACE,gBAAA,EAAC,EAAW,WAAZ;AAAA,IACE,WAAW,EAAG,mCAAmC,CAAS;AAAA,IAC1D,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA+C;AAC5E,SACE,gBAAA,EAAC,EAAW,OAAZ;AAAA,IACE,WAAW,EACT,qLACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AASA,IAAa,IAAS;AAAA,EACpB,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AACF"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-D6jQqeRj.js";
3
+ import "react";
4
+ import { jsx as o } from "react/jsx-runtime";
5
+ import { Switch as a } from "@base-ui/react/switch";
6
+ var i = {
7
+ sm: {
8
+ track: "h-5 w-9",
9
+ thumb: "size-4 data-[checked]:translate-x-4"
10
+ },
11
+ md: {
12
+ track: "h-6 w-11",
13
+ thumb: "size-5 data-[checked]:translate-x-5"
14
+ }
15
+ };
16
+ function n({ className: r, size: t = "md", ...s }) {
17
+ return /* @__PURE__ */ o(a.Root, {
18
+ className: e("bg-pho-tertiary outline-pho-brand relative inline-flex shrink-0 cursor-pointer items-center rounded-full p-0.5 transition-colors duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-2", "data-[checked]:bg-pho-brand-solid", "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50", i[t].track, r),
19
+ ...s,
20
+ children: /* @__PURE__ */ o(a.Thumb, { className: e("shadow-pho-sm pointer-events-none block rounded-full bg-white transition-transform duration-150 ease-out", i[t].thumb) })
21
+ });
22
+ }
23
+ n.displayName = "Switch";
24
+ export {
25
+ n as Switch
26
+ };
27
+
28
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","names":[],"sources":["../../src/components/switch/switch.tsx"],"sourcesContent":["import { type ComponentProps } from \"react\";\nimport { Switch as BaseSwitch } from \"@base-ui/react/switch\";\nimport { cn } from \"../../utils/cn\";\n\nexport type SwitchSize = \"sm\" | \"md\";\n\nconst SIZE: Record<SwitchSize, { track: string; thumb: string }> = {\n sm: { track: \"h-5 w-9\", thumb: \"size-4 data-[checked]:translate-x-4\" },\n md: { track: \"h-6 w-11\", thumb: \"size-5 data-[checked]:translate-x-5\" },\n};\n\nexport interface SwitchProps extends Omit<\n ComponentProps<typeof BaseSwitch.Root>,\n \"className\"\n> {\n className?: string;\n /** Size variant. @default \"md\" */\n size?: SwitchSize;\n}\n\n/**\n * On/off toggle built on Base UI `Switch`. Use a switch for a setting that\n * takes effect immediately; use a `Checkbox` for a value confirmed on submit.\n * Controlled via `checked` / `onCheckedChange` or uncontrolled via\n * `defaultChecked`. Always provide a label or `aria-label`.\n */\nexport function Switch({ className, size = \"md\", ...props }: SwitchProps) {\n return (\n <BaseSwitch.Root\n className={cn(\n \"bg-pho-tertiary outline-pho-brand relative inline-flex shrink-0 cursor-pointer items-center rounded-full p-0.5 transition-colors duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-2\",\n \"data-[checked]:bg-pho-brand-solid\",\n \"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50\",\n SIZE[size].track,\n className,\n )}\n {...props}\n >\n <BaseSwitch.Thumb\n className={cn(\n \"shadow-pho-sm pointer-events-none block rounded-full bg-white transition-transform duration-150 ease-out\",\n SIZE[size].thumb,\n )}\n />\n </BaseSwitch.Root>\n );\n}\n\nSwitch.displayName = \"Switch\";\n"],"mappings":";;;;;AAMA,IAAM,IAA6D;AAAA,EACjE,IAAI;AAAA,IAAE,OAAO;AAAA,IAAW,OAAO;AAAA,EAAsC;AAAA,EACrE,IAAI;AAAA,IAAE,OAAO;AAAA,IAAY,OAAO;AAAA,EAAsC;AACxE;AAiBA,SAAgB,EAAO,EAAE,WAAA,GAAW,MAAA,IAAO,MAAM,GAAG,EAAA,GAAsB;AACxE,SACE,gBAAA,EAAC,EAAW,MAAZ;AAAA,IACE,WAAW,EACT,iNACA,qCACA,iEACA,EAAK,CAAA,EAAM,OACX,CACF;AAAA,IACA,GAAI;AAAA,cAEJ,gBAAA,EAAC,EAAW,OAAZ,EACE,WAAW,EACT,4GACA,EAAK,CAAA,EAAM,KACb,EACD,CAAA;AAAA,EACc,CAAA;AAErB;AAEA,EAAO,cAAc"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { t as r } from "../chunks/cn-D6jQqeRj.js";
3
+ import "react";
4
+ import { jsx as a } from "react/jsx-runtime";
5
+ import { Tabs as o } from "@base-ui/react/tabs";
6
+ var i = o.Root;
7
+ function s({ className: t, ...e }) {
8
+ return /* @__PURE__ */ a(o.List, {
9
+ className: r("relative flex items-center gap-1 border-b border-[var(--border-color-pho-secondary)]", t),
10
+ ...e
11
+ });
12
+ }
13
+ function n({ className: t, ...e }) {
14
+ return /* @__PURE__ */ a(o.Tab, {
15
+ className: r("outline-pho-brand text-pho-tertiary hover:text-pho-secondary relative z-10 -mb-px cursor-pointer rounded-t-md px-3 py-2 text-sm font-medium transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2", "data-[selected]:text-pho-brand", t),
16
+ ...e
17
+ });
18
+ }
19
+ function l({ className: t, ...e }) {
20
+ return /* @__PURE__ */ a(o.Indicator, {
21
+ className: r("bg-pho-brand-solid absolute bottom-0 left-0 z-0 h-0.5 w-[var(--active-tab-width)] translate-x-[var(--active-tab-left)] transition-[translate,width] duration-200 ease-out", t),
22
+ ...e
23
+ });
24
+ }
25
+ function c({ className: t, ...e }) {
26
+ return /* @__PURE__ */ a(o.Panel, {
27
+ className: r("outline-pho-brand text-pho-secondary py-4 text-sm focus-visible:outline-2 focus-visible:-outline-offset-2", t),
28
+ ...e
29
+ });
30
+ }
31
+ var m = {
32
+ Root: i,
33
+ List: s,
34
+ Tab: n,
35
+ Indicator: l,
36
+ Panel: c
37
+ };
38
+ export {
39
+ m as Tabs
40
+ };
41
+
42
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","names":[],"sources":["../../src/components/tabs/tabs.tsx"],"sourcesContent":["import { type ComponentProps, type ElementType } from \"react\";\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { cn } from \"../../utils/cn\";\n\n/** Override Base UI's `string | (state) => string` className with plain string. */\ntype StyledProps<T extends ElementType> = Omit<\n ComponentProps<T>,\n \"className\"\n> & {\n className?: string;\n};\n\nconst Root = BaseTabs.Root;\n\nfunction List({ className, ...props }: StyledProps<typeof BaseTabs.List>) {\n return (\n <BaseTabs.List\n className={cn(\n \"relative flex items-center gap-1 border-b border-[var(--border-color-pho-secondary)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Tab({ className, ...props }: StyledProps<typeof BaseTabs.Tab>) {\n return (\n <BaseTabs.Tab\n className={cn(\n \"outline-pho-brand text-pho-tertiary hover:text-pho-secondary relative z-10 -mb-px cursor-pointer rounded-t-md px-3 py-2 text-sm font-medium transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2\",\n \"data-[selected]:text-pho-brand\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Indicator({\n className,\n ...props\n}: StyledProps<typeof BaseTabs.Indicator>) {\n return (\n <BaseTabs.Indicator\n className={cn(\n \"bg-pho-brand-solid absolute bottom-0 left-0 z-0 h-0.5 w-[var(--active-tab-width)] translate-x-[var(--active-tab-left)] transition-[translate,width] duration-200 ease-out\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Panel({ className, ...props }: StyledProps<typeof BaseTabs.Panel>) {\n return (\n <BaseTabs.Panel\n className={cn(\n \"outline-pho-brand text-pho-secondary py-4 text-sm focus-visible:outline-2 focus-visible:-outline-offset-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Tabbed sections built on Base UI `Tabs`, with an underline `Indicator` that\n * slides to the active tab. Each `Tabs.Tab` and `Tabs.Panel` share a `value`.\n * Control with `value` / `onValueChange` or leave uncontrolled via\n * `defaultValue`.\n */\nexport const Tabs = { Root, List, Tab, Indicator, Panel };\n"],"mappings":";;;;;AAYA,IAAM,IAAO,EAAS;AAEtB,SAAS,EAAK,EAAE,WAAA,GAAW,GAAG,EAAA,GAA4C;AACxE,SACE,gBAAA,EAAC,EAAS,MAAV;AAAA,IACE,WAAW,EACT,wFACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAI,EAAE,WAAA,GAAW,GAAG,EAAA,GAA2C;AACtE,SACE,gBAAA,EAAC,EAAS,KAAV;AAAA,IACE,WAAW,EACT,yNACA,kCACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAU,EACjB,WAAA,GACA,GAAG,EAAA,GACsC;AACzC,SACE,gBAAA,EAAC,EAAS,WAAV;AAAA,IACE,WAAW,EACT,6KACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA6C;AAC1E,SACE,gBAAA,EAAC,EAAS,OAAV;AAAA,IACE,WAAW,EACT,6GACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAQA,IAAa,IAAO;AAAA,EAAE,MAAA;AAAA,EAAM,MAAA;AAAA,EAAM,KAAA;AAAA,EAAK,WAAA;AAAA,EAAW,OAAA;AAAM"}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { t as a } from "../chunks/cn-D6jQqeRj.js";
3
+ import "react";
4
+ import { jsx as o } from "react/jsx-runtime";
5
+ import { Toast as r } from "@base-ui/react/toast";
6
+ var n = r.Provider, i = r.Portal, s = r.Action, l = r.useToastManager, c = r.createToastManager;
7
+ function p({ className: t, ...e }) {
8
+ return /* @__PURE__ */ o(r.Viewport, {
9
+ className: a("fixed right-4 bottom-4 z-50 flex w-[22rem] max-w-[calc(100vw-2rem)] flex-col gap-2 outline-none", t),
10
+ ...e
11
+ });
12
+ }
13
+ function u({ className: t, ...e }) {
14
+ return /* @__PURE__ */ o(r.Root, {
15
+ className: a("squircle bg-pho-primary text-pho-primary shadow-pho-lg ring-pho-interactive relative w-full rounded-xl ring-1 select-none ring-inset", "[transform:translateX(var(--toast-swipe-movement-x,0px))] transition-[transform,opacity] duration-300 ease-out", "data-[starting-style]:translate-x-full data-[starting-style]:opacity-0", "data-[ending-style]:translate-x-full data-[ending-style]:opacity-0", "data-[swiping]:duration-0", t),
16
+ ...e
17
+ });
18
+ }
19
+ function m({ className: t, ...e }) {
20
+ return /* @__PURE__ */ o(r.Content, {
21
+ className: a("flex flex-col gap-1 p-4 pr-10", t),
22
+ ...e
23
+ });
24
+ }
25
+ function f({ className: t, ...e }) {
26
+ return /* @__PURE__ */ o(r.Title, {
27
+ className: a("text-pho-primary text-sm font-semibold", t),
28
+ ...e
29
+ });
30
+ }
31
+ function g({ className: t, ...e }) {
32
+ return /* @__PURE__ */ o(r.Description, {
33
+ className: a("text-pho-tertiary text-sm", t),
34
+ ...e
35
+ });
36
+ }
37
+ function d({ className: t, ...e }) {
38
+ return /* @__PURE__ */ o(r.Close, {
39
+ className: a("text-fg-pho-quaternary hover:text-fg-pho-quaternary-hover hover:bg-pho-secondary outline-pho-brand absolute top-2.5 right-2.5 flex size-6 cursor-pointer items-center justify-center rounded-md transition focus-visible:outline-2 [&>svg]:size-4", t),
40
+ ...e
41
+ });
42
+ }
43
+ var w = {
44
+ Provider: n,
45
+ Portal: i,
46
+ Viewport: p,
47
+ Root: u,
48
+ Content: m,
49
+ Title: f,
50
+ Description: g,
51
+ Close: d,
52
+ Action: s,
53
+ useToastManager: l,
54
+ createToastManager: c
55
+ };
56
+ export {
57
+ w as Toast
58
+ };
59
+
60
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","names":[],"sources":["../../src/components/toast/toast.tsx"],"sourcesContent":["import { type ComponentProps, type ElementType } from \"react\";\nimport { Toast as BaseToast } from \"@base-ui/react/toast\";\nimport { cn } from \"../../utils/cn\";\n\n/** Override Base UI's `string | (state) => string` className with plain string. */\ntype StyledProps<T extends ElementType> = Omit<\n ComponentProps<T>,\n \"className\"\n> & {\n className?: string;\n};\n\nconst Provider = BaseToast.Provider;\nconst Portal = BaseToast.Portal;\nconst Action = BaseToast.Action;\n\n/** Imperative toast API: `const toast = useToastManager(); toast.add({ title })`. */\nconst useToastManager = BaseToast.useToastManager;\nconst createToastManager = BaseToast.createToastManager;\n\nfunction Viewport({\n className,\n ...props\n}: StyledProps<typeof BaseToast.Viewport>) {\n return (\n <BaseToast.Viewport\n className={cn(\n \"fixed right-4 bottom-4 z-50 flex w-[22rem] max-w-[calc(100vw-2rem)] flex-col gap-2 outline-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Root({ className, ...props }: StyledProps<typeof BaseToast.Root>) {\n return (\n <BaseToast.Root\n className={cn(\n \"squircle bg-pho-primary text-pho-primary shadow-pho-lg ring-pho-interactive relative w-full rounded-xl ring-1 select-none ring-inset\",\n \"[transform:translateX(var(--toast-swipe-movement-x,0px))] transition-[transform,opacity] duration-300 ease-out\",\n \"data-[starting-style]:translate-x-full data-[starting-style]:opacity-0\",\n \"data-[ending-style]:translate-x-full data-[ending-style]:opacity-0\",\n \"data-[swiping]:duration-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Content({\n className,\n ...props\n}: StyledProps<typeof BaseToast.Content>) {\n return (\n <BaseToast.Content\n className={cn(\"flex flex-col gap-1 p-4 pr-10\", className)}\n {...props}\n />\n );\n}\n\nfunction Title({ className, ...props }: StyledProps<typeof BaseToast.Title>) {\n return (\n <BaseToast.Title\n className={cn(\"text-pho-primary text-sm font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction Description({\n className,\n ...props\n}: StyledProps<typeof BaseToast.Description>) {\n return (\n <BaseToast.Description\n className={cn(\"text-pho-tertiary text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction Close({ className, ...props }: StyledProps<typeof BaseToast.Close>) {\n return (\n <BaseToast.Close\n className={cn(\n \"text-fg-pho-quaternary hover:text-fg-pho-quaternary-hover hover:bg-pho-secondary outline-pho-brand absolute top-2.5 right-2.5 flex size-6 cursor-pointer items-center justify-center rounded-md transition focus-visible:outline-2 [&>svg]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Toast built on Base UI `Toast` — a transient, non-blocking notification.\n * Wrap your app in `Toast.Provider`, render a `Toast.Portal` → `Viewport` that\n * maps `useToastManager().toasts` to `Toast.Root`s, then call\n * `useToastManager().add({ title, description })` to show one. Use a toast for\n * confirmation of a background action; for a choice the user must make, use\n * `AlertDialog`.\n */\nexport const Toast = {\n Provider,\n Portal,\n Viewport,\n Root,\n Content,\n Title,\n Description,\n Close,\n Action,\n useToastManager,\n createToastManager,\n};\n"],"mappings":";;;;;AAYA,IAAM,IAAW,EAAU,UACrB,IAAS,EAAU,QACnB,IAAS,EAAU,QAGnB,IAAkB,EAAU,iBAC5B,IAAqB,EAAU;AAErC,SAAS,EAAS,EAChB,WAAA,GACA,GAAG,EAAA,GACsC;AACzC,SACE,gBAAA,EAAC,EAAU,UAAX;AAAA,IACE,WAAW,EACT,mGACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAK,EAAE,WAAA,GAAW,GAAG,EAAA,GAA6C;AACzE,SACE,gBAAA,EAAC,EAAU,MAAX;AAAA,IACE,WAAW,EACT,wIACA,kHACA,0EACA,sEACA,6BACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAQ,EACf,WAAA,GACA,GAAG,EAAA,GACqC;AACxC,SACE,gBAAA,EAAC,EAAU,SAAX;AAAA,IACE,WAAW,EAAG,iCAAiC,CAAS;AAAA,IACxD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA8C;AAC3E,SACE,gBAAA,EAAC,EAAU,OAAX;AAAA,IACE,WAAW,EAAG,0CAA0C,CAAS;AAAA,IACjE,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAY,EACnB,WAAA,GACA,GAAG,EAAA,GACyC;AAC5C,SACE,gBAAA,EAAC,EAAU,aAAX;AAAA,IACE,WAAW,EAAG,6BAA6B,CAAS;AAAA,IACpD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAA8C;AAC3E,SACE,gBAAA,EAAC,EAAU,OAAX;AAAA,IACE,WAAW,EACT,qPACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAUA,IAAa,IAAQ;AAAA,EACnB,UAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA;AAAA,EACA,oBAAA;AACF"}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { t as r } from "../chunks/cn-D6jQqeRj.js";
3
+ import "react";
4
+ import { jsx as p } from "react/jsx-runtime";
5
+ import { ToggleGroup as t } from "@base-ui/react/toggle-group";
6
+ function i({ className: o, ...e }) {
7
+ return /* @__PURE__ */ p(t, {
8
+ className: r("inline-flex items-center gap-1", o),
9
+ ...e
10
+ });
11
+ }
12
+ i.displayName = "ToggleGroup";
13
+ export {
14
+ i as ToggleGroup
15
+ };
16
+
17
+ //# sourceMappingURL=toggle-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-group.js","names":[],"sources":["../../src/components/toggle-group/toggle-group.tsx"],"sourcesContent":["import { type ComponentProps } from \"react\";\nimport { ToggleGroup as BaseToggleGroup } from \"@base-ui/react/toggle-group\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface ToggleGroupProps extends Omit<\n ComponentProps<typeof BaseToggleGroup>,\n \"className\"\n> {\n className?: string;\n}\n\n/**\n * Groups related `Toggle` buttons with shared roving-focus keyboard\n * navigation, built on Base UI `ToggleGroup`. Single-select by default; set\n * `toggleMultiple` to allow several pressed at once. Track selection with\n * `value` / `onValueChange` (an array) or `defaultValue`.\n */\nexport function ToggleGroup({ className, ...props }: ToggleGroupProps) {\n return (\n <BaseToggleGroup\n className={cn(\"inline-flex items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nToggleGroup.displayName = \"ToggleGroup\";\n"],"mappings":";;;;;AAiBA,SAAgB,EAAY,EAAE,WAAA,GAAW,GAAG,EAAA,GAA2B;AACrE,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,WAAW,EAAG,kCAAkC,CAAS;AAAA,IACzD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,EAAY,cAAc"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { t as o } from "../chunks/cn-D6jQqeRj.js";
3
+ import { t as i } from "../chunks/resolve-variant-CcD8iG5l.js";
4
+ import "react";
5
+ import { jsx as t } from "react/jsx-runtime";
6
+ import { Toggle as a } from "@base-ui/react/toggle";
7
+ var l = {
8
+ sm: {
9
+ classes: "size-8 [&>svg]:size-4",
10
+ description: "Small — dense toolbars"
11
+ },
12
+ md: {
13
+ classes: "size-9 [&>svg]:size-5",
14
+ description: "Medium — the default"
15
+ },
16
+ lg: {
17
+ classes: "size-10 [&>svg]:size-5",
18
+ description: "Large"
19
+ }
20
+ };
21
+ function n({ className: e, size: s = "md", ...r }) {
22
+ return /* @__PURE__ */ t(a, {
23
+ className: o("squircle outline-pho-brand text-pho-tertiary inline-flex cursor-pointer items-center justify-center rounded-lg transition duration-100 ease-linear focus-visible:outline-2 focus-visible:outline-offset-2", "hover:bg-pho-primary-hover hover:text-pho-tertiary-hover", "data-[pressed]:bg-pho-secondary data-[pressed]:text-pho-primary", "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50", i(l, s), e),
24
+ ...r
25
+ });
26
+ }
27
+ n.displayName = "Toggle";
28
+ export {
29
+ l as TOGGLE_SIZES,
30
+ n as Toggle
31
+ };
32
+
33
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","names":[],"sources":["../../src/components/toggle/toggle.tsx"],"sourcesContent":["import { type ComponentProps } from \"react\";\nimport { Toggle as BaseToggle } from \"@base-ui/react/toggle\";\nimport { cn } from \"../../utils/cn\";\nimport { resolveVariant, type VariantMap } from \"../../utils/resolve-variant\";\n\n/** Size axis — three square icon sizes. `md` is default. */\nexport const TOGGLE_SIZES = {\n sm: {\n classes: \"size-8 [&>svg]:size-4\",\n description: \"Small — dense toolbars\",\n },\n md: { classes: \"size-9 [&>svg]:size-5\", description: \"Medium — the default\" },\n lg: { classes: \"size-10 [&>svg]:size-5\", description: \"Large\" },\n} satisfies VariantMap;\n\nexport type ToggleSize = keyof typeof TOGGLE_SIZES;\n\nexport interface ToggleProps extends Omit<\n ComponentProps<typeof BaseToggle>,\n \"className\"\n> {\n className?: string;\n /** Size variant. @default \"md\" */\n size?: ToggleSize;\n}\n\n/**\n * A two-state button (pressed / not pressed) built on Base UI `Toggle` — the\n * canonical Bold/Italic toolbar control. Controlled via `pressed` /\n * `onPressedChange` or uncontrolled via `defaultPressed`. For a set of related\n * toggles, use `ToggleGroup`.\n */\nexport function Toggle({ className, size = \"md\", ...props }: ToggleProps) {\n return (\n <BaseToggle\n className={cn(\n \"squircle outline-pho-brand text-pho-tertiary inline-flex cursor-pointer items-center justify-center rounded-lg transition duration-100 ease-linear focus-visible:outline-2 focus-visible:outline-offset-2\",\n \"hover:bg-pho-primary-hover hover:text-pho-tertiary-hover\",\n \"data-[pressed]:bg-pho-secondary data-[pressed]:text-pho-primary\",\n \"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50\",\n resolveVariant(TOGGLE_SIZES, size),\n className,\n )}\n {...props}\n />\n );\n}\n\nToggle.displayName = \"Toggle\";\n"],"mappings":";;;;;;AAMA,IAAa,IAAe;AAAA,EAC1B,IAAI;AAAA,IACF,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,IAAI;AAAA,IAAE,SAAS;AAAA,IAAyB,aAAa;AAAA,EAAuB;AAAA,EAC5E,IAAI;AAAA,IAAE,SAAS;AAAA,IAA0B,aAAa;AAAA,EAAQ;AAChE;AAmBA,SAAgB,EAAO,EAAE,WAAA,GAAW,MAAA,IAAO,MAAM,GAAG,EAAA,GAAsB;AACxE,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,WAAW,EACT,6MACA,4DACA,mEACA,iEACA,EAAe,GAAc,CAAI,GACjC,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,EAAO,cAAc"}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { t as o } from "../chunks/cn-D6jQqeRj.js";
3
+ import "react";
4
+ import { jsx as t } from "react/jsx-runtime";
5
+ import { Toolbar as n } from "@base-ui/react/toolbar";
6
+ function i({ className: e, ...r }) {
7
+ return /* @__PURE__ */ t(n.Root, {
8
+ className: o("squircle border-pho-secondary bg-pho-primary shadow-pho-xs flex items-center gap-1 rounded-lg border p-1", e),
9
+ ...r
10
+ });
11
+ }
12
+ var a = "inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1.5 text-sm font-medium text-pho-tertiary outline-pho-brand transition duration-100 ease-linear hover:bg-pho-secondary hover:text-pho-primary focus-visible:outline-2 focus-visible:-outline-offset-1 data-[pressed]:bg-pho-secondary data-[pressed]:text-pho-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4";
13
+ function s({ className: e, ...r }) {
14
+ return /* @__PURE__ */ t(n.Button, {
15
+ className: o(a, e),
16
+ ...r
17
+ });
18
+ }
19
+ function p({ className: e, ...r }) {
20
+ return /* @__PURE__ */ t(n.Link, {
21
+ className: o(a, e),
22
+ ...r
23
+ });
24
+ }
25
+ function u({ className: e, ...r }) {
26
+ return /* @__PURE__ */ t(n.Group, {
27
+ className: o("flex items-center gap-1", e),
28
+ ...r
29
+ });
30
+ }
31
+ function d({ className: e, ...r }) {
32
+ return /* @__PURE__ */ t(n.Input, {
33
+ className: o("bg-pho-primary ring-pho-primary text-pho-primary placeholder:text-pho-placeholder focus-visible:ring-pho-brand rounded-md px-2 py-1 text-sm ring-1 outline-none ring-inset focus-visible:ring-2", e),
34
+ ...r
35
+ });
36
+ }
37
+ function l({ className: e, ...r }) {
38
+ return /* @__PURE__ */ t(n.Separator, {
39
+ className: o("mx-1 h-5 w-px bg-[var(--border-color-pho-secondary)]", e),
40
+ ...r
41
+ });
42
+ }
43
+ var b = {
44
+ Root: i,
45
+ Button: s,
46
+ Link: p,
47
+ Group: u,
48
+ Input: d,
49
+ Separator: l
50
+ };
51
+ export {
52
+ b as Toolbar
53
+ };
54
+
55
+ //# sourceMappingURL=toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.js","names":[],"sources":["../../src/components/toolbar/toolbar.tsx"],"sourcesContent":["import { type ComponentProps, type ElementType } from \"react\";\nimport { Toolbar as BaseToolbar } from \"@base-ui/react/toolbar\";\nimport { cn } from \"../../utils/cn\";\n\n/** Override Base UI's `string | (state) => string` className with plain string. */\ntype StyledProps<T extends ElementType> = Omit<\n ComponentProps<T>,\n \"className\"\n> & {\n className?: string;\n};\n\nfunction Root({ className, ...props }: StyledProps<typeof BaseToolbar.Root>) {\n return (\n <BaseToolbar.Root\n className={cn(\n \"squircle border-pho-secondary bg-pho-primary shadow-pho-xs flex items-center gap-1 rounded-lg border p-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst TOOLBAR_BUTTON =\n \"inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1.5 text-sm font-medium text-pho-tertiary outline-pho-brand transition duration-100 ease-linear hover:bg-pho-secondary hover:text-pho-primary focus-visible:outline-2 focus-visible:-outline-offset-1 data-[pressed]:bg-pho-secondary data-[pressed]:text-pho-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4\";\n\nfunction Button({\n className,\n ...props\n}: StyledProps<typeof BaseToolbar.Button>) {\n return (\n <BaseToolbar.Button className={cn(TOOLBAR_BUTTON, className)} {...props} />\n );\n}\n\nfunction Link({ className, ...props }: StyledProps<typeof BaseToolbar.Link>) {\n return (\n <BaseToolbar.Link className={cn(TOOLBAR_BUTTON, className)} {...props} />\n );\n}\n\nfunction Group({ className, ...props }: StyledProps<typeof BaseToolbar.Group>) {\n return (\n <BaseToolbar.Group\n className={cn(\"flex items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction Input({ className, ...props }: StyledProps<typeof BaseToolbar.Input>) {\n return (\n <BaseToolbar.Input\n className={cn(\n \"bg-pho-primary ring-pho-primary text-pho-primary placeholder:text-pho-placeholder focus-visible:ring-pho-brand rounded-md px-2 py-1 text-sm ring-1 outline-none ring-inset focus-visible:ring-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Separator({\n className,\n ...props\n}: StyledProps<typeof BaseToolbar.Separator>) {\n return (\n <BaseToolbar.Separator\n className={cn(\n \"mx-1 h-5 w-px bg-[var(--border-color-pho-secondary)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Toolbar built on Base UI `Toolbar` — a single tab stop grouping related\n * controls with arrow-key navigation between them (formatting bars, editor\n * controls). Holds `Toolbar.Button`, `Link`, `Input`, and `Separator`; for\n * pressable formatting buttons, wrap `Toggle` / `ToggleGroup` with\n * `Toolbar.Button render={…}`.\n */\nexport const Toolbar = { Root, Button, Link, Group, Input, Separator };\n"],"mappings":";;;;;AAYA,SAAS,EAAK,EAAE,WAAA,GAAW,GAAG,EAAA,GAA+C;AAC3E,SACE,gBAAA,EAAC,EAAY,MAAb;AAAA,IACE,WAAW,EACT,4GACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,IAAM,IACJ;AAEF,SAAS,EAAO,EACd,WAAA,GACA,GAAG,EAAA,GACsC;AACzC,SACE,gBAAA,EAAC,EAAY,QAAb;AAAA,IAAoB,WAAW,EAAG,GAAgB,CAAS;AAAA,IAAG,GAAI;AAAA,EAAQ,CAAA;AAE9E;AAEA,SAAS,EAAK,EAAE,WAAA,GAAW,GAAG,EAAA,GAA+C;AAC3E,SACE,gBAAA,EAAC,EAAY,MAAb;AAAA,IAAkB,WAAW,EAAG,GAAgB,CAAS;AAAA,IAAG,GAAI;AAAA,EAAQ,CAAA;AAE5E;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAAgD;AAC7E,SACE,gBAAA,EAAC,EAAY,OAAb;AAAA,IACE,WAAW,EAAG,2BAA2B,CAAS;AAAA,IAClD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAAgD;AAC7E,SACE,gBAAA,EAAC,EAAY,OAAb;AAAA,IACE,WAAW,EACT,mMACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAU,EACjB,WAAA,GACA,GAAG,EAAA,GACyC;AAC5C,SACE,gBAAA,EAAC,EAAY,WAAb;AAAA,IACE,WAAW,EACT,wDACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AASA,IAAa,IAAU;AAAA,EAAE,MAAA;AAAA,EAAM,QAAA;AAAA,EAAQ,MAAA;AAAA,EAAM,OAAA;AAAA,EAAO,OAAA;AAAA,EAAO,WAAA;AAAU"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { t as i } from "../chunks/cn-D6jQqeRj.js";
3
+ import "react";
4
+ import { jsx as a } from "react/jsx-runtime";
5
+ import { Tooltip as r } from "@base-ui/react/tooltip";
6
+ var n = r.Provider, s = r.Root, p = r.Trigger, l = r.Portal;
7
+ function g({ className: t, sideOffset: o = 6, ...e }) {
8
+ return /* @__PURE__ */ a(r.Positioner, {
9
+ sideOffset: o,
10
+ className: i("z-50", t),
11
+ ...e
12
+ });
13
+ }
14
+ function c({ className: t, ...o }) {
15
+ return /* @__PURE__ */ a(r.Popup, {
16
+ className: i("squircle bg-pho-primary text-pho-secondary shadow-pho-lg ring-pho-interactive origin-[var(--transform-origin)] rounded-lg px-2.5 py-1.5 text-xs font-medium ring-1 transition-[transform,opacity] duration-150 ease-out ring-inset", "data-[starting-style]:scale-95 data-[starting-style]:opacity-0", "data-[ending-style]:scale-95 data-[ending-style]:opacity-0", t),
17
+ ...o
18
+ });
19
+ }
20
+ var v = {
21
+ Provider: n,
22
+ Root: s,
23
+ Trigger: p,
24
+ Portal: l,
25
+ Positioner: g,
26
+ Popup: c
27
+ };
28
+ export {
29
+ v as Tooltip
30
+ };
31
+
32
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","names":[],"sources":["../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { type ComponentProps, type ElementType } from \"react\";\nimport { Tooltip as BaseTooltip } from \"@base-ui/react/tooltip\";\nimport { cn } from \"../../utils/cn\";\n\n/** Override Base UI's `string | (state) => string` className with plain string. */\ntype StyledProps<T extends ElementType> = Omit<\n ComponentProps<T>,\n \"className\"\n> & {\n className?: string;\n};\n\nconst Provider = BaseTooltip.Provider;\nconst Root = BaseTooltip.Root;\nconst Trigger = BaseTooltip.Trigger;\nconst Portal = BaseTooltip.Portal;\n\nfunction Positioner({\n className,\n sideOffset = 6,\n ...props\n}: StyledProps<typeof BaseTooltip.Positioner>) {\n return (\n <BaseTooltip.Positioner\n sideOffset={sideOffset}\n className={cn(\"z-50\", className)}\n {...props}\n />\n );\n}\n\nfunction Popup({ className, ...props }: StyledProps<typeof BaseTooltip.Popup>) {\n return (\n <BaseTooltip.Popup\n className={cn(\n \"squircle bg-pho-primary text-pho-secondary shadow-pho-lg ring-pho-interactive origin-[var(--transform-origin)] rounded-lg px-2.5 py-1.5 text-xs font-medium ring-1 transition-[transform,opacity] duration-150 ease-out ring-inset\",\n \"data-[starting-style]:scale-95 data-[starting-style]:opacity-0\",\n \"data-[ending-style]:scale-95 data-[ending-style]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Tooltip built on Base UI `Tooltip` — a brief, hover/focus-triggered label for\n * an icon or control. Wrap your app (or a subtree) in `Tooltip.Provider` to\n * share open/close timing. The trigger must be a focusable element. Never put\n * essential or interactive content in a tooltip; use `Popover` for that.\n */\nexport const Tooltip = { Provider, Root, Trigger, Portal, Positioner, Popup };\n"],"mappings":";;;;;AAYA,IAAM,IAAW,EAAY,UACvB,IAAO,EAAY,MACnB,IAAU,EAAY,SACtB,IAAS,EAAY;AAE3B,SAAS,EAAW,EAClB,WAAA,GACA,YAAA,IAAa,GACb,GAAG,EAAA,GAC0C;AAC7C,SACE,gBAAA,EAAC,EAAY,YAAb;AAAA,IACc,YAAA;AAAA,IACZ,WAAW,EAAG,QAAQ,CAAS;AAAA,IAC/B,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAM,EAAE,WAAA,GAAW,GAAG,EAAA,GAAgD;AAC7E,SACE,gBAAA,EAAC,EAAY,OAAb;AAAA,IACE,WAAW,EACT,sOACA,kEACA,8DACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAQA,IAAa,IAAU;AAAA,EAAE,UAAA;AAAA,EAAU,MAAA;AAAA,EAAM,SAAA;AAAA,EAAS,QAAA;AAAA,EAAQ,YAAA;AAAA,EAAY,OAAA;AAAM"}
package/dist/icons.js ADDED
@@ -0,0 +1,192 @@
1
+ "use client";
2
+ import "react";
3
+ import { jsx as c, jsxs as e } from "react/jsx-runtime";
4
+ function r(n) {
5
+ return /* @__PURE__ */ c("svg", {
6
+ viewBox: "0 0 24 24",
7
+ fill: "currentColor",
8
+ "aria-hidden": "true",
9
+ ...n,
10
+ children: /* @__PURE__ */ c("path", { d: "M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" })
11
+ });
12
+ }
13
+ function a(n) {
14
+ return /* @__PURE__ */ c("svg", {
15
+ viewBox: "0 0 24 24",
16
+ "aria-hidden": "true",
17
+ ...n,
18
+ children: /* @__PURE__ */ c("path", {
19
+ fill: "currentColor",
20
+ fillRule: "evenodd",
21
+ clipRule: "evenodd",
22
+ d: "M12 1.5A10.5 10.5 0 0 0 8.68 22c.53.1.72-.23.72-.5l-.01-1.82c-2.92.63-3.54-1.4-3.54-1.4-.48-1.22-1.17-1.54-1.17-1.54-.95-.65.07-.64.07-.64 1.06.07 1.61 1.09 1.61 1.09.94 1.6 2.46 1.14 3.06.87.1-.68.37-1.14.67-1.4-2.33-.27-4.78-1.17-4.78-5.2 0-1.15.41-2.09 1.08-2.83-.1-.27-.47-1.34.1-2.8 0 0 .88-.28 2.88 1.08a9.9 9.9 0 0 1 5.24 0c2-1.36 2.88-1.08 2.88-1.08.57 1.46.21 2.53.1 2.8.68.74 1.08 1.68 1.08 2.83 0 4.04-2.45 4.93-4.79 5.19.38.33.71.97.71 1.96l-.01 2.9c0 .28.19.61.73.5A10.5 10.5 0 0 0 12 1.5Z"
23
+ })
24
+ });
25
+ }
26
+ function i(n) {
27
+ return /* @__PURE__ */ e("svg", {
28
+ viewBox: "0 0 24 24",
29
+ "aria-hidden": "true",
30
+ ...n,
31
+ children: [
32
+ /* @__PURE__ */ c("path", {
33
+ fill: "#4285F4",
34
+ d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1Z"
35
+ }),
36
+ /* @__PURE__ */ c("path", {
37
+ fill: "#34A853",
38
+ d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84A11 11 0 0 0 12 23Z"
39
+ }),
40
+ /* @__PURE__ */ c("path", {
41
+ fill: "#FBBC05",
42
+ d: "M5.84 14.1a6.6 6.6 0 0 1 0-4.2V7.06H2.18a11 11 0 0 0 0 9.88l3.66-2.84Z"
43
+ }),
44
+ /* @__PURE__ */ c("path", {
45
+ fill: "#EA4335",
46
+ d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1A11 11 0 0 0 2.18 7.06l3.66 2.84C6.71 7.3 9.14 5.38 12 5.38Z"
47
+ })
48
+ ]
49
+ });
50
+ }
51
+ function l(n) {
52
+ return /* @__PURE__ */ c("svg", {
53
+ viewBox: "0 0 24 24",
54
+ fill: "currentColor",
55
+ "aria-hidden": "true",
56
+ ...n,
57
+ children: /* @__PURE__ */ c("path", { d: "M5.285 0A5.273 5.273 0 0 0 0 5.285v13.43A5.273 5.273 0 0 0 5.285 24h13.43A5.273 5.273 0 0 0 24 18.715V5.285A5.273 5.273 0 0 0 18.715 0ZM12 4.154a8.809 7.337 0 0 1 8.809 7.338A8.809 7.337 0 0 1 12 18.828a8.809 7.337 0 0 1-2.492-.303A8.656 7.337 0 0 1 5.93 19.93a9.929 7.337 0 0 0 1.54-2.155 8.809 7.337 0 0 1-4.279-6.283A8.809 7.337 0 0 1 12 4.154" })
58
+ });
59
+ }
60
+ function p(n) {
61
+ return /* @__PURE__ */ c("svg", {
62
+ viewBox: "0 0 29 29",
63
+ fill: "none",
64
+ "aria-hidden": "true",
65
+ ...n,
66
+ children: /* @__PURE__ */ c("path", {
67
+ fill: "currentColor",
68
+ d: "M24.012 15.984h3.384c.612 0 1.044.576.9 1.116l-2.592 10.296c-.072.396-.432.684-.864.684h-3.42c-.54 0-.972-.576-.864-1.116l2.592-10.296c.108-.396.432-.684.864-.684ZM17.172 0h3.384c.612 0 1.044.576.864 1.116l-2.52 10.296c-.144.396-.504.684-.936.684h-3.348c-.612 0-1.044-.576-.864-1.116L16.308.684C16.38.288 16.776 0 17.172 0ZM3.636 7.416H7.02c.576 0 1.008.576.864 1.152l-2.556 10.26c-.108.396-.468.684-.864.684h-3.42c-.576 0-1.044-.54-.864-1.116l2.556-10.26c.108-.432.468-.72.9-.72Z"
69
+ })
70
+ });
71
+ }
72
+ function o(n) {
73
+ return /* @__PURE__ */ c("svg", {
74
+ viewBox: "0 0 24 24",
75
+ fill: "currentColor",
76
+ "aria-hidden": "true",
77
+ ...n,
78
+ children: /* @__PURE__ */ c("path", { d: "M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z" })
79
+ });
80
+ }
81
+ function t(n) {
82
+ return /* @__PURE__ */ e("svg", {
83
+ viewBox: "73.6 73.6 122.8 122.8",
84
+ fill: "currentColor",
85
+ "aria-hidden": "true",
86
+ ...n,
87
+ children: [
88
+ /* @__PURE__ */ c("path", { d: "M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9s-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z" }),
89
+ /* @__PURE__ */ c("path", { d: "M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9s-12.9-5.8-12.9-12.9C105.9,183.5,105.9,151.2,105.9,151.2z" }),
90
+ /* @__PURE__ */ c("path", { d: "M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9s5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z" }),
91
+ /* @__PURE__ */ c("path", { d: "M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9s5.8-12.9,12.9-12.9C86.5,105.9,118.8,105.9,118.8,105.9z" }),
92
+ /* @__PURE__ */ c("path", { d: "M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z" }),
93
+ /* @__PURE__ */ c("path", { d: "M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9V118.8z" }),
94
+ /* @__PURE__ */ c("path", { d: "M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z" }),
95
+ /* @__PURE__ */ c("path", { d: "M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9H151.2z" })
96
+ ]
97
+ });
98
+ }
99
+ function d(n) {
100
+ return /* @__PURE__ */ c("svg", {
101
+ viewBox: "0 0 24 24",
102
+ fill: "currentColor",
103
+ "aria-hidden": "true",
104
+ ...n,
105
+ children: /* @__PURE__ */ c("path", { d: "M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z" })
106
+ });
107
+ }
108
+ function h(n) {
109
+ return /* @__PURE__ */ c("svg", {
110
+ viewBox: "0 0 24 24",
111
+ fill: "currentColor",
112
+ "aria-hidden": "true",
113
+ ...n,
114
+ children: /* @__PURE__ */ c("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z" })
115
+ });
116
+ }
117
+ function u(n) {
118
+ return /* @__PURE__ */ c("svg", {
119
+ viewBox: "0 0 24 24",
120
+ fill: "currentColor",
121
+ "aria-hidden": "true",
122
+ ...n,
123
+ children: /* @__PURE__ */ c("path", { d: "M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z" })
124
+ });
125
+ }
126
+ function s(n) {
127
+ return /* @__PURE__ */ c("svg", {
128
+ viewBox: "0 0 24 24",
129
+ fill: "currentColor",
130
+ "aria-hidden": "true",
131
+ ...n,
132
+ children: /* @__PURE__ */ c("path", { d: "M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
133
+ });
134
+ }
135
+ var f = [
136
+ {
137
+ name: "GitHub",
138
+ Icon: a
139
+ },
140
+ {
141
+ name: "X",
142
+ Icon: u
143
+ },
144
+ {
145
+ name: "Discord",
146
+ Icon: r
147
+ },
148
+ {
149
+ name: "Telegram",
150
+ Icon: d
151
+ },
152
+ {
153
+ name: "iMessage",
154
+ Icon: l
155
+ },
156
+ {
157
+ name: "Slack",
158
+ Icon: t
159
+ },
160
+ {
161
+ name: "Reddit",
162
+ Icon: o
163
+ },
164
+ {
165
+ name: "YouTube",
166
+ Icon: s
167
+ },
168
+ {
169
+ name: "WhatsApp",
170
+ Icon: h
171
+ },
172
+ {
173
+ name: "Google",
174
+ Icon: i
175
+ }
176
+ ];
177
+ export {
178
+ r as DiscordIcon,
179
+ a as GitHubIcon,
180
+ i as GoogleIcon,
181
+ l as IMessageIcon,
182
+ p as PhotonMark,
183
+ o as RedditIcon,
184
+ t as SlackIcon,
185
+ d as TelegramIcon,
186
+ h as WhatsAppIcon,
187
+ u as XIcon,
188
+ s as YouTubeIcon,
189
+ f as brandMarks
190
+ };
191
+
192
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","names":[],"sources":["../src/icons/discord.tsx","../src/icons/github.tsx","../src/icons/google.tsx","../src/icons/imessage.tsx","../src/icons/photon-mark.tsx","../src/icons/reddit.tsx","../src/icons/slack.tsx","../src/icons/telegram.tsx","../src/icons/whatsapp.tsx","../src/icons/x.tsx","../src/icons/youtube.tsx","../src/icons/index.ts"],"sourcesContent":["import { type ComponentProps } from \"react\";\n\n/** Discord brand mark — monochrome, follows `currentColor`. */\nexport function DiscordIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** GitHub brand mark — monochrome, follows `currentColor`. */\nexport function GitHubIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 1.5A10.5 10.5 0 0 0 8.68 22c.53.1.72-.23.72-.5l-.01-1.82c-2.92.63-3.54-1.4-3.54-1.4-.48-1.22-1.17-1.54-1.17-1.54-.95-.65.07-.64.07-.64 1.06.07 1.61 1.09 1.61 1.09.94 1.6 2.46 1.14 3.06.87.1-.68.37-1.14.67-1.4-2.33-.27-4.78-1.17-4.78-5.2 0-1.15.41-2.09 1.08-2.83-.1-.27-.47-1.34.1-2.8 0 0 .88-.28 2.88 1.08a9.9 9.9 0 0 1 5.24 0c2-1.36 2.88-1.08 2.88-1.08.57 1.46.21 2.53.1 2.8.68.74 1.08 1.68 1.08 2.83 0 4.04-2.45 4.93-4.79 5.19.38.33.71.97.71 1.96l-.01 2.9c0 .28.19.61.73.5A10.5 10.5 0 0 0 12 1.5Z\"\n />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** Google brand mark — fixed multi-color fills (not themeable by design). */\nexport function GoogleIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" {...props}>\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1Z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84A11 11 0 0 0 12 23Z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.1a6.6 6.6 0 0 1 0-4.2V7.06H2.18a11 11 0 0 0 0 9.88l3.66-2.84Z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1A11 11 0 0 0 2.18 7.06l3.66 2.84C6.71 7.3 9.14 5.38 12 5.38Z\"\n />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** iMessage brand mark — monochrome, follows `currentColor`. */\nexport function IMessageIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M5.285 0A5.273 5.273 0 0 0 0 5.285v13.43A5.273 5.273 0 0 0 5.285 24h13.43A5.273 5.273 0 0 0 24 18.715V5.285A5.273 5.273 0 0 0 18.715 0ZM12 4.154a8.809 7.337 0 0 1 8.809 7.338A8.809 7.337 0 0 1 12 18.828a8.809 7.337 0 0 1-2.492-.303A8.656 7.337 0 0 1 5.93 19.93a9.929 7.337 0 0 0 1.54-2.155 8.809 7.337 0 0 1-4.279-6.283A8.809 7.337 0 0 1 12 4.154\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** The Photon mark — three angled signal bars; inherits `currentColor`. */\nexport function PhotonMark(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 29 29\" fill=\"none\" aria-hidden=\"true\" {...props}>\n <path\n fill=\"currentColor\"\n d=\"M24.012 15.984h3.384c.612 0 1.044.576.9 1.116l-2.592 10.296c-.072.396-.432.684-.864.684h-3.42c-.54 0-.972-.576-.864-1.116l2.592-10.296c.108-.396.432-.684.864-.684ZM17.172 0h3.384c.612 0 1.044.576.864 1.116l-2.52 10.296c-.144.396-.504.684-.936.684h-3.348c-.612 0-1.044-.576-.864-1.116L16.308.684C16.38.288 16.776 0 17.172 0ZM3.636 7.416H7.02c.576 0 1.008.576.864 1.152l-2.556 10.26c-.108.396-.468.684-.864.684h-3.42c-.576 0-1.044-.54-.864-1.116l2.556-10.26c.108-.432.468-.72.9-.72Z\"\n />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** Reddit brand mark — monochrome, follows `currentColor`. */\nexport function RedditIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** Slack brand mark — monochrome, follows `currentColor`. */\nexport function SlackIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg\n viewBox=\"73.6 73.6 122.8 122.8\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9s-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z\" />\n <path d=\"M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9s-12.9-5.8-12.9-12.9C105.9,183.5,105.9,151.2,105.9,151.2z\" />\n <path d=\"M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9s5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z\" />\n <path d=\"M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9s5.8-12.9,12.9-12.9C86.5,105.9,118.8,105.9,118.8,105.9z\" />\n <path d=\"M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z\" />\n <path d=\"M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9V118.8z\" />\n <path d=\"M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z\" />\n <path d=\"M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9H151.2z\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** Telegram brand mark — monochrome, follows `currentColor`. */\nexport function TelegramIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** WhatsApp brand mark — monochrome, follows `currentColor`. */\nexport function WhatsAppIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** X (Twitter) brand mark — monochrome, follows `currentColor`. */\nexport function XIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z\" />\n </svg>\n );\n}\n","import { type ComponentProps } from \"react\";\n\n/** YouTube brand mark — monochrome, follows `currentColor`. */\nexport function YouTubeIcon(props: ComponentProps<\"svg\">) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" {...props}>\n <path d=\"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\" />\n </svg>\n );\n}\n","/**\n * Photon brand and social marks — monochrome `currentColor` (except Google,\n * which is intentionally multi-color). Path data is canonical; do not edit.\n */\nimport { type ComponentProps, type FC } from \"react\";\nimport { DiscordIcon } from \"./discord\";\nimport { GitHubIcon } from \"./github\";\nimport { GoogleIcon } from \"./google\";\nimport { IMessageIcon } from \"./imessage\";\nimport { PhotonMark } from \"./photon-mark\";\nimport { RedditIcon } from \"./reddit\";\nimport { SlackIcon } from \"./slack\";\nimport { TelegramIcon } from \"./telegram\";\nimport { WhatsAppIcon } from \"./whatsapp\";\nimport { XIcon } from \"./x\";\nimport { YouTubeIcon } from \"./youtube\";\n\nexport {\n DiscordIcon,\n GitHubIcon,\n GoogleIcon,\n IMessageIcon,\n PhotonMark,\n RedditIcon,\n SlackIcon,\n TelegramIcon,\n WhatsAppIcon,\n XIcon,\n YouTubeIcon,\n};\n\n/** Third-party marks in gallery order (Photon's own mark ships separately). */\nexport const brandMarks: { name: string; Icon: FC<ComponentProps<\"svg\">> }[] = [\n { name: \"GitHub\", Icon: GitHubIcon },\n { name: \"X\", Icon: XIcon },\n { name: \"Discord\", Icon: DiscordIcon },\n { name: \"Telegram\", Icon: TelegramIcon },\n { name: \"iMessage\", Icon: IMessageIcon },\n { name: \"Slack\", Icon: SlackIcon },\n { name: \"Reddit\", Icon: RedditIcon },\n { name: \"YouTube\", Icon: YouTubeIcon },\n { name: \"WhatsApp\", Icon: WhatsAppIcon },\n { name: \"Google\", Icon: GoogleIcon },\n];\n"],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { t as o } from "./chunks/cn-D6jQqeRj.js";
3
+ import { n as s, r, t as n } from "./chunks/link-provider-9TFNyDqO.js";
4
+ import { t as m } from "./chunks/resolve-variant-CcD8iG5l.js";
5
+ import "./utils.js";
6
+ import { a as f, c as p, d as u, i as B, l as E, n as S, o as c, r as N, s as _, t as l, u as A } from "./chunks/button-9pp4g7en.js";
7
+ import { t as I } from "./chunks/close-button-CbQNfpxU.js";
8
+ import { t as U } from "./chunks/input-aZqjjV_m.js";
9
+ import { t as k } from "./chunks/dialog-BSBF1Wyq.js";
10
+ export {
11
+ l as BUTTON_SHAPES,
12
+ S as BUTTON_SIZES,
13
+ N as BUTTON_VARIANTS,
14
+ B as Button,
15
+ f as ButtonLink,
16
+ I as CloseButton,
17
+ k as Dialog,
18
+ c as EFFECT_BUTTON_SIZES,
19
+ _ as EFFECT_BUTTON_VARIANTS,
20
+ p as EffectButton,
21
+ E as EffectButtonLink,
22
+ U as Input,
23
+ n as LinkProvider,
24
+ A as buttonVariants,
25
+ o as cn,
26
+ u as effectButtonVariants,
27
+ r as isReactComponent,
28
+ m as resolveVariant,
29
+ s as useLinkComponent
30
+ };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import "../chunks/rolldown-runtime-wKSmTnsc.js";
3
+ export * from "@base-ui/react/accordion";
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import "../chunks/rolldown-runtime-wKSmTnsc.js";
3
+ export * from "@base-ui/react/alert-dialog";
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import "../chunks/rolldown-runtime-wKSmTnsc.js";
3
+ export * from "@base-ui/react/autocomplete";