@epilot/spark-ui 0.16.0 → 0.17.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 (188) hide show
  1. package/dist/components/accordion.cjs +3 -6
  2. package/dist/components/accordion.cjs.map +1 -1
  3. package/dist/components/accordion.d.ts +1 -1
  4. package/dist/components/accordion.js +3 -6
  5. package/dist/components/accordion.js.map +1 -1
  6. package/dist/components/alert-dialog.cjs +4 -5
  7. package/dist/components/alert-dialog.cjs.map +1 -1
  8. package/dist/components/alert-dialog.js +4 -5
  9. package/dist/components/alert-dialog.js.map +1 -1
  10. package/dist/components/autocomplete.cjs +161 -0
  11. package/dist/components/autocomplete.cjs.map +1 -0
  12. package/dist/components/autocomplete.d.cts +76 -0
  13. package/dist/components/autocomplete.d.ts +76 -0
  14. package/dist/components/autocomplete.js +143 -0
  15. package/dist/components/autocomplete.js.map +1 -0
  16. package/dist/components/avatar.js +1 -1
  17. package/dist/components/badge.js +1 -1
  18. package/dist/components/bar-chart.js +1 -1
  19. package/dist/components/battery-progress-row.cjs +14 -11
  20. package/dist/components/battery-progress-row.cjs.map +1 -1
  21. package/dist/components/battery-progress-row.d.cts +2 -10
  22. package/dist/components/battery-progress-row.d.ts +2 -10
  23. package/dist/components/battery-progress-row.js +14 -11
  24. package/dist/components/battery-progress-row.js.map +1 -1
  25. package/dist/components/box.js +1 -1
  26. package/dist/components/bubble.d.cts +1 -1
  27. package/dist/components/bubble.d.ts +1 -1
  28. package/dist/components/button-group.js +1 -1
  29. package/dist/components/button.cjs +6 -6
  30. package/dist/components/button.cjs.map +1 -1
  31. package/dist/components/button.d.cts +2 -2
  32. package/dist/components/button.d.ts +2 -2
  33. package/dist/components/button.js +7 -7
  34. package/dist/components/button.js.map +1 -1
  35. package/dist/components/calendar.cjs +4 -5
  36. package/dist/components/calendar.cjs.map +1 -1
  37. package/dist/components/calendar.js +4 -5
  38. package/dist/components/calendar.js.map +1 -1
  39. package/dist/components/callout.cjs +18 -14
  40. package/dist/components/callout.cjs.map +1 -1
  41. package/dist/components/callout.d.cts +10 -4
  42. package/dist/components/callout.d.ts +10 -4
  43. package/dist/components/callout.js +18 -15
  44. package/dist/components/callout.js.map +1 -1
  45. package/dist/components/card.js +1 -1
  46. package/dist/components/checkbox.js +1 -1
  47. package/dist/components/device-card.cjs +2 -6
  48. package/dist/components/device-card.cjs.map +1 -1
  49. package/dist/components/device-card.d.cts +3 -3
  50. package/dist/components/device-card.d.ts +3 -3
  51. package/dist/components/device-card.js +2 -6
  52. package/dist/components/device-card.js.map +1 -1
  53. package/dist/components/dialog.cjs +2 -5
  54. package/dist/components/dialog.cjs.map +1 -1
  55. package/dist/components/dialog.js +2 -5
  56. package/dist/components/dialog.js.map +1 -1
  57. package/dist/components/dropdown-menu.cjs +4 -13
  58. package/dist/components/dropdown-menu.cjs.map +1 -1
  59. package/dist/components/dropdown-menu.js +4 -13
  60. package/dist/components/dropdown-menu.js.map +1 -1
  61. package/dist/components/empty-state.cjs +5 -5
  62. package/dist/components/empty-state.cjs.map +1 -1
  63. package/dist/components/empty-state.d.cts +3 -3
  64. package/dist/components/empty-state.d.ts +3 -3
  65. package/dist/components/empty-state.js +5 -5
  66. package/dist/components/empty-state.js.map +1 -1
  67. package/dist/components/icon.cjs +2 -3
  68. package/dist/components/icon.cjs.map +1 -1
  69. package/dist/components/icon.d.cts +0 -3
  70. package/dist/components/icon.d.ts +0 -3
  71. package/dist/components/icon.js +3 -4
  72. package/dist/components/icon.js.map +1 -1
  73. package/dist/components/info-block.d.cts +1 -1
  74. package/dist/components/info-block.d.ts +1 -1
  75. package/dist/components/input-otp.cjs +1 -1
  76. package/dist/components/input-otp.js +1 -1
  77. package/dist/components/input.cjs +1 -1
  78. package/dist/components/input.js +1 -1
  79. package/dist/components/line-chart.cjs +1 -1
  80. package/dist/components/line-chart.js +2 -2
  81. package/dist/components/list.cjs.map +1 -1
  82. package/dist/components/list.js.map +1 -1
  83. package/dist/components/marker.d.cts +1 -1
  84. package/dist/components/marker.d.ts +1 -1
  85. package/dist/components/message-scroller.cjs +3 -3
  86. package/dist/components/message-scroller.cjs.map +1 -1
  87. package/dist/components/message-scroller.js +4 -4
  88. package/dist/components/message-scroller.js.map +1 -1
  89. package/dist/components/metering-row.cjs +3 -3
  90. package/dist/components/metering-row.cjs.map +1 -1
  91. package/dist/components/metering-row.d.cts +3 -3
  92. package/dist/components/metering-row.d.ts +3 -3
  93. package/dist/components/metering-row.js +3 -3
  94. package/dist/components/metering-row.js.map +1 -1
  95. package/dist/components/money-saved-block.cjs +2 -5
  96. package/dist/components/money-saved-block.cjs.map +1 -1
  97. package/dist/components/money-saved-block.js +2 -5
  98. package/dist/components/money-saved-block.js.map +1 -1
  99. package/dist/components/on-off-button.cjs +2 -5
  100. package/dist/components/on-off-button.cjs.map +1 -1
  101. package/dist/components/on-off-button.js +2 -5
  102. package/dist/components/on-off-button.js.map +1 -1
  103. package/dist/components/page-header.cjs +2 -2
  104. package/dist/components/page-header.cjs.map +1 -1
  105. package/dist/components/page-header.d.cts +1 -1
  106. package/dist/components/page-header.d.ts +1 -1
  107. package/dist/components/page-header.js +2 -2
  108. package/dist/components/page-header.js.map +1 -1
  109. package/dist/components/period-tabs.cjs +3 -6
  110. package/dist/components/period-tabs.cjs.map +1 -1
  111. package/dist/components/period-tabs.js +3 -6
  112. package/dist/components/period-tabs.js.map +1 -1
  113. package/dist/components/pill.cjs +2 -5
  114. package/dist/components/pill.cjs.map +1 -1
  115. package/dist/components/pill.js +3 -6
  116. package/dist/components/pill.js.map +1 -1
  117. package/dist/components/power-history-chart.cjs +1 -1
  118. package/dist/components/power-history-chart.js +2 -2
  119. package/dist/components/power-history.cjs +1 -1
  120. package/dist/components/power-history.js +1 -1
  121. package/dist/components/power-network.cjs +3 -6
  122. package/dist/components/power-network.cjs.map +1 -1
  123. package/dist/components/power-network.js +4 -7
  124. package/dist/components/power-network.js.map +1 -1
  125. package/dist/components/radio.js +1 -1
  126. package/dist/components/sankey-chart.cjs +56 -71
  127. package/dist/components/sankey-chart.cjs.map +1 -1
  128. package/dist/components/sankey-chart.js +56 -71
  129. package/dist/components/sankey-chart.js.map +1 -1
  130. package/dist/components/schedule-list.cjs +3 -9
  131. package/dist/components/schedule-list.cjs.map +1 -1
  132. package/dist/components/schedule-list.js +3 -9
  133. package/dist/components/schedule-list.js.map +1 -1
  134. package/dist/components/select.cjs +6 -18
  135. package/dist/components/select.cjs.map +1 -1
  136. package/dist/components/select.js +6 -18
  137. package/dist/components/select.js.map +1 -1
  138. package/dist/components/sheet.cjs +2 -5
  139. package/dist/components/sheet.cjs.map +1 -1
  140. package/dist/components/sheet.js +2 -5
  141. package/dist/components/sheet.js.map +1 -1
  142. package/dist/components/slider.cjs +9 -3
  143. package/dist/components/slider.cjs.map +1 -1
  144. package/dist/components/slider.js +9 -3
  145. package/dist/components/slider.js.map +1 -1
  146. package/dist/components/smart-toggle-button.cjs +2 -5
  147. package/dist/components/smart-toggle-button.cjs.map +1 -1
  148. package/dist/components/smart-toggle-button.js +2 -5
  149. package/dist/components/smart-toggle-button.js.map +1 -1
  150. package/dist/components/solar-forecast-chart.cjs +8 -9
  151. package/dist/components/solar-forecast-chart.cjs.map +1 -1
  152. package/dist/components/solar-forecast-chart.d.cts +2 -2
  153. package/dist/components/solar-forecast-chart.d.ts +2 -2
  154. package/dist/components/solar-forecast-chart.js +8 -9
  155. package/dist/components/solar-forecast-chart.js.map +1 -1
  156. package/dist/components/stepper.cjs +3 -9
  157. package/dist/components/stepper.cjs.map +1 -1
  158. package/dist/components/stepper.js +3 -9
  159. package/dist/components/stepper.js.map +1 -1
  160. package/dist/components/switch.js +1 -1
  161. package/dist/components/tabs.cjs +2 -2
  162. package/dist/components/tabs.cjs.map +1 -1
  163. package/dist/components/tabs.js +2 -2
  164. package/dist/components/tabs.js.map +1 -1
  165. package/dist/components/textarea.cjs +1 -1
  166. package/dist/components/textarea.js +1 -1
  167. package/dist/components/theme.js +1 -1
  168. package/dist/components/toast.cjs +9 -12
  169. package/dist/components/toast.cjs.map +1 -1
  170. package/dist/components/toast.js +9 -12
  171. package/dist/components/toast.js.map +1 -1
  172. package/dist/components/tooltip.cjs +2 -5
  173. package/dist/components/tooltip.cjs.map +1 -1
  174. package/dist/components/tooltip.js +2 -5
  175. package/dist/components/tooltip.js.map +1 -1
  176. package/dist/styles/index.css +0 -2
  177. package/package.json +3 -10
  178. package/dist/icons/index.cjs +0 -7
  179. package/dist/icons/index.d.cts +0 -4
  180. package/dist/icons/index.d.ts +0 -4
  181. package/dist/icons/index.js +0 -3
  182. package/dist/icons/material-symbol.cjs +0 -106
  183. package/dist/icons/material-symbol.cjs.map +0 -1
  184. package/dist/icons/material-symbol.d.cts +0 -21
  185. package/dist/icons/material-symbol.d.ts +0 -21
  186. package/dist/icons/material-symbol.js +0 -102
  187. package/dist/icons/material-symbol.js.map +0 -1
  188. package/dist/styles/material-symbol.css +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.cjs","names":["TooltipPrimitive","MaterialSymbol"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\nimport * as React from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\nimport { cn } from '../utils/cn'\n\nconst TooltipProvider = ({\n delay = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) => {\n return <TooltipPrimitive.Provider delay={delay} {...props} />\n}\n\nconst TooltipPortal = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Portal>) => {\n return <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n}\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nconst Tooltip = ({ ...props }: TooltipProps) => {\n return <TooltipPrimitive.Root {...props} />\n}\n\nconst TooltipTrigger = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) => {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\ntype TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Popup> &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n > & {\n hideArrow?: boolean\n variant?: 'default' | 'destructive'\n }\n\nconst TooltipContent = ({\n className,\n hideArrow = false,\n variant = 'default',\n children,\n align,\n alignOffset,\n side,\n sideOffset = 4,\n ...props\n}: TooltipContentProps) => {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className=\"isolate z-50\"\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n data-variant={variant}\n className={cn(\n 'z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none transition-[opacity,scale,translate] duration-150',\n // enter: fade + zoom + a slight per-side slide (was animate-in)\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1',\n // exit: instant (was data-[state=closed]:duration-0)\n 'data-ending-style:opacity-0 data-ending-style:duration-0',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1',\n 'data-[variant=destructive]:bg-red-12 data-[variant=destructive]:text-red-1',\n className,\n )}\n {...props}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow\n data-variant={variant}\n className={cn(\n 'z-50',\n // svg tip points up; rotate per side, overlap 2px for a seamless join\n 'data-[side=bottom]:top-[-8px]',\n 'data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180',\n 'data-[side=left]:right-[-13px] data-[side=left]:rotate-90',\n 'data-[side=right]:left-[-13px] data-[side=right]:-rotate-90',\n 'data-[variant=default]:text-gray-12',\n 'data-[variant=destructive]:text-red-12',\n )}\n >\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 20 10\" width=\"20\">\n <path\n d=\"M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V10H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z\"\n fill=\"currentColor\"\n />\n </svg>\n </TooltipPrimitive.Arrow>\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\ninterface InfoTooltipProps {\n content: string\n label: string\n 'aria-label'?: string\n}\n\nconst InfoTooltip = ({\n content,\n label,\n 'aria-label': ariaLabel,\n}: InfoTooltipProps) => {\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-label={ariaLabel ?? label}\n className=\"focus-visible:ring-primary inline-flex size-6 min-h-[24px] min-w-[24px] shrink-0 cursor-help items-center justify-center rounded-full p-0 text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n />\n }\n >\n <MaterialSymbol className=\"text-sm!\" name=\"info\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs whitespace-pre-line\">\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipPortal,\n InfoTooltip,\n}\n"],"mappings":";;;;;;;;;;AAKA,MAAM,mBAAmB,EACvB,QAAQ,GACR,GAAG,YACyD;CAC5D,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,UAAlB;EAAkC;EAAO,GAAI;CAAQ,CAAA;AAC9D;AAEA,MAAM,iBAAiB,EACrB,GAAG,YACuD;CAC1D,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAIA,MAAM,WAAW,EAAE,GAAG,YAA0B;CAC9C,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,MAAlB,EAAuB,GAAI,MAAQ,CAAA;AAC5C;AAEA,MAAM,kBAAkB,EACtB,GAAG,YACwD;CAC3D,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;CAAQ,CAAA;AAC3E;AAWA,MAAM,kBAAkB,EACtB,WACA,YAAY,OACZ,UAAU,WACV,UACA,OACA,aACA,MACA,aAAa,GACb,GAAG,YACsB;CACzB,OACE,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,QAAlB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,YAAlB;EACS;EACM;EACb,WAAU;EACJ;EACM;YAEZ,iBAAA,GAAA,kBAAA,MAACA,uBAAAA,QAAiB,OAAlB;GACE,aAAU;GACV,gBAAc;GACd,YAAA,GAAA,OAAA,IACE,gIAEA,8DACA,mNAEA,4DACA,wEACA,8EACA,SACF;GACA,GAAI;aAdN,CAgBG,UACA,CAAC,aACA,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,OAAlB;IACE,gBAAc;IACd,YAAA,GAAA,OAAA,IACE,QAEA,iCACA,4DACA,6DACA,+DACA,uCACA,wCACF;cAEA,iBAAA,GAAA,kBAAA,KAAC,OAAD;KAAK,MAAK;KAAO,QAAO;KAAK,SAAQ;KAAY,OAAM;eACrD,iBAAA,GAAA,kBAAA,KAAC,QAAD;MACE,GAAE;MACF,MAAK;KACN,CAAA;IACE,CAAA;GACiB,CAAA,CAEJ;;CACG,CAAA,EACN,CAAA;AAE7B;AAQA,MAAM,eAAe,EACnB,SACA,OACA,cAAc,gBACQ;CACtB,OACE,iBAAA,GAAA,kBAAA,MAAC,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EACE,QACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;GACE,cAAY,aAAa;GACzB,WAAU;GACV,MAAK;EACN,CAAA;YAGH,iBAAA,GAAA,kBAAA,KAACC,8BAAAA,gBAAD;GAAgB,WAAU;GAAW,MAAK;EAAQ,CAAA;CACpC,CAAA,GAChB,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EAAgB,WAAU;YACvB;CACa,CAAA,CACT,EAAA,CAAA;AAEb"}
1
+ {"version":3,"file":"tooltip.cjs","names":["TooltipPrimitive","Info"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\nimport { Info } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\n\nconst TooltipProvider = ({\n delay = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) => {\n return <TooltipPrimitive.Provider delay={delay} {...props} />\n}\n\nconst TooltipPortal = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Portal>) => {\n return <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n}\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nconst Tooltip = ({ ...props }: TooltipProps) => {\n return <TooltipPrimitive.Root {...props} />\n}\n\nconst TooltipTrigger = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) => {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\ntype TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Popup> &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n > & {\n hideArrow?: boolean\n variant?: 'default' | 'destructive'\n }\n\nconst TooltipContent = ({\n className,\n hideArrow = false,\n variant = 'default',\n children,\n align,\n alignOffset,\n side,\n sideOffset = 4,\n ...props\n}: TooltipContentProps) => {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className=\"isolate z-50\"\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n data-variant={variant}\n className={cn(\n 'z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none transition-[opacity,scale,translate] duration-150',\n // enter: fade + zoom + a slight per-side slide (was animate-in)\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1',\n // exit: instant (was data-[state=closed]:duration-0)\n 'data-ending-style:opacity-0 data-ending-style:duration-0',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1',\n 'data-[variant=destructive]:bg-red-12 data-[variant=destructive]:text-red-1',\n className,\n )}\n {...props}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow\n data-variant={variant}\n className={cn(\n 'z-50',\n // svg tip points up; rotate per side, overlap 2px for a seamless join\n 'data-[side=bottom]:top-[-8px]',\n 'data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180',\n 'data-[side=left]:right-[-13px] data-[side=left]:rotate-90',\n 'data-[side=right]:left-[-13px] data-[side=right]:-rotate-90',\n 'data-[variant=default]:text-gray-12',\n 'data-[variant=destructive]:text-red-12',\n )}\n >\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 20 10\" width=\"20\">\n <path\n d=\"M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V10H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z\"\n fill=\"currentColor\"\n />\n </svg>\n </TooltipPrimitive.Arrow>\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\ninterface InfoTooltipProps {\n content: string\n label: string\n 'aria-label'?: string\n}\n\nconst InfoTooltip = ({\n content,\n label,\n 'aria-label': ariaLabel,\n}: InfoTooltipProps) => {\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-label={ariaLabel ?? label}\n className=\"focus-visible:ring-primary inline-flex size-6 min-h-[24px] min-w-[24px] shrink-0 cursor-help items-center justify-center rounded-full p-0 text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n />\n }\n >\n <Info className=\"text-sm!\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs whitespace-pre-line\">\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipPortal,\n InfoTooltip,\n}\n"],"mappings":";;;;;;;;;;AAKA,MAAM,mBAAmB,EACvB,QAAQ,GACR,GAAG,YACyD;CAC5D,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,UAAlB;EAAkC;EAAO,GAAI;CAAQ,CAAA;AAC9D;AAEA,MAAM,iBAAiB,EACrB,GAAG,YACuD;CAC1D,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAIA,MAAM,WAAW,EAAE,GAAG,YAA0B;CAC9C,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,MAAlB,EAAuB,GAAI,MAAQ,CAAA;AAC5C;AAEA,MAAM,kBAAkB,EACtB,GAAG,YACwD;CAC3D,OAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;CAAQ,CAAA;AAC3E;AAWA,MAAM,kBAAkB,EACtB,WACA,YAAY,OACZ,UAAU,WACV,UACA,OACA,aACA,MACA,aAAa,GACb,GAAG,YACsB;CACzB,OACE,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,QAAlB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,YAAlB;EACS;EACM;EACb,WAAU;EACJ;EACM;YAEZ,iBAAA,GAAA,kBAAA,MAACA,uBAAAA,QAAiB,OAAlB;GACE,aAAU;GACV,gBAAc;GACd,YAAA,GAAA,OAAA,IACE,gIAEA,8DACA,mNAEA,4DACA,wEACA,8EACA,SACF;GACA,GAAI;aAdN,CAgBG,UACA,CAAC,aACA,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,OAAlB;IACE,gBAAc;IACd,YAAA,GAAA,OAAA,IACE,QAEA,iCACA,4DACA,6DACA,+DACA,uCACA,wCACF;cAEA,iBAAA,GAAA,kBAAA,KAAC,OAAD;KAAK,MAAK;KAAO,QAAO;KAAK,SAAQ;KAAY,OAAM;eACrD,iBAAA,GAAA,kBAAA,KAAC,QAAD;MACE,GAAE;MACF,MAAK;KACN,CAAA;IACE,CAAA;GACiB,CAAA,CAEJ;;CACG,CAAA,EACN,CAAA;AAE7B;AAQA,MAAM,eAAe,EACnB,SACA,OACA,cAAc,gBACQ;CACtB,OACE,iBAAA,GAAA,kBAAA,MAAC,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EACE,QACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;GACE,cAAY,aAAa;GACzB,WAAU;GACV,MAAK;EACN,CAAA;YAGH,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,MAAD,EAAM,WAAU,WAAY,CAAA;CACd,CAAA,GAChB,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EAAgB,WAAU;YACvB;CACa,CAAA,CACT,EAAA,CAAA;AAEb"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../utils/cn.js";
3
- import { MaterialSymbol } from "../icons/material-symbol.js";
4
3
  import "react";
4
+ import { Info } from "@epilot/spark-icons";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
7
7
  //#region src/components/tooltip.tsx
@@ -62,10 +62,7 @@ const InfoTooltip = ({ content, label, "aria-label": ariaLabel }) => {
62
62
  className: "focus-visible:ring-primary inline-flex size-6 min-h-[24px] min-w-[24px] shrink-0 cursor-help items-center justify-center rounded-full p-0 text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none",
63
63
  type: "button"
64
64
  }),
65
- children: /* @__PURE__ */ jsx(MaterialSymbol, {
66
- className: "text-sm!",
67
- name: "info"
68
- })
65
+ children: /* @__PURE__ */ jsx(Info, { className: "text-sm!" })
69
66
  }), /* @__PURE__ */ jsx(TooltipContent, {
70
67
  className: "max-w-xs whitespace-pre-line",
71
68
  children: content
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":["TooltipPrimitive"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\nimport * as React from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\nimport { cn } from '../utils/cn'\n\nconst TooltipProvider = ({\n delay = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) => {\n return <TooltipPrimitive.Provider delay={delay} {...props} />\n}\n\nconst TooltipPortal = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Portal>) => {\n return <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n}\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nconst Tooltip = ({ ...props }: TooltipProps) => {\n return <TooltipPrimitive.Root {...props} />\n}\n\nconst TooltipTrigger = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) => {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\ntype TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Popup> &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n > & {\n hideArrow?: boolean\n variant?: 'default' | 'destructive'\n }\n\nconst TooltipContent = ({\n className,\n hideArrow = false,\n variant = 'default',\n children,\n align,\n alignOffset,\n side,\n sideOffset = 4,\n ...props\n}: TooltipContentProps) => {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className=\"isolate z-50\"\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n data-variant={variant}\n className={cn(\n 'z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none transition-[opacity,scale,translate] duration-150',\n // enter: fade + zoom + a slight per-side slide (was animate-in)\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1',\n // exit: instant (was data-[state=closed]:duration-0)\n 'data-ending-style:opacity-0 data-ending-style:duration-0',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1',\n 'data-[variant=destructive]:bg-red-12 data-[variant=destructive]:text-red-1',\n className,\n )}\n {...props}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow\n data-variant={variant}\n className={cn(\n 'z-50',\n // svg tip points up; rotate per side, overlap 2px for a seamless join\n 'data-[side=bottom]:top-[-8px]',\n 'data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180',\n 'data-[side=left]:right-[-13px] data-[side=left]:rotate-90',\n 'data-[side=right]:left-[-13px] data-[side=right]:-rotate-90',\n 'data-[variant=default]:text-gray-12',\n 'data-[variant=destructive]:text-red-12',\n )}\n >\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 20 10\" width=\"20\">\n <path\n d=\"M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V10H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z\"\n fill=\"currentColor\"\n />\n </svg>\n </TooltipPrimitive.Arrow>\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\ninterface InfoTooltipProps {\n content: string\n label: string\n 'aria-label'?: string\n}\n\nconst InfoTooltip = ({\n content,\n label,\n 'aria-label': ariaLabel,\n}: InfoTooltipProps) => {\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-label={ariaLabel ?? label}\n className=\"focus-visible:ring-primary inline-flex size-6 min-h-[24px] min-w-[24px] shrink-0 cursor-help items-center justify-center rounded-full p-0 text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n />\n }\n >\n <MaterialSymbol className=\"text-sm!\" name=\"info\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs whitespace-pre-line\">\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipPortal,\n InfoTooltip,\n}\n"],"mappings":";;;;;;;AAKA,MAAM,mBAAmB,EACvB,QAAQ,GACR,GAAG,YACyD;CAC5D,OAAO,oBAACA,UAAiB,UAAlB;EAAkC;EAAO,GAAI;CAAQ,CAAA;AAC9D;AAEA,MAAM,iBAAiB,EACrB,GAAG,YACuD;CAC1D,OAAO,oBAACA,UAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAIA,MAAM,WAAW,EAAE,GAAG,YAA0B;CAC9C,OAAO,oBAACA,UAAiB,MAAlB,EAAuB,GAAI,MAAQ,CAAA;AAC5C;AAEA,MAAM,kBAAkB,EACtB,GAAG,YACwD;CAC3D,OAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;CAAQ,CAAA;AAC3E;AAWA,MAAM,kBAAkB,EACtB,WACA,YAAY,OACZ,UAAU,WACV,UACA,OACA,aACA,MACA,aAAa,GACb,GAAG,YACsB;CACzB,OACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,oBAACA,UAAiB,YAAlB;EACS;EACM;EACb,WAAU;EACJ;EACM;YAEZ,qBAACA,UAAiB,OAAlB;GACE,aAAU;GACV,gBAAc;GACd,WAAW,GACT,gIAEA,8DACA,mNAEA,4DACA,wEACA,8EACA,SACF;GACA,GAAI;aAdN,CAgBG,UACA,CAAC,aACA,oBAACA,UAAiB,OAAlB;IACE,gBAAc;IACd,WAAW,GACT,QAEA,iCACA,4DACA,6DACA,+DACA,uCACA,wCACF;cAEA,oBAAC,OAAD;KAAK,MAAK;KAAO,QAAO;KAAK,SAAQ;KAAY,OAAM;eACrD,oBAAC,QAAD;MACE,GAAE;MACF,MAAK;KACN,CAAA;IACE,CAAA;GACiB,CAAA,CAEJ;;CACG,CAAA,EACN,CAAA;AAE7B;AAQA,MAAM,eAAe,EACnB,SACA,OACA,cAAc,gBACQ;CACtB,OACE,qBAAC,SAAD,EAAA,UAAA,CACE,oBAAC,gBAAD;EACE,QACE,oBAAC,UAAD;GACE,cAAY,aAAa;GACzB,WAAU;GACV,MAAK;EACN,CAAA;YAGH,oBAAC,gBAAD;GAAgB,WAAU;GAAW,MAAK;EAAQ,CAAA;CACpC,CAAA,GAChB,oBAAC,gBAAD;EAAgB,WAAU;YACvB;CACa,CAAA,CACT,EAAA,CAAA;AAEb"}
1
+ {"version":3,"file":"tooltip.js","names":["TooltipPrimitive"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\nimport { Info } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\n\nconst TooltipProvider = ({\n delay = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) => {\n return <TooltipPrimitive.Provider delay={delay} {...props} />\n}\n\nconst TooltipPortal = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Portal>) => {\n return <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n}\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nconst Tooltip = ({ ...props }: TooltipProps) => {\n return <TooltipPrimitive.Root {...props} />\n}\n\nconst TooltipTrigger = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) => {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\ntype TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Popup> &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n > & {\n hideArrow?: boolean\n variant?: 'default' | 'destructive'\n }\n\nconst TooltipContent = ({\n className,\n hideArrow = false,\n variant = 'default',\n children,\n align,\n alignOffset,\n side,\n sideOffset = 4,\n ...props\n}: TooltipContentProps) => {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className=\"isolate z-50\"\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n data-variant={variant}\n className={cn(\n 'z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none transition-[opacity,scale,translate] duration-150',\n // enter: fade + zoom + a slight per-side slide (was animate-in)\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1',\n // exit: instant (was data-[state=closed]:duration-0)\n 'data-ending-style:opacity-0 data-ending-style:duration-0',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1',\n 'data-[variant=destructive]:bg-red-12 data-[variant=destructive]:text-red-1',\n className,\n )}\n {...props}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow\n data-variant={variant}\n className={cn(\n 'z-50',\n // svg tip points up; rotate per side, overlap 2px for a seamless join\n 'data-[side=bottom]:top-[-8px]',\n 'data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180',\n 'data-[side=left]:right-[-13px] data-[side=left]:rotate-90',\n 'data-[side=right]:left-[-13px] data-[side=right]:-rotate-90',\n 'data-[variant=default]:text-gray-12',\n 'data-[variant=destructive]:text-red-12',\n )}\n >\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 20 10\" width=\"20\">\n <path\n d=\"M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V10H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z\"\n fill=\"currentColor\"\n />\n </svg>\n </TooltipPrimitive.Arrow>\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\ninterface InfoTooltipProps {\n content: string\n label: string\n 'aria-label'?: string\n}\n\nconst InfoTooltip = ({\n content,\n label,\n 'aria-label': ariaLabel,\n}: InfoTooltipProps) => {\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-label={ariaLabel ?? label}\n className=\"focus-visible:ring-primary inline-flex size-6 min-h-[24px] min-w-[24px] shrink-0 cursor-help items-center justify-center rounded-full p-0 text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n />\n }\n >\n <Info className=\"text-sm!\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs whitespace-pre-line\">\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipPortal,\n InfoTooltip,\n}\n"],"mappings":";;;;;;;AAKA,MAAM,mBAAmB,EACvB,QAAQ,GACR,GAAG,YACyD;CAC5D,OAAO,oBAACA,UAAiB,UAAlB;EAAkC;EAAO,GAAI;CAAQ,CAAA;AAC9D;AAEA,MAAM,iBAAiB,EACrB,GAAG,YACuD;CAC1D,OAAO,oBAACA,UAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAIA,MAAM,WAAW,EAAE,GAAG,YAA0B;CAC9C,OAAO,oBAACA,UAAiB,MAAlB,EAAuB,GAAI,MAAQ,CAAA;AAC5C;AAEA,MAAM,kBAAkB,EACtB,GAAG,YACwD;CAC3D,OAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;CAAQ,CAAA;AAC3E;AAWA,MAAM,kBAAkB,EACtB,WACA,YAAY,OACZ,UAAU,WACV,UACA,OACA,aACA,MACA,aAAa,GACb,GAAG,YACsB;CACzB,OACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,oBAACA,UAAiB,YAAlB;EACS;EACM;EACb,WAAU;EACJ;EACM;YAEZ,qBAACA,UAAiB,OAAlB;GACE,aAAU;GACV,gBAAc;GACd,WAAW,GACT,gIAEA,8DACA,mNAEA,4DACA,wEACA,8EACA,SACF;GACA,GAAI;aAdN,CAgBG,UACA,CAAC,aACA,oBAACA,UAAiB,OAAlB;IACE,gBAAc;IACd,WAAW,GACT,QAEA,iCACA,4DACA,6DACA,+DACA,uCACA,wCACF;cAEA,oBAAC,OAAD;KAAK,MAAK;KAAO,QAAO;KAAK,SAAQ;KAAY,OAAM;eACrD,oBAAC,QAAD;MACE,GAAE;MACF,MAAK;KACN,CAAA;IACE,CAAA;GACiB,CAAA,CAEJ;;CACG,CAAA,EACN,CAAA;AAE7B;AAQA,MAAM,eAAe,EACnB,SACA,OACA,cAAc,gBACQ;CACtB,OACE,qBAAC,SAAD,EAAA,UAAA,CACE,oBAAC,gBAAD;EACE,QACE,oBAAC,UAAD;GACE,cAAY,aAAa;GACzB,WAAU;GACV,MAAK;EACN,CAAA;YAGH,oBAAC,MAAD,EAAM,WAAU,WAAY,CAAA;CACd,CAAA,GAChB,oBAAC,gBAAD;EAAgB,WAAU;YACvB;CACa,CAAA,CACT,EAAA,CAAA;AAEb"}
@@ -77,8 +77,6 @@
77
77
  /* Default Spark brand scale */
78
78
  @import './spark-default.css' layer(base);
79
79
 
80
- @import './material-symbol.css' layer(base);
81
-
82
80
  /* Tailwind v4 theme: scales, semantic tokens, dark variant, safelist */
83
81
  @import './theme.css';
84
82
  @import './utilities.css';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/spark-ui",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "React UI component library from Spark SDK",
5
5
  "homepage": "https://spark-ui.epilot.io/docs/ui",
6
6
  "license": "Apache-2.0",
@@ -31,14 +31,6 @@
31
31
  "types": "./dist/hooks/*.d.ts",
32
32
  "default": "./dist/hooks/*.js"
33
33
  },
34
- "./icons": {
35
- "types": "./dist/icons/index.d.ts",
36
- "default": "./dist/icons/index.js"
37
- },
38
- "./icons/*": {
39
- "types": "./dist/icons/*.d.ts",
40
- "default": "./dist/icons/*.js"
41
- },
42
34
  "./lib/*": {
43
35
  "types": "./dist/lib/*.d.ts",
44
36
  "default": "./dist/lib/*.js"
@@ -73,7 +65,8 @@
73
65
  "class-variance-authority": "^0.7.1",
74
66
  "cnfast": "^0.0.8",
75
67
  "colorjs.io": "^0.5.2",
76
- "vaul": "^1.1.2"
68
+ "vaul": "^1.1.2",
69
+ "@epilot/spark-icons": "^0.0.2"
77
70
  },
78
71
  "devDependencies": {
79
72
  "@tailwindcss/postcss": "^4.2.4",
@@ -1,7 +0,0 @@
1
- "use client";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_icons_material_symbol = require("./material-symbol.cjs");
4
- exports.MaterialSymbol = require_icons_material_symbol.MaterialSymbol;
5
- exports.materialSymbolIconNames = require_icons_material_symbol.materialSymbolIconNames;
6
- exports.materialSymbolIconNamesString = require_icons_material_symbol.materialSymbolIconNamesString;
7
- exports.materialSymbolIconNamesURL = require_icons_material_symbol.materialSymbolIconNamesURL;
@@ -1,4 +0,0 @@
1
- "use client";
2
-
3
- import { MaterialSymbol, MaterialSymbolIconName, MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL } from "./material-symbol.cjs";
4
- export { MaterialSymbol, type MaterialSymbolIconName, type MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
@@ -1,4 +0,0 @@
1
- "use client";
2
-
3
- import { MaterialSymbol, MaterialSymbolIconName, MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL } from "./material-symbol.js";
4
- export { MaterialSymbol, type MaterialSymbolIconName, type MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
@@ -1,3 +0,0 @@
1
- "use client";
2
- import { MaterialSymbol, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL } from "./material-symbol.js";
3
- export { MaterialSymbol, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
@@ -1,106 +0,0 @@
1
- "use client";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- let react_jsx_runtime = require("react/jsx-runtime");
4
- let cnfast = require("cnfast");
5
- //#region src/icons/material-symbol.tsx
6
- const materialSymbolIconNames = [
7
- "access_time",
8
- "add",
9
- "alarm",
10
- "arrow_downward",
11
- "arrow_upward",
12
- "auto_awesome",
13
- "bar_chart",
14
- "battery_0_bar",
15
- "battery_1_bar",
16
- "battery_2_bar",
17
- "battery_3_bar",
18
- "battery_4_bar",
19
- "battery_5_bar",
20
- "battery_6_bar",
21
- "battery_charging_20",
22
- "battery_charging_30",
23
- "battery_charging_50",
24
- "battery_charging_60",
25
- "battery_charging_80",
26
- "battery_charging_90",
27
- "battery_charging_full",
28
- "battery_full",
29
- "bolt",
30
- "calendar_month",
31
- "cancel",
32
- "check",
33
- "check_circle",
34
- "chevron_left",
35
- "chevron_right",
36
- "circle",
37
- "close",
38
- "close_fullscreen",
39
- "content_copy",
40
- "dashboard_2",
41
- "delete",
42
- "dishwasher",
43
- "drag_indicator",
44
- "edit",
45
- "edit_square",
46
- "electric_bolt",
47
- "electric_car",
48
- "electrical_services",
49
- "ev_station",
50
- "expand_more",
51
- "heat_pump",
52
- "home",
53
- "info",
54
- "laundry",
55
- "layers",
56
- "local_fire_department",
57
- "more_vert",
58
- "open_in_full",
59
- "open_in_new",
60
- "payments",
61
- "pending",
62
- "photo_camera",
63
- "power",
64
- "search",
65
- "power_settings_new",
66
- "price_change",
67
- "recycling",
68
- "refresh",
69
- "schedule",
70
- "settings",
71
- "solar_power",
72
- "speed",
73
- "sunny",
74
- "partly_cloudy_day",
75
- "cloudy",
76
- "rainy",
77
- "weather_snowy",
78
- "swap_vert",
79
- "thermostat",
80
- "toggle_on",
81
- "track_changes",
82
- "trending_down",
83
- "trending_up",
84
- "tune",
85
- "warning",
86
- "wifi_off"
87
- ];
88
- const materialSymbolIconNamesString = [...materialSymbolIconNames].sort().join(",");
89
- const materialSymbolIconNamesURL = `https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=${materialSymbolIconNamesString}&display=block`;
90
- const MaterialSymbol = ({ name, className }) => {
91
- if (!materialSymbolIconNames.includes(name)) console.warn(`[MaterialSymbol] "${name}" isn't a recognized icon name — it will render as literal text, not an icon. See materialSymbolIconNames from '@epilot/spark-ui/icons' for the full set.`);
92
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
93
- "aria-hidden": "true",
94
- className: (0, cnfast.cn)("material-symbols-rounded inline-block size-[1em] shrink-0 overflow-hidden text-(length:--spark-icon-size,20px)! leading-none select-none", className),
95
- translate: "no",
96
- children: name
97
- });
98
- };
99
- MaterialSymbol.displayName = "MaterialSymbol";
100
- //#endregion
101
- exports.MaterialSymbol = MaterialSymbol;
102
- exports.materialSymbolIconNames = materialSymbolIconNames;
103
- exports.materialSymbolIconNamesString = materialSymbolIconNamesString;
104
- exports.materialSymbolIconNamesURL = materialSymbolIconNamesURL;
105
-
106
- //# sourceMappingURL=material-symbol.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"material-symbol.cjs","names":[],"sources":["../../src/icons/material-symbol.tsx"],"sourcesContent":["import { cn } from '../utils/cn'\n\nexport const materialSymbolIconNames = [\n 'access_time',\n 'add',\n 'alarm',\n 'arrow_downward',\n 'arrow_upward',\n 'auto_awesome',\n 'bar_chart',\n 'battery_0_bar',\n 'battery_1_bar',\n 'battery_2_bar',\n 'battery_3_bar',\n 'battery_4_bar',\n 'battery_5_bar',\n 'battery_6_bar',\n 'battery_charging_20',\n 'battery_charging_30',\n 'battery_charging_50',\n 'battery_charging_60',\n 'battery_charging_80',\n 'battery_charging_90',\n 'battery_charging_full',\n 'battery_full',\n 'bolt',\n 'calendar_month',\n 'cancel',\n 'check',\n 'check_circle',\n 'chevron_left',\n 'chevron_right',\n 'circle',\n 'close',\n 'close_fullscreen',\n 'content_copy',\n 'dashboard_2',\n 'delete',\n 'dishwasher',\n 'drag_indicator',\n 'edit',\n 'edit_square',\n 'electric_bolt',\n 'electric_car',\n 'electrical_services',\n 'ev_station',\n 'expand_more',\n 'heat_pump',\n 'home',\n 'info',\n 'laundry',\n 'layers',\n 'local_fire_department',\n 'more_vert',\n 'open_in_full',\n 'open_in_new',\n 'payments',\n 'pending',\n 'photo_camera',\n 'power',\n 'search',\n 'power_settings_new',\n 'price_change',\n 'recycling',\n 'refresh',\n 'schedule',\n 'settings',\n 'solar_power',\n 'speed',\n 'sunny',\n 'partly_cloudy_day',\n 'cloudy',\n 'rainy',\n 'weather_snowy',\n 'swap_vert',\n 'thermostat',\n 'toggle_on',\n 'track_changes',\n 'trending_down',\n 'trending_up',\n 'tune',\n 'warning',\n 'wifi_off',\n] as const\n\nexport const materialSymbolIconNamesString = [...materialSymbolIconNames]\n .sort()\n .join(',')\nexport const materialSymbolIconNamesURL = `https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=${materialSymbolIconNamesString}&display=block`\n\nexport type MaterialSymbolIconName = (typeof materialSymbolIconNames)[number]\n\nexport type MaterialSymbolProps = {\n name: MaterialSymbolIconName\n className?: string\n}\n\nconst MaterialSymbol = ({ name, className }: MaterialSymbolProps) => {\n if (!materialSymbolIconNames.includes(name)) {\n console.warn(\n `[MaterialSymbol] \"${name}\" isn't a recognized icon name — it will render as literal text, not an icon. See materialSymbolIconNames from '@epilot/spark-ui/icons' for the full set.`,\n )\n }\n\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n // !important: the Google Fonts stylesheet is unlayered (24px) and beats every layered\n // utility — default size is --spark-icon-size. size-[1em] keeps the box tied to the\n // effective font-size so text-[Npx]! overrides don't leave a 20px box around a smaller glyph.\n 'material-symbols-rounded inline-block size-[1em] shrink-0 overflow-hidden text-(length:--spark-icon-size,20px)! leading-none select-none',\n className,\n )}\n translate=\"no\"\n >\n {name}\n </span>\n )\n}\nMaterialSymbol.displayName = 'MaterialSymbol'\n\nexport { MaterialSymbol }\n"],"mappings":";;;;;AAEA,MAAa,0BAA0B;CACrC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAa,gCAAgC,CAAC,GAAG,uBAAuB,EACrE,KAAK,EACL,KAAK,GAAG;AACX,MAAa,6BAA6B,+GAA+G,8BAA8B;AASvL,MAAM,kBAAkB,EAAE,MAAM,gBAAqC;CACnE,IAAI,CAAC,wBAAwB,SAAS,IAAI,GACxC,QAAQ,KACN,qBAAqB,KAAK,0JAC5B;CAGF,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,eAAY;EACZ,YAAA,GAAA,OAAA,IAIE,4IACA,SACF;EACA,WAAU;YAET;CACG,CAAA;AAEV;AACA,eAAe,cAAc"}
@@ -1,21 +0,0 @@
1
- "use client";
2
-
3
- //#region src/icons/material-symbol.d.ts
4
- declare const materialSymbolIconNames: readonly ["access_time", "add", "alarm", "arrow_downward", "arrow_upward", "auto_awesome", "bar_chart", "battery_0_bar", "battery_1_bar", "battery_2_bar", "battery_3_bar", "battery_4_bar", "battery_5_bar", "battery_6_bar", "battery_charging_20", "battery_charging_30", "battery_charging_50", "battery_charging_60", "battery_charging_80", "battery_charging_90", "battery_charging_full", "battery_full", "bolt", "calendar_month", "cancel", "check", "check_circle", "chevron_left", "chevron_right", "circle", "close", "close_fullscreen", "content_copy", "dashboard_2", "delete", "dishwasher", "drag_indicator", "edit", "edit_square", "electric_bolt", "electric_car", "electrical_services", "ev_station", "expand_more", "heat_pump", "home", "info", "laundry", "layers", "local_fire_department", "more_vert", "open_in_full", "open_in_new", "payments", "pending", "photo_camera", "power", "search", "power_settings_new", "price_change", "recycling", "refresh", "schedule", "settings", "solar_power", "speed", "sunny", "partly_cloudy_day", "cloudy", "rainy", "weather_snowy", "swap_vert", "thermostat", "toggle_on", "track_changes", "trending_down", "trending_up", "tune", "warning", "wifi_off"];
5
- declare const materialSymbolIconNamesString: string;
6
- declare const materialSymbolIconNamesURL: string;
7
- type MaterialSymbolIconName = (typeof materialSymbolIconNames)[number];
8
- type MaterialSymbolProps = {
9
- name: MaterialSymbolIconName;
10
- className?: string;
11
- };
12
- declare const MaterialSymbol: {
13
- ({
14
- name,
15
- className
16
- }: MaterialSymbolProps): import("react/jsx-runtime").JSX.Element;
17
- displayName: string;
18
- };
19
- //#endregion
20
- export { MaterialSymbol, MaterialSymbolIconName, MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
21
- //# sourceMappingURL=material-symbol.d.cts.map
@@ -1,21 +0,0 @@
1
- "use client";
2
-
3
- //#region src/icons/material-symbol.d.ts
4
- declare const materialSymbolIconNames: readonly ["access_time", "add", "alarm", "arrow_downward", "arrow_upward", "auto_awesome", "bar_chart", "battery_0_bar", "battery_1_bar", "battery_2_bar", "battery_3_bar", "battery_4_bar", "battery_5_bar", "battery_6_bar", "battery_charging_20", "battery_charging_30", "battery_charging_50", "battery_charging_60", "battery_charging_80", "battery_charging_90", "battery_charging_full", "battery_full", "bolt", "calendar_month", "cancel", "check", "check_circle", "chevron_left", "chevron_right", "circle", "close", "close_fullscreen", "content_copy", "dashboard_2", "delete", "dishwasher", "drag_indicator", "edit", "edit_square", "electric_bolt", "electric_car", "electrical_services", "ev_station", "expand_more", "heat_pump", "home", "info", "laundry", "layers", "local_fire_department", "more_vert", "open_in_full", "open_in_new", "payments", "pending", "photo_camera", "power", "search", "power_settings_new", "price_change", "recycling", "refresh", "schedule", "settings", "solar_power", "speed", "sunny", "partly_cloudy_day", "cloudy", "rainy", "weather_snowy", "swap_vert", "thermostat", "toggle_on", "track_changes", "trending_down", "trending_up", "tune", "warning", "wifi_off"];
5
- declare const materialSymbolIconNamesString: string;
6
- declare const materialSymbolIconNamesURL: string;
7
- type MaterialSymbolIconName = (typeof materialSymbolIconNames)[number];
8
- type MaterialSymbolProps = {
9
- name: MaterialSymbolIconName;
10
- className?: string;
11
- };
12
- declare const MaterialSymbol: {
13
- ({
14
- name,
15
- className
16
- }: MaterialSymbolProps): import("react/jsx-runtime").JSX.Element;
17
- displayName: string;
18
- };
19
- //#endregion
20
- export { MaterialSymbol, MaterialSymbolIconName, MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
21
- //# sourceMappingURL=material-symbol.d.ts.map
@@ -1,102 +0,0 @@
1
- "use client";
2
- import { cn } from "../utils/cn.js";
3
- import { jsx } from "react/jsx-runtime";
4
- //#region src/icons/material-symbol.tsx
5
- const materialSymbolIconNames = [
6
- "access_time",
7
- "add",
8
- "alarm",
9
- "arrow_downward",
10
- "arrow_upward",
11
- "auto_awesome",
12
- "bar_chart",
13
- "battery_0_bar",
14
- "battery_1_bar",
15
- "battery_2_bar",
16
- "battery_3_bar",
17
- "battery_4_bar",
18
- "battery_5_bar",
19
- "battery_6_bar",
20
- "battery_charging_20",
21
- "battery_charging_30",
22
- "battery_charging_50",
23
- "battery_charging_60",
24
- "battery_charging_80",
25
- "battery_charging_90",
26
- "battery_charging_full",
27
- "battery_full",
28
- "bolt",
29
- "calendar_month",
30
- "cancel",
31
- "check",
32
- "check_circle",
33
- "chevron_left",
34
- "chevron_right",
35
- "circle",
36
- "close",
37
- "close_fullscreen",
38
- "content_copy",
39
- "dashboard_2",
40
- "delete",
41
- "dishwasher",
42
- "drag_indicator",
43
- "edit",
44
- "edit_square",
45
- "electric_bolt",
46
- "electric_car",
47
- "electrical_services",
48
- "ev_station",
49
- "expand_more",
50
- "heat_pump",
51
- "home",
52
- "info",
53
- "laundry",
54
- "layers",
55
- "local_fire_department",
56
- "more_vert",
57
- "open_in_full",
58
- "open_in_new",
59
- "payments",
60
- "pending",
61
- "photo_camera",
62
- "power",
63
- "search",
64
- "power_settings_new",
65
- "price_change",
66
- "recycling",
67
- "refresh",
68
- "schedule",
69
- "settings",
70
- "solar_power",
71
- "speed",
72
- "sunny",
73
- "partly_cloudy_day",
74
- "cloudy",
75
- "rainy",
76
- "weather_snowy",
77
- "swap_vert",
78
- "thermostat",
79
- "toggle_on",
80
- "track_changes",
81
- "trending_down",
82
- "trending_up",
83
- "tune",
84
- "warning",
85
- "wifi_off"
86
- ];
87
- const materialSymbolIconNamesString = [...materialSymbolIconNames].sort().join(",");
88
- const materialSymbolIconNamesURL = `https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=${materialSymbolIconNamesString}&display=block`;
89
- const MaterialSymbol = ({ name, className }) => {
90
- if (!materialSymbolIconNames.includes(name)) console.warn(`[MaterialSymbol] "${name}" isn't a recognized icon name — it will render as literal text, not an icon. See materialSymbolIconNames from '@epilot/spark-ui/icons' for the full set.`);
91
- return /* @__PURE__ */ jsx("span", {
92
- "aria-hidden": "true",
93
- className: cn("material-symbols-rounded inline-block size-[1em] shrink-0 overflow-hidden text-(length:--spark-icon-size,20px)! leading-none select-none", className),
94
- translate: "no",
95
- children: name
96
- });
97
- };
98
- MaterialSymbol.displayName = "MaterialSymbol";
99
- //#endregion
100
- export { MaterialSymbol, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
101
-
102
- //# sourceMappingURL=material-symbol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"material-symbol.js","names":[],"sources":["../../src/icons/material-symbol.tsx"],"sourcesContent":["import { cn } from '../utils/cn'\n\nexport const materialSymbolIconNames = [\n 'access_time',\n 'add',\n 'alarm',\n 'arrow_downward',\n 'arrow_upward',\n 'auto_awesome',\n 'bar_chart',\n 'battery_0_bar',\n 'battery_1_bar',\n 'battery_2_bar',\n 'battery_3_bar',\n 'battery_4_bar',\n 'battery_5_bar',\n 'battery_6_bar',\n 'battery_charging_20',\n 'battery_charging_30',\n 'battery_charging_50',\n 'battery_charging_60',\n 'battery_charging_80',\n 'battery_charging_90',\n 'battery_charging_full',\n 'battery_full',\n 'bolt',\n 'calendar_month',\n 'cancel',\n 'check',\n 'check_circle',\n 'chevron_left',\n 'chevron_right',\n 'circle',\n 'close',\n 'close_fullscreen',\n 'content_copy',\n 'dashboard_2',\n 'delete',\n 'dishwasher',\n 'drag_indicator',\n 'edit',\n 'edit_square',\n 'electric_bolt',\n 'electric_car',\n 'electrical_services',\n 'ev_station',\n 'expand_more',\n 'heat_pump',\n 'home',\n 'info',\n 'laundry',\n 'layers',\n 'local_fire_department',\n 'more_vert',\n 'open_in_full',\n 'open_in_new',\n 'payments',\n 'pending',\n 'photo_camera',\n 'power',\n 'search',\n 'power_settings_new',\n 'price_change',\n 'recycling',\n 'refresh',\n 'schedule',\n 'settings',\n 'solar_power',\n 'speed',\n 'sunny',\n 'partly_cloudy_day',\n 'cloudy',\n 'rainy',\n 'weather_snowy',\n 'swap_vert',\n 'thermostat',\n 'toggle_on',\n 'track_changes',\n 'trending_down',\n 'trending_up',\n 'tune',\n 'warning',\n 'wifi_off',\n] as const\n\nexport const materialSymbolIconNamesString = [...materialSymbolIconNames]\n .sort()\n .join(',')\nexport const materialSymbolIconNamesURL = `https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=${materialSymbolIconNamesString}&display=block`\n\nexport type MaterialSymbolIconName = (typeof materialSymbolIconNames)[number]\n\nexport type MaterialSymbolProps = {\n name: MaterialSymbolIconName\n className?: string\n}\n\nconst MaterialSymbol = ({ name, className }: MaterialSymbolProps) => {\n if (!materialSymbolIconNames.includes(name)) {\n console.warn(\n `[MaterialSymbol] \"${name}\" isn't a recognized icon name — it will render as literal text, not an icon. See materialSymbolIconNames from '@epilot/spark-ui/icons' for the full set.`,\n )\n }\n\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n // !important: the Google Fonts stylesheet is unlayered (24px) and beats every layered\n // utility — default size is --spark-icon-size. size-[1em] keeps the box tied to the\n // effective font-size so text-[Npx]! overrides don't leave a 20px box around a smaller glyph.\n 'material-symbols-rounded inline-block size-[1em] shrink-0 overflow-hidden text-(length:--spark-icon-size,20px)! leading-none select-none',\n className,\n )}\n translate=\"no\"\n >\n {name}\n </span>\n )\n}\nMaterialSymbol.displayName = 'MaterialSymbol'\n\nexport { MaterialSymbol }\n"],"mappings":";;;;AAEA,MAAa,0BAA0B;CACrC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAa,gCAAgC,CAAC,GAAG,uBAAuB,EACrE,KAAK,EACL,KAAK,GAAG;AACX,MAAa,6BAA6B,+GAA+G,8BAA8B;AASvL,MAAM,kBAAkB,EAAE,MAAM,gBAAqC;CACnE,IAAI,CAAC,wBAAwB,SAAS,IAAI,GACxC,QAAQ,KACN,qBAAqB,KAAK,0JAC5B;CAGF,OACE,oBAAC,QAAD;EACE,eAAY;EACZ,WAAW,GAIT,4IACA,SACF;EACA,WAAU;YAET;CACG,CAAA;AAEV;AACA,eAAe,cAAc"}
@@ -1,25 +0,0 @@
1
- @layer base {
2
- .material-symbols-rounded {
3
- font-family: 'Material Symbols Rounded';
4
- font-weight: normal;
5
- font-style: normal;
6
- font-size: 1em;
7
- line-height: 1;
8
- letter-spacing: normal;
9
- text-transform: none;
10
- display: inline-block;
11
- white-space: nowrap;
12
- word-wrap: normal;
13
- direction: ltr;
14
- font-feature-settings: 'liga';
15
- -webkit-font-smoothing: antialiased;
16
- font-variation-settings:
17
- 'FILL' 0,
18
- 'wght' 400,
19
- 'GRAD' 0,
20
- 'opsz' 20;
21
- width: 1em;
22
- height: 1em;
23
- overflow: hidden;
24
- }
25
- }