@epilot/spark-ui 0.23.1 → 0.24.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 (82) hide show
  1. package/dist/components/accordion.cjs +2 -2
  2. package/dist/components/accordion.d.ts +1 -1
  3. package/dist/components/accordion.js +1 -1
  4. package/dist/components/alert-dialog.cjs +1 -1
  5. package/dist/components/alert-dialog.js +1 -1
  6. package/dist/components/autocomplete.cjs +2 -2
  7. package/dist/components/autocomplete.cjs.map +1 -1
  8. package/dist/components/autocomplete.js +2 -2
  9. package/dist/components/autocomplete.js.map +1 -1
  10. package/dist/components/bar-chart.js +1 -1
  11. package/dist/components/bubble.d.cts +1 -1
  12. package/dist/components/bubble.d.ts +1 -1
  13. package/dist/components/button.d.cts +3 -3
  14. package/dist/components/button.d.ts +3 -3
  15. package/dist/components/calendar.cjs +1 -1
  16. package/dist/components/calendar.js +1 -1
  17. package/dist/components/callout.cjs +1 -1
  18. package/dist/components/callout.d.cts +1 -1
  19. package/dist/components/callout.d.ts +2 -2
  20. package/dist/components/callout.js +1 -1
  21. package/dist/components/dialog.cjs +1 -1
  22. package/dist/components/dialog.js +1 -1
  23. package/dist/components/dropdown-menu.cjs +2 -2
  24. package/dist/components/dropdown-menu.cjs.map +1 -1
  25. package/dist/components/dropdown-menu.js +2 -2
  26. package/dist/components/dropdown-menu.js.map +1 -1
  27. package/dist/components/empty-state.d.ts +1 -1
  28. package/dist/components/entity-card.d.ts +1 -1
  29. package/dist/components/info-block.d.cts +1 -1
  30. package/dist/components/info-block.d.ts +1 -1
  31. package/dist/components/input-date.cjs +1 -1
  32. package/dist/components/input-date.js +1 -1
  33. package/dist/components/input-group.d.cts +1 -1
  34. package/dist/components/input-group.d.ts +1 -1
  35. package/dist/components/line-chart.cjs +1 -1
  36. package/dist/components/line-chart.js +2 -2
  37. package/dist/components/marker.d.cts +1 -1
  38. package/dist/components/marker.d.ts +1 -1
  39. package/dist/components/message-scroller.cjs +2 -2
  40. package/dist/components/message-scroller.js +2 -2
  41. package/dist/components/page-header.cjs +1 -1
  42. package/dist/components/page-header.d.cts +1 -1
  43. package/dist/components/page-header.d.ts +1 -1
  44. package/dist/components/page-header.js +1 -1
  45. package/dist/components/pill.cjs +1 -1
  46. package/dist/components/pill.js +1 -1
  47. package/dist/components/popover.cjs +1 -1
  48. package/dist/components/popover.cjs.map +1 -1
  49. package/dist/components/popover.js +1 -1
  50. package/dist/components/popover.js.map +1 -1
  51. package/dist/components/power-history-chart.cjs +1 -1
  52. package/dist/components/power-history-chart.js +2 -2
  53. package/dist/components/power-network.cjs +2 -2
  54. package/dist/components/power-network.js +2 -2
  55. package/dist/components/schedule-list.cjs +1 -1
  56. package/dist/components/schedule-list.js +1 -1
  57. package/dist/components/select.cjs +4 -4
  58. package/dist/components/select.cjs.map +1 -1
  59. package/dist/components/select.js +4 -4
  60. package/dist/components/select.js.map +1 -1
  61. package/dist/components/sheet.cjs +2 -2
  62. package/dist/components/sheet.cjs.map +1 -1
  63. package/dist/components/sheet.js +2 -2
  64. package/dist/components/sheet.js.map +1 -1
  65. package/dist/components/solar-forecast-chart.d.ts +1 -1
  66. package/dist/components/stepper.cjs +1 -1
  67. package/dist/components/stepper.js +1 -1
  68. package/dist/components/table.cjs +1 -1
  69. package/dist/components/table.js +1 -1
  70. package/dist/components/tabs.cjs +1 -1
  71. package/dist/components/tabs.js +1 -1
  72. package/dist/components/toast.cjs +1 -1
  73. package/dist/components/toast.js +1 -1
  74. package/dist/components/tooltip.cjs +1 -1
  75. package/dist/components/tooltip.js +1 -1
  76. package/dist/components/trace.cjs +88 -0
  77. package/dist/components/trace.cjs.map +1 -0
  78. package/dist/components/trace.d.cts +53 -0
  79. package/dist/components/trace.d.ts +53 -0
  80. package/dist/components/trace.js +78 -0
  81. package/dist/components/trace.js.map +1 -0
  82. package/package.json +1 -1
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require_chunk = require("../chunk-DY84GLCh.cjs");
4
4
  const require_components_button = require("./button.cjs");
5
+ let _epilot_spark_icons = require("@epilot/spark-icons");
5
6
  let react = require("react");
6
7
  react = require_chunk.__toESM(react);
7
- let _epilot_spark_icons = require("@epilot/spark-icons");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  let _base_ui_react_dialog = require("@base-ui/react/dialog");
10
10
  let cn = require("cn");
@@ -52,7 +52,7 @@ function SheetContent({ side = "right", className, ...props }) {
52
52
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Popup, {
53
53
  "data-slot": "sheet-content",
54
54
  "data-side": side,
55
- className: (0, cn.cn)("fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-1 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none", "data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full", "data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full", "data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm", "data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm", className),
55
+ className: (0, cn.cn)("fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-2 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none", "data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full", "data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full", "data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm", "data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm", className),
56
56
  ...props
57
57
  });
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.cjs","names":["SheetPrimitive","buttonVariants","Close"],"sources":["../../src/components/sheet.tsx"],"sourcesContent":["import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'\nimport { Close } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\nimport { buttonVariants } from './button'\n\nfunction Sheet(props: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root {...props} />\n}\n\nfunction SheetTrigger(\n props: React.ComponentProps<typeof SheetPrimitive.Trigger>,\n) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\n// bare = the ready-made corner X (label is the consumer's, via aria-label);\n// with children or a render prop it stays the bare primitive (footer buttons, labeled closes)\nfunction SheetClose({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n if (children || props.render) {\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={className}\n {...props}\n >\n {children}\n </SheetPrimitive.Close>\n )\n }\n\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={cn(\n buttonVariants({ size: 'icon', variant: 'tertiary' }),\n 'absolute top-2.5 right-3 rounded-full',\n className,\n )}\n {...props}\n >\n <Close className=\"[--spark-icon-size:calc(20px*var(--spark-scaling,1))]\" />\n </SheetPrimitive.Close>\n )\n}\n\nfunction SheetPortal(\n props: React.ComponentProps<typeof SheetPrimitive.Portal>,\n) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Backdrop>) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(\n 'fixed top-(--spark-viewport-top,0) right-0 left-0 z-50 h-(--spark-viewport-height,100%) bg-(--color-overlay) transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\ninterface SheetContentProps extends React.ComponentProps<\n typeof SheetPrimitive.Popup\n> {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}\n\nfunction SheetContent({\n side = 'right',\n className,\n ...props\n}: SheetContentProps) {\n return (\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n 'fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-1 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none',\n 'data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full',\n 'data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full',\n 'data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm',\n 'data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\n 'mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-lg font-semibold text-gray', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-sm text-gray-light', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n}\nexport type { SheetContentProps }\n"],"mappings":";;;;;;;;;;;AAMA,SAAS,MAAM,OAAyD;CACtE,OAAO,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,MAAhB,EAAqB,GAAI,MAAQ,CAAA;AAC1C;AAEA,SAAS,aACP,OACA;CACA,OAAO,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAIA,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACiD;CACpD,IAAI,YAAY,MAAM,QACpB,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACC;EACX,GAAI;EAEH;CACmB,CAAA;CAI1B,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACEC,0BAAAA,eAAe;GAAE,MAAM;GAAQ,SAAS;EAAW,CAAC,GACpD,yCACA,SACF;EACA,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,OAAD,EAAO,WAAU,wDAAyD,CAAA;CACtD,CAAA;AAE1B;AAEA,SAAS,YACP,OACA;CACA,OAAO,iBAAA,GAAA,kBAAA,KAACF,sBAAAA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;AAEA,SAAS,aAAa,EACpB,WACA,GAAG,SACoD;CACvD,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,UAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACE,wOACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAQA,SAAS,aAAa,EACpB,OAAO,SACP,WACA,GAAG,SACiB;CACpB,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACV,aAAW;EACX,YAAA,GAAA,GAAA,IACE,4MACA,6MACA,uOACA,qTACA,4TACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACE,kEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAClB,WACA,GAAG,SACiD;CACpD,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,aAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"sheet.cjs","names":["SheetPrimitive","buttonVariants","Close"],"sources":["../../src/components/sheet.tsx"],"sourcesContent":["import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'\nimport { Close } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\nimport { buttonVariants } from './button'\n\nfunction Sheet(props: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root {...props} />\n}\n\nfunction SheetTrigger(\n props: React.ComponentProps<typeof SheetPrimitive.Trigger>,\n) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\n// bare = the ready-made corner X (label is the consumer's, via aria-label);\n// with children or a render prop it stays the bare primitive (footer buttons, labeled closes)\nfunction SheetClose({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n if (children || props.render) {\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={className}\n {...props}\n >\n {children}\n </SheetPrimitive.Close>\n )\n }\n\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={cn(\n buttonVariants({ size: 'icon', variant: 'tertiary' }),\n 'absolute top-2.5 right-3 rounded-full',\n className,\n )}\n {...props}\n >\n <Close className=\"[--spark-icon-size:calc(20px*var(--spark-scaling,1))]\" />\n </SheetPrimitive.Close>\n )\n}\n\nfunction SheetPortal(\n props: React.ComponentProps<typeof SheetPrimitive.Portal>,\n) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Backdrop>) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(\n 'fixed top-(--spark-viewport-top,0) right-0 left-0 z-50 h-(--spark-viewport-height,100%) bg-(--color-overlay) transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\ninterface SheetContentProps extends React.ComponentProps<\n typeof SheetPrimitive.Popup\n> {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}\n\nfunction SheetContent({\n side = 'right',\n className,\n ...props\n}: SheetContentProps) {\n return (\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n 'fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-2 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none',\n 'data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full',\n 'data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full',\n 'data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm',\n 'data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\n 'mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-lg font-semibold text-gray', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-sm text-gray-light', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n}\nexport type { SheetContentProps }\n"],"mappings":";;;;;;;;;;;AAMA,SAAS,MAAM,OAAyD;CACtE,OAAO,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,MAAhB,EAAqB,GAAI,MAAQ,CAAA;AAC1C;AAEA,SAAS,aACP,OACA;CACA,OAAO,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAIA,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACiD;CACpD,IAAI,YAAY,MAAM,QACpB,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACC;EACX,GAAI;EAEH;CACmB,CAAA;CAI1B,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACEC,0BAAAA,eAAe;GAAE,MAAM;GAAQ,SAAS;EAAW,CAAC,GACpD,yCACA,SACF;EACA,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,OAAD,EAAO,WAAU,wDAAyD,CAAA;CACtD,CAAA;AAE1B;AAEA,SAAS,YACP,OACA;CACA,OAAO,iBAAA,GAAA,kBAAA,KAACF,sBAAAA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;AAEA,SAAS,aAAa,EACpB,WACA,GAAG,SACoD;CACvD,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,UAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACE,wOACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAQA,SAAS,aAAa,EACpB,OAAO,SACP,WACA,GAAG,SACiB;CACpB,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACV,aAAW;EACX,YAAA,GAAA,GAAA,IACE,4MACA,6MACA,uOACA,qTACA,4TACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACE,kEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAClB,WACA,GAAG,SACiD;CACpD,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,OAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,OAAe,aAAhB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../utils/cn.js";
3
3
  import { buttonVariants } from "./button.js";
4
- import "react";
5
4
  import { Close } from "@epilot/spark-icons";
5
+ import "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  import { Dialog } from "@base-ui/react/dialog";
8
8
  //#region src/components/sheet.tsx
@@ -49,7 +49,7 @@ function SheetContent({ side = "right", className, ...props }) {
49
49
  return /* @__PURE__ */ jsx(Dialog.Popup, {
50
50
  "data-slot": "sheet-content",
51
51
  "data-side": side,
52
- className: cn("fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-1 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none", "data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full", "data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full", "data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm", "data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm", className),
52
+ className: cn("fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-2 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none", "data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full", "data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full", "data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm", "data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm", className),
53
53
  ...props
54
54
  });
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.js","names":["SheetPrimitive"],"sources":["../../src/components/sheet.tsx"],"sourcesContent":["import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'\nimport { Close } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\nimport { buttonVariants } from './button'\n\nfunction Sheet(props: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root {...props} />\n}\n\nfunction SheetTrigger(\n props: React.ComponentProps<typeof SheetPrimitive.Trigger>,\n) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\n// bare = the ready-made corner X (label is the consumer's, via aria-label);\n// with children or a render prop it stays the bare primitive (footer buttons, labeled closes)\nfunction SheetClose({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n if (children || props.render) {\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={className}\n {...props}\n >\n {children}\n </SheetPrimitive.Close>\n )\n }\n\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={cn(\n buttonVariants({ size: 'icon', variant: 'tertiary' }),\n 'absolute top-2.5 right-3 rounded-full',\n className,\n )}\n {...props}\n >\n <Close className=\"[--spark-icon-size:calc(20px*var(--spark-scaling,1))]\" />\n </SheetPrimitive.Close>\n )\n}\n\nfunction SheetPortal(\n props: React.ComponentProps<typeof SheetPrimitive.Portal>,\n) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Backdrop>) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(\n 'fixed top-(--spark-viewport-top,0) right-0 left-0 z-50 h-(--spark-viewport-height,100%) bg-(--color-overlay) transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\ninterface SheetContentProps extends React.ComponentProps<\n typeof SheetPrimitive.Popup\n> {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}\n\nfunction SheetContent({\n side = 'right',\n className,\n ...props\n}: SheetContentProps) {\n return (\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n 'fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-1 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none',\n 'data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full',\n 'data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full',\n 'data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm',\n 'data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\n 'mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-lg font-semibold text-gray', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-sm text-gray-light', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n}\nexport type { SheetContentProps }\n"],"mappings":";;;;;;;;AAMA,SAAS,MAAM,OAAyD;CACtE,OAAO,oBAACA,OAAe,MAAhB,EAAqB,GAAI,MAAQ,CAAA;AAC1C;AAEA,SAAS,aACP,OACA;CACA,OAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAIA,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACiD;CACpD,IAAI,YAAY,MAAM,QACpB,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACC;EACX,GAAI;EAEH;CACmB,CAAA;CAI1B,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GACT,eAAe;GAAE,MAAM;GAAQ,SAAS;EAAW,CAAC,GACpD,yCACA,SACF;EACA,GAAI;YAEJ,oBAAC,OAAD,EAAO,WAAU,wDAAyD,CAAA;CACtD,CAAA;AAE1B;AAEA,SAAS,YACP,OACA;CACA,OAAO,oBAACA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;AAEA,SAAS,aAAa,EACpB,WACA,GAAG,SACoD;CACvD,OACE,oBAACA,OAAe,UAAhB;EACE,aAAU;EACV,WAAW,GACT,wOACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAQA,SAAS,aAAa,EACpB,OAAO,SACP,WACA,GAAG,SACiB;CACpB,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACV,aAAW;EACX,WAAW,GACT,4MACA,6MACA,uOACA,qTACA,4TACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,kEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAClB,WACA,GAAG,SACiD;CACpD,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GAAG,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,oBAACA,OAAe,aAAhB;EACE,aAAU;EACV,WAAW,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"sheet.js","names":["SheetPrimitive"],"sources":["../../src/components/sheet.tsx"],"sourcesContent":["import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'\nimport { Close } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\nimport { buttonVariants } from './button'\n\nfunction Sheet(props: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root {...props} />\n}\n\nfunction SheetTrigger(\n props: React.ComponentProps<typeof SheetPrimitive.Trigger>,\n) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\n// bare = the ready-made corner X (label is the consumer's, via aria-label);\n// with children or a render prop it stays the bare primitive (footer buttons, labeled closes)\nfunction SheetClose({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n if (children || props.render) {\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={className}\n {...props}\n >\n {children}\n </SheetPrimitive.Close>\n )\n }\n\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className={cn(\n buttonVariants({ size: 'icon', variant: 'tertiary' }),\n 'absolute top-2.5 right-3 rounded-full',\n className,\n )}\n {...props}\n >\n <Close className=\"[--spark-icon-size:calc(20px*var(--spark-scaling,1))]\" />\n </SheetPrimitive.Close>\n )\n}\n\nfunction SheetPortal(\n props: React.ComponentProps<typeof SheetPrimitive.Portal>,\n) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Backdrop>) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(\n 'fixed top-(--spark-viewport-top,0) right-0 left-0 z-50 h-(--spark-viewport-height,100%) bg-(--color-overlay) transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\ninterface SheetContentProps extends React.ComponentProps<\n typeof SheetPrimitive.Popup\n> {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}\n\nfunction SheetContent({\n side = 'right',\n className,\n ...props\n}: SheetContentProps) {\n return (\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n 'fixed z-50 flex flex-col gap-4 border-gray-a1 bg-gray-2 p-safe-offset-4 text-gray shadow-lg transition-[translate] duration-200 ease-in-out data-ending-style:duration-300 motion-reduce:transition-none',\n 'data-[side=top]:inset-x-0 data-[side=top]:top-(--spark-viewport-top,0) data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-full data-[side=top]:data-starting-style:-translate-y-full',\n 'data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-(--spark-viewport-bottom-offset,0) data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-full data-[side=bottom]:data-starting-style:translate-y-full',\n 'data-[side=left]:top-(--spark-viewport-top,0) data-[side=left]:left-0 data-[side=left]:h-(--spark-viewport-height,100%) data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-full data-[side=left]:data-starting-style:-translate-x-full data-[side=left]:sm:max-w-sm',\n 'data-[side=right]:top-(--spark-viewport-top,0) data-[side=right]:right-0 data-[side=right]:h-(--spark-viewport-height,100%) data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-full data-[side=right]:data-starting-style:translate-x-full data-[side=right]:sm:max-w-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\n 'mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-lg font-semibold text-gray', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-sm text-gray-light', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n}\nexport type { SheetContentProps }\n"],"mappings":";;;;;;;;AAMA,SAAS,MAAM,OAAyD;CACtE,OAAO,oBAACA,OAAe,MAAhB,EAAqB,GAAI,MAAQ,CAAA;AAC1C;AAEA,SAAS,aACP,OACA;CACA,OAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAIA,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACiD;CACpD,IAAI,YAAY,MAAM,QACpB,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACC;EACX,GAAI;EAEH;CACmB,CAAA;CAI1B,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GACT,eAAe;GAAE,MAAM;GAAQ,SAAS;EAAW,CAAC,GACpD,yCACA,SACF;EACA,GAAI;YAEJ,oBAAC,OAAD,EAAO,WAAU,wDAAyD,CAAA;CACtD,CAAA;AAE1B;AAEA,SAAS,YACP,OACA;CACA,OAAO,oBAACA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;AAEA,SAAS,aAAa,EACpB,WACA,GAAG,SACoD;CACvD,OACE,oBAACA,OAAe,UAAhB;EACE,aAAU;EACV,WAAW,GACT,wOACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAQA,SAAS,aAAa,EACpB,OAAO,SACP,WACA,GAAG,SACiB;CACpB,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACV,aAAW;EACX,WAAW,GACT,4MACA,6MACA,uOACA,qTACA,4TACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,kEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAClB,WACA,GAAG,SACiD;CACpD,OACE,oBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GAAG,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,oBAACA,OAAe,aAAhB;EACE,aAAU;EACV,WAAW,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import { LineChartCurve, LineChartDatum } from "./line-chart.js";
4
- import { JSX, ReactNode } from "react";
5
4
  import { SparkIcon } from "@epilot/spark-icons";
5
+ import { JSX, ReactNode } from "react";
6
6
 
7
7
  //#region src/components/solar-forecast-chart.d.ts
8
8
  interface SolarForecastWeatherPoint {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require_chunk = require("../chunk-DY84GLCh.cjs");
4
+ let _epilot_spark_icons = require("@epilot/spark-icons");
4
5
  let react = require("react");
5
6
  react = require_chunk.__toESM(react);
6
- let _epilot_spark_icons = require("@epilot/spark-icons");
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  let cn = require("cn");
9
9
  //#region src/components/stepper.tsx
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../utils/cn.js";
3
- import * as React$1 from "react";
4
3
  import { ChevronLeft, ChevronRight } from "@epilot/spark-icons";
4
+ import * as React$1 from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/stepper.tsx
7
7
  const Stepper = React$1.forwardRef(({ value, onValueChange, onValueCommit, min = 0, max = 100, step = 1, formatValue = (v) => String(v), disabled, className, commitDelayMs = 400, "aria-label": ariaLabel, decreaseLabel, increaseLabel }, ref) => {
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require_chunk = require("../chunk-DY84GLCh.cjs");
4
4
  const require_components_skeleton = require("./skeleton.cjs");
5
+ let _epilot_spark_icons = require("@epilot/spark-icons");
5
6
  let react = require("react");
6
7
  react = require_chunk.__toESM(react);
7
- let _epilot_spark_icons = require("@epilot/spark-icons");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  let cn = require("cn");
10
10
  //#region src/components/table.tsx
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../utils/cn.js";
3
3
  import { Skeleton } from "./skeleton.js";
4
- import * as React$1 from "react";
5
4
  import { ArrowDownward, ArrowUpward, SwapVert } from "@epilot/spark-icons";
5
+ import * as React$1 from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/components/table.tsx
8
8
  const TableContext = React$1.createContext({
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require_chunk = require("../chunk-DY84GLCh.cjs");
4
+ let _epilot_spark_icons = require("@epilot/spark-icons");
4
5
  let react = require("react");
5
6
  react = require_chunk.__toESM(react);
6
- let _epilot_spark_icons = require("@epilot/spark-icons");
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  let _base_ui_react_tabs = require("@base-ui/react/tabs");
9
9
  let cn = require("cn");
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../utils/cn.js";
3
- import * as React$1 from "react";
4
3
  import { ChevronLeft, ChevronRight } from "@epilot/spark-icons";
4
+ import * as React$1 from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
7
7
  //#region src/components/tabs.tsx
@@ -4,9 +4,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const require_chunk = require("../chunk-DY84GLCh.cjs");
5
5
  const require_components_button = require("./button.cjs");
6
6
  const require_components_spinner = require("./spinner.cjs");
7
+ let _epilot_spark_icons = require("@epilot/spark-icons");
7
8
  let react = require("react");
8
9
  react = require_chunk.__toESM(react);
9
- let _epilot_spark_icons = require("@epilot/spark-icons");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
11
11
  let _base_ui_react_toast = require("@base-ui/react/toast");
12
12
  let cn = require("cn");
@@ -3,8 +3,8 @@
3
3
  import { cn } from "../utils/cn.js";
4
4
  import { buttonVariants } from "./button.js";
5
5
  import { Spinner } from "./spinner.js";
6
- import "react";
7
6
  import { Cancel, CheckCircle, Close, Info, Warning } from "@epilot/spark-icons";
7
+ import "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { Toast } from "@base-ui/react/toast";
10
10
  //#region src/components/toast.tsx
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require_chunk = require("../chunk-DY84GLCh.cjs");
4
+ let _epilot_spark_icons = require("@epilot/spark-icons");
4
5
  let react = require("react");
5
6
  react = require_chunk.__toESM(react);
6
- let _epilot_spark_icons = require("@epilot/spark-icons");
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  let _base_ui_react_tooltip = require("@base-ui/react/tooltip");
9
9
  let cn = require("cn");
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../utils/cn.js";
3
- import "react";
4
3
  import { Info } from "@epilot/spark-icons";
4
+ import "react";
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
@@ -0,0 +1,88 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_chunk = require("../chunk-DY84GLCh.cjs");
4
+ let _epilot_spark_icons = require("@epilot/spark-icons");
5
+ let react = require("react");
6
+ react = require_chunk.__toESM(react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let _base_ui_react_collapsible = require("@base-ui/react/collapsible");
9
+ let cn = require("cn");
10
+ //#region src/components/trace.tsx
11
+ function Trace({ className, ...props }) {
12
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
13
+ "data-slot": "trace",
14
+ className: (0, cn.cn)("flex w-full min-w-0 flex-col gap-2 *:has-[>[data-slot=trace-line]]:touch-target *:has-[>[data-slot=trace-line]]:flex *:has-[>[data-slot=trace-line]]:min-h-[1.5rem] *:has-[>[data-slot=trace-line]]:w-fit *:has-[>[data-slot=trace-line]]:max-w-full *:has-[>[data-slot=trace-line]]:min-w-0 *:has-[>[data-slot=trace-line]]:items-center *:has-[>[data-slot=trace-line]]:rounded-md *:has-[>[data-slot=trace-line]]:text-left *:has-[>[data-slot=trace-line]]:focus-visible:ring-2 *:has-[>[data-slot=trace-line]]:focus-visible:ring-offset-2 *:has-[>[data-slot=trace-line]]:focus-visible:outline-hidden", className),
15
+ ...props
16
+ });
17
+ }
18
+ function TraceLine({ className, status, ...props }) {
19
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20
+ "data-slot": "trace-line",
21
+ "data-status": status,
22
+ className: (0, cn.cn)("flex w-fit max-w-full min-w-0 items-center gap-2 text-sm text-gray-light transition-colors in-[a,button]:cursor-pointer in-[a:hover,button:hover]:text-gray data-[status=error]:text-error data-[status=error]:in-[a:hover,button:hover]:text-error data-[status=pending]:*:data-[slot=trace-icon]:opacity-60 data-[status=running]:*:data-[slot=trace-title]:shimmer motion-reduce:transition-none", className),
23
+ ...props
24
+ });
25
+ }
26
+ function TraceIcon({ className, ...props }) {
27
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
28
+ "data-slot": "trace-icon",
29
+ "aria-hidden": "true",
30
+ className: (0, cn.cn)("flex size-4 shrink-0 items-center justify-center [--spark-icon-size:--spacing(4)] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=trace-title]~&]:-ml-1", className),
31
+ ...props
32
+ });
33
+ }
34
+ function TraceTitle({ className, ...props }) {
35
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
36
+ "data-slot": "trace-title",
37
+ className: (0, cn.cn)("min-w-0 truncate", className),
38
+ ...props
39
+ });
40
+ }
41
+ function TraceDescription({ className, ...props }) {
42
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
43
+ "data-slot": "trace-description",
44
+ className: (0, cn.cn)("shrink-0 text-gray-light tabular-nums", className),
45
+ ...props
46
+ });
47
+ }
48
+ function TraceCollapsible({ className, ...props }) {
49
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_collapsible.Collapsible.Root, {
50
+ "data-slot": "trace-collapsible",
51
+ className: (0, cn.cn)("flex w-full min-w-0 flex-col", className),
52
+ ...props
53
+ });
54
+ }
55
+ function TraceCollapsibleTrigger({ className, children, ...props }) {
56
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_collapsible.Collapsible.Trigger, {
57
+ "data-slot": "trace-collapsible-trigger",
58
+ className: (0, cn.cn)("group/trace-collapsible-trigger touch-target flex min-h-[1.5rem] w-fit max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-md text-left text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden has-[[data-status=error]]:text-error motion-reduce:transition-none", className),
59
+ ...props,
60
+ children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TraceIcon, {
61
+ className: "transition-transform group-data-[panel-open]/trace-collapsible-trigger:rotate-90 motion-reduce:transition-none",
62
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_epilot_spark_icons.ChevronRight, {})
63
+ })]
64
+ });
65
+ }
66
+ function TraceCollapsibleContent({ className, children, ...props }) {
67
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_collapsible.Collapsible.Panel, {
68
+ "data-slot": "trace-collapsible-content",
69
+ className: "h-(--collapsible-panel-height) min-w-0 overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none",
70
+ ...props,
71
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
72
+ "data-slot": "trace-collapsible-content-inner",
73
+ className: (0, cn.cn)("ms-[calc(--spacing(2)-1px)] mt-2 mb-1 min-w-0 border-s border-gray-a6 ps-4 pe-1 text-sm leading-relaxed wrap-break-word text-gray-light", className),
74
+ children
75
+ })
76
+ });
77
+ }
78
+ //#endregion
79
+ exports.Trace = Trace;
80
+ exports.TraceCollapsible = TraceCollapsible;
81
+ exports.TraceCollapsibleContent = TraceCollapsibleContent;
82
+ exports.TraceCollapsibleTrigger = TraceCollapsibleTrigger;
83
+ exports.TraceDescription = TraceDescription;
84
+ exports.TraceIcon = TraceIcon;
85
+ exports.TraceLine = TraceLine;
86
+ exports.TraceTitle = TraceTitle;
87
+
88
+ //# sourceMappingURL=trace.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.cjs","names":["CollapsiblePrimitive","ChevronRight"],"sources":["../../src/components/trace.tsx"],"sourcesContent":["import { Collapsible as CollapsiblePrimitive } from '@base-ui/react/collapsible'\nimport { ChevronRight } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\n\ntype TraceStatus = 'running' | 'error' | 'pending'\n\nfunction Trace({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"trace\"\n className={cn(\n 'flex w-full min-w-0 flex-col gap-2 *:has-[>[data-slot=trace-line]]:touch-target *:has-[>[data-slot=trace-line]]:flex *:has-[>[data-slot=trace-line]]:min-h-[1.5rem] *:has-[>[data-slot=trace-line]]:w-fit *:has-[>[data-slot=trace-line]]:max-w-full *:has-[>[data-slot=trace-line]]:min-w-0 *:has-[>[data-slot=trace-line]]:items-center *:has-[>[data-slot=trace-line]]:rounded-md *:has-[>[data-slot=trace-line]]:text-left *:has-[>[data-slot=trace-line]]:focus-visible:ring-2 *:has-[>[data-slot=trace-line]]:focus-visible:ring-offset-2 *:has-[>[data-slot=trace-line]]:focus-visible:outline-hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceLine({\n className,\n status,\n ...props\n}: React.ComponentProps<'span'> & { status?: TraceStatus }) {\n return (\n <span\n data-slot=\"trace-line\"\n data-status={status}\n className={cn(\n 'flex w-fit max-w-full min-w-0 items-center gap-2 text-sm text-gray-light transition-colors in-[a,button]:cursor-pointer in-[a:hover,button:hover]:text-gray data-[status=error]:text-error data-[status=error]:in-[a:hover,button:hover]:text-error data-[status=pending]:*:data-[slot=trace-icon]:opacity-60 data-[status=running]:*:data-[slot=trace-title]:shimmer motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceIcon({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-icon\"\n aria-hidden=\"true\"\n className={cn(\n \"flex size-4 shrink-0 items-center justify-center [--spark-icon-size:--spacing(4)] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=trace-title]~&]:-ml-1\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceTitle({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-title\"\n className={cn('min-w-0 truncate', className)}\n {...props}\n />\n )\n}\n\nfunction TraceDescription({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-description\"\n className={cn('shrink-0 text-gray-light tabular-nums', className)}\n {...props}\n />\n )\n}\n\ntype CollapsibleRootProps = React.ComponentProps<\n typeof CollapsiblePrimitive.Root\n>\n\nfunction TraceCollapsible({\n className,\n ...props\n}: Omit<CollapsibleRootProps, 'open'> &\n (\n | { open?: undefined }\n | {\n open: boolean\n onOpenChange: NonNullable<CollapsibleRootProps['onOpenChange']>\n }\n )) {\n return (\n <CollapsiblePrimitive.Root\n data-slot=\"trace-collapsible\"\n className={cn('flex w-full min-w-0 flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction TraceCollapsibleTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"trace-collapsible-trigger\"\n className={cn(\n 'group/trace-collapsible-trigger touch-target flex min-h-[1.5rem] w-fit max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-md text-left text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden has-[[data-status=error]]:text-error motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <TraceIcon className=\"transition-transform group-data-[panel-open]/trace-collapsible-trigger:rotate-90 motion-reduce:transition-none\">\n <ChevronRight />\n </TraceIcon>\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction TraceCollapsibleContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Panel>) {\n return (\n <CollapsiblePrimitive.Panel\n data-slot=\"trace-collapsible-content\"\n className=\"h-(--collapsible-panel-height) min-w-0 overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none\"\n {...props}\n >\n <div\n data-slot=\"trace-collapsible-content-inner\"\n className={cn(\n 'ms-[calc(--spacing(2)-1px)] mt-2 mb-1 min-w-0 border-s border-gray-a6 ps-4 pe-1 text-sm leading-relaxed wrap-break-word text-gray-light',\n className,\n )}\n >\n {children}\n </div>\n </CollapsiblePrimitive.Panel>\n )\n}\n\nexport {\n Trace,\n TraceCollapsible,\n TraceCollapsibleContent,\n TraceCollapsibleTrigger,\n TraceDescription,\n TraceIcon,\n TraceLine,\n TraceTitle,\n type TraceStatus,\n}\n"],"mappings":";;;;;;;;;;AAOA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAsC;CACnE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACE,glBACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,UAAU,EACjB,WACA,QACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,aAAU;EACV,eAAa;EACb,YAAA,GAAA,GAAA,IACE,uYACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAuC;CACxE,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,aAAU;EACV,eAAY;EACZ,YAAA,GAAA,GAAA,IACE,wLACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAuC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,oBAAoB,SAAS;EAC3C,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC4B;CAC/B,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,yCAAyC,SAAS;EAChE,GAAI;CACL,CAAA;AAEL;AAMA,SAAS,iBAAiB,EACxB,WACA,GAAG,SAQA;CACH,OACE,iBAAA,GAAA,kBAAA,KAACA,2BAAAA,YAAqB,MAAtB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IAAc,gCAAgC,SAAS;EACvD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SACyD;CAC5D,OACE,iBAAA,GAAA,kBAAA,MAACA,2BAAAA,YAAqB,SAAtB;EACE,aAAU;EACV,YAAA,GAAA,GAAA,IACE,uVACA,SACF;EACA,GAAI;YANN,CAQG,UACD,iBAAA,GAAA,kBAAA,KAAC,WAAD;GAAW,WAAU;aACnB,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,cAAD,CAAe,CAAA;EACN,CAAA,CACiB;;AAElC;AAEA,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACD,2BAAAA,YAAqB,OAAtB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;GACE,aAAU;GACV,YAAA,GAAA,GAAA,IACE,2IACA,SACF;GAEC;EACE,CAAA;CACqB,CAAA;AAEhC"}
@@ -0,0 +1,53 @@
1
+ "use client";
2
+
3
+ import * as React$1 from "react";
4
+ import { Collapsible } from "@base-ui/react/collapsible";
5
+
6
+ //#region src/components/trace.d.ts
7
+ type TraceStatus = 'running' | 'error' | 'pending';
8
+ declare function Trace({
9
+ className,
10
+ ...props
11
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
12
+ declare function TraceLine({
13
+ className,
14
+ status,
15
+ ...props
16
+ }: React$1.ComponentProps<'span'> & {
17
+ status?: TraceStatus;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ declare function TraceIcon({
20
+ className,
21
+ ...props
22
+ }: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
23
+ declare function TraceTitle({
24
+ className,
25
+ ...props
26
+ }: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
27
+ declare function TraceDescription({
28
+ className,
29
+ ...props
30
+ }: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
31
+ type CollapsibleRootProps = React$1.ComponentProps<typeof Collapsible.Root>;
32
+ declare function TraceCollapsible({
33
+ className,
34
+ ...props
35
+ }: Omit<CollapsibleRootProps, 'open'> & ({
36
+ open?: undefined;
37
+ } | {
38
+ open: boolean;
39
+ onOpenChange: NonNullable<CollapsibleRootProps['onOpenChange']>;
40
+ })): import("react/jsx-runtime").JSX.Element;
41
+ declare function TraceCollapsibleTrigger({
42
+ className,
43
+ children,
44
+ ...props
45
+ }: React$1.ComponentProps<typeof Collapsible.Trigger>): import("react/jsx-runtime").JSX.Element;
46
+ declare function TraceCollapsibleContent({
47
+ className,
48
+ children,
49
+ ...props
50
+ }: React$1.ComponentProps<typeof Collapsible.Panel>): import("react/jsx-runtime").JSX.Element;
51
+ //#endregion
52
+ export { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, type TraceStatus, TraceTitle };
53
+ //# sourceMappingURL=trace.d.cts.map
@@ -0,0 +1,53 @@
1
+ "use client";
2
+
3
+ import * as React$1 from "react";
4
+ import { Collapsible } from "@base-ui/react/collapsible";
5
+
6
+ //#region src/components/trace.d.ts
7
+ type TraceStatus = 'running' | 'error' | 'pending';
8
+ declare function Trace({
9
+ className,
10
+ ...props
11
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
12
+ declare function TraceLine({
13
+ className,
14
+ status,
15
+ ...props
16
+ }: React$1.ComponentProps<'span'> & {
17
+ status?: TraceStatus;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ declare function TraceIcon({
20
+ className,
21
+ ...props
22
+ }: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
23
+ declare function TraceTitle({
24
+ className,
25
+ ...props
26
+ }: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
27
+ declare function TraceDescription({
28
+ className,
29
+ ...props
30
+ }: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
31
+ type CollapsibleRootProps = React$1.ComponentProps<typeof Collapsible.Root>;
32
+ declare function TraceCollapsible({
33
+ className,
34
+ ...props
35
+ }: Omit<CollapsibleRootProps, 'open'> & ({
36
+ open?: undefined;
37
+ } | {
38
+ open: boolean;
39
+ onOpenChange: NonNullable<CollapsibleRootProps['onOpenChange']>;
40
+ })): import("react/jsx-runtime").JSX.Element;
41
+ declare function TraceCollapsibleTrigger({
42
+ className,
43
+ children,
44
+ ...props
45
+ }: React$1.ComponentProps<typeof Collapsible.Trigger>): import("react/jsx-runtime").JSX.Element;
46
+ declare function TraceCollapsibleContent({
47
+ className,
48
+ children,
49
+ ...props
50
+ }: React$1.ComponentProps<typeof Collapsible.Panel>): import("react/jsx-runtime").JSX.Element;
51
+ //#endregion
52
+ export { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, type TraceStatus, TraceTitle };
53
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1,78 @@
1
+ "use client";
2
+ import { cn } from "../utils/cn.js";
3
+ import { ChevronRight } from "@epilot/spark-icons";
4
+ import "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { Collapsible } from "@base-ui/react/collapsible";
7
+ //#region src/components/trace.tsx
8
+ function Trace({ className, ...props }) {
9
+ return /* @__PURE__ */ jsx("div", {
10
+ "data-slot": "trace",
11
+ className: cn("flex w-full min-w-0 flex-col gap-2 *:has-[>[data-slot=trace-line]]:touch-target *:has-[>[data-slot=trace-line]]:flex *:has-[>[data-slot=trace-line]]:min-h-[1.5rem] *:has-[>[data-slot=trace-line]]:w-fit *:has-[>[data-slot=trace-line]]:max-w-full *:has-[>[data-slot=trace-line]]:min-w-0 *:has-[>[data-slot=trace-line]]:items-center *:has-[>[data-slot=trace-line]]:rounded-md *:has-[>[data-slot=trace-line]]:text-left *:has-[>[data-slot=trace-line]]:focus-visible:ring-2 *:has-[>[data-slot=trace-line]]:focus-visible:ring-offset-2 *:has-[>[data-slot=trace-line]]:focus-visible:outline-hidden", className),
12
+ ...props
13
+ });
14
+ }
15
+ function TraceLine({ className, status, ...props }) {
16
+ return /* @__PURE__ */ jsx("span", {
17
+ "data-slot": "trace-line",
18
+ "data-status": status,
19
+ className: cn("flex w-fit max-w-full min-w-0 items-center gap-2 text-sm text-gray-light transition-colors in-[a,button]:cursor-pointer in-[a:hover,button:hover]:text-gray data-[status=error]:text-error data-[status=error]:in-[a:hover,button:hover]:text-error data-[status=pending]:*:data-[slot=trace-icon]:opacity-60 data-[status=running]:*:data-[slot=trace-title]:shimmer motion-reduce:transition-none", className),
20
+ ...props
21
+ });
22
+ }
23
+ function TraceIcon({ className, ...props }) {
24
+ return /* @__PURE__ */ jsx("span", {
25
+ "data-slot": "trace-icon",
26
+ "aria-hidden": "true",
27
+ className: cn("flex size-4 shrink-0 items-center justify-center [--spark-icon-size:--spacing(4)] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=trace-title]~&]:-ml-1", className),
28
+ ...props
29
+ });
30
+ }
31
+ function TraceTitle({ className, ...props }) {
32
+ return /* @__PURE__ */ jsx("span", {
33
+ "data-slot": "trace-title",
34
+ className: cn("min-w-0 truncate", className),
35
+ ...props
36
+ });
37
+ }
38
+ function TraceDescription({ className, ...props }) {
39
+ return /* @__PURE__ */ jsx("span", {
40
+ "data-slot": "trace-description",
41
+ className: cn("shrink-0 text-gray-light tabular-nums", className),
42
+ ...props
43
+ });
44
+ }
45
+ function TraceCollapsible({ className, ...props }) {
46
+ return /* @__PURE__ */ jsx(Collapsible.Root, {
47
+ "data-slot": "trace-collapsible",
48
+ className: cn("flex w-full min-w-0 flex-col", className),
49
+ ...props
50
+ });
51
+ }
52
+ function TraceCollapsibleTrigger({ className, children, ...props }) {
53
+ return /* @__PURE__ */ jsxs(Collapsible.Trigger, {
54
+ "data-slot": "trace-collapsible-trigger",
55
+ className: cn("group/trace-collapsible-trigger touch-target flex min-h-[1.5rem] w-fit max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-md text-left text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden has-[[data-status=error]]:text-error motion-reduce:transition-none", className),
56
+ ...props,
57
+ children: [children, /* @__PURE__ */ jsx(TraceIcon, {
58
+ className: "transition-transform group-data-[panel-open]/trace-collapsible-trigger:rotate-90 motion-reduce:transition-none",
59
+ children: /* @__PURE__ */ jsx(ChevronRight, {})
60
+ })]
61
+ });
62
+ }
63
+ function TraceCollapsibleContent({ className, children, ...props }) {
64
+ return /* @__PURE__ */ jsx(Collapsible.Panel, {
65
+ "data-slot": "trace-collapsible-content",
66
+ className: "h-(--collapsible-panel-height) min-w-0 overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none",
67
+ ...props,
68
+ children: /* @__PURE__ */ jsx("div", {
69
+ "data-slot": "trace-collapsible-content-inner",
70
+ className: cn("ms-[calc(--spacing(2)-1px)] mt-2 mb-1 min-w-0 border-s border-gray-a6 ps-4 pe-1 text-sm leading-relaxed wrap-break-word text-gray-light", className),
71
+ children
72
+ })
73
+ });
74
+ }
75
+ //#endregion
76
+ export { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle };
77
+
78
+ //# sourceMappingURL=trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","names":["CollapsiblePrimitive"],"sources":["../../src/components/trace.tsx"],"sourcesContent":["import { Collapsible as CollapsiblePrimitive } from '@base-ui/react/collapsible'\nimport { ChevronRight } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\n\ntype TraceStatus = 'running' | 'error' | 'pending'\n\nfunction Trace({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"trace\"\n className={cn(\n 'flex w-full min-w-0 flex-col gap-2 *:has-[>[data-slot=trace-line]]:touch-target *:has-[>[data-slot=trace-line]]:flex *:has-[>[data-slot=trace-line]]:min-h-[1.5rem] *:has-[>[data-slot=trace-line]]:w-fit *:has-[>[data-slot=trace-line]]:max-w-full *:has-[>[data-slot=trace-line]]:min-w-0 *:has-[>[data-slot=trace-line]]:items-center *:has-[>[data-slot=trace-line]]:rounded-md *:has-[>[data-slot=trace-line]]:text-left *:has-[>[data-slot=trace-line]]:focus-visible:ring-2 *:has-[>[data-slot=trace-line]]:focus-visible:ring-offset-2 *:has-[>[data-slot=trace-line]]:focus-visible:outline-hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceLine({\n className,\n status,\n ...props\n}: React.ComponentProps<'span'> & { status?: TraceStatus }) {\n return (\n <span\n data-slot=\"trace-line\"\n data-status={status}\n className={cn(\n 'flex w-fit max-w-full min-w-0 items-center gap-2 text-sm text-gray-light transition-colors in-[a,button]:cursor-pointer in-[a:hover,button:hover]:text-gray data-[status=error]:text-error data-[status=error]:in-[a:hover,button:hover]:text-error data-[status=pending]:*:data-[slot=trace-icon]:opacity-60 data-[status=running]:*:data-[slot=trace-title]:shimmer motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceIcon({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-icon\"\n aria-hidden=\"true\"\n className={cn(\n \"flex size-4 shrink-0 items-center justify-center [--spark-icon-size:--spacing(4)] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=trace-title]~&]:-ml-1\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceTitle({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-title\"\n className={cn('min-w-0 truncate', className)}\n {...props}\n />\n )\n}\n\nfunction TraceDescription({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-description\"\n className={cn('shrink-0 text-gray-light tabular-nums', className)}\n {...props}\n />\n )\n}\n\ntype CollapsibleRootProps = React.ComponentProps<\n typeof CollapsiblePrimitive.Root\n>\n\nfunction TraceCollapsible({\n className,\n ...props\n}: Omit<CollapsibleRootProps, 'open'> &\n (\n | { open?: undefined }\n | {\n open: boolean\n onOpenChange: NonNullable<CollapsibleRootProps['onOpenChange']>\n }\n )) {\n return (\n <CollapsiblePrimitive.Root\n data-slot=\"trace-collapsible\"\n className={cn('flex w-full min-w-0 flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction TraceCollapsibleTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"trace-collapsible-trigger\"\n className={cn(\n 'group/trace-collapsible-trigger touch-target flex min-h-[1.5rem] w-fit max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-md text-left text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden has-[[data-status=error]]:text-error motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <TraceIcon className=\"transition-transform group-data-[panel-open]/trace-collapsible-trigger:rotate-90 motion-reduce:transition-none\">\n <ChevronRight />\n </TraceIcon>\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction TraceCollapsibleContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Panel>) {\n return (\n <CollapsiblePrimitive.Panel\n data-slot=\"trace-collapsible-content\"\n className=\"h-(--collapsible-panel-height) min-w-0 overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none\"\n {...props}\n >\n <div\n data-slot=\"trace-collapsible-content-inner\"\n className={cn(\n 'ms-[calc(--spacing(2)-1px)] mt-2 mb-1 min-w-0 border-s border-gray-a6 ps-4 pe-1 text-sm leading-relaxed wrap-break-word text-gray-light',\n className,\n )}\n >\n {children}\n </div>\n </CollapsiblePrimitive.Panel>\n )\n}\n\nexport {\n Trace,\n TraceCollapsible,\n TraceCollapsibleContent,\n TraceCollapsibleTrigger,\n TraceDescription,\n TraceIcon,\n TraceLine,\n TraceTitle,\n type TraceStatus,\n}\n"],"mappings":";;;;;;;AAOA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAsC;CACnE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,glBACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,UAAU,EACjB,WACA,QACA,GAAG,SACuD;CAC1D,OACE,oBAAC,QAAD;EACE,aAAU;EACV,eAAa;EACb,WAAW,GACT,uYACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAuC;CACxE,OACE,oBAAC,QAAD;EACE,aAAU;EACV,eAAY;EACZ,WAAW,GACT,wLACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAuC;CACzE,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GAAG,oBAAoB,SAAS;EAC3C,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC4B;CAC/B,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GAAG,yCAAyC,SAAS;EAChE,GAAI;CACL,CAAA;AAEL;AAMA,SAAS,iBAAiB,EACxB,WACA,GAAG,SAQA;CACH,OACE,oBAACA,YAAqB,MAAtB;EACE,aAAU;EACV,WAAW,GAAG,gCAAgC,SAAS;EACvD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SACyD;CAC5D,OACE,qBAACA,YAAqB,SAAtB;EACE,aAAU;EACV,WAAW,GACT,uVACA,SACF;EACA,GAAI;YANN,CAQG,UACD,oBAAC,WAAD;GAAW,WAAU;aACnB,oBAAC,cAAD,CAAe,CAAA;EACN,CAAA,CACiB;;AAElC;AAEA,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAACA,YAAqB,OAAtB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC,OAAD;GACE,aAAU;GACV,WAAW,GACT,2IACA,SACF;GAEC;EACE,CAAA;CACqB,CAAA;AAEhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/spark-ui",
3
- "version": "0.23.1",
3
+ "version": "0.24.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",