@orangecheck/design 0.21.0 → 0.23.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.
@@ -101,6 +101,16 @@ interface DataRowProps {
101
101
  }
102
102
  declare function DataRow({ children, meta, action, as, className }: DataRowProps): react_jsx_runtime.JSX.Element;
103
103
 
104
+ interface PanelProps {
105
+ label?: ReactNode;
106
+ title?: ReactNode;
107
+ action?: ReactNode;
108
+ flush?: boolean;
109
+ className?: string;
110
+ children?: ReactNode;
111
+ }
112
+ declare function Panel({ label, title, action, flush, className, children }: PanelProps): react_jsx_runtime.JSX.Element;
113
+
104
114
  interface TwoToneHeadingProps {
105
115
  lead: ReactNode;
106
116
  muted?: ReactNode;
@@ -242,4 +252,4 @@ interface VerifiedChipProps {
242
252
  }
243
253
  declare function VerifiedChip({ icon, iconTone, label, className }: VerifiedChipProps): react_jsx_runtime.JSX.Element;
244
254
 
245
- export { AccentList, type AccentListItem, type AccentListProps, AccentNote, type AccentNoteProps, BrandBand, Callout, type CalloutProps, type CalloutTone, CheckList, type CheckListProps, type ComparisonRow, ComparisonTable, type ComparisonTableProps, DataRow, type DataRowProps, type DefinitionItem, DefinitionList, type DefinitionListProps, EmailCapture, type EmailCaptureProps, EmptyState, type EmptyStateCta, type EmptyStateProps, Faq, type FaqItem, type FaqProps, FeatureCard, type FeatureCardProps, HelpHint, type HelpHintProps, MarketingHeading, type MarketingHeadingProps, NumberedStep, type NumberedStepProps, Section, SectionHeader, type SectionHeaderProps, type SectionProps, StatCard, type StatCardProps, StatGrid, type StatGridProps, type StatItem, StatTile, type Step, StepList, type StepListProps, TwoToneHeading, type TwoToneHeadingProps, VerifiedChip, type VerifiedChipProps };
255
+ export { AccentList, type AccentListItem, type AccentListProps, AccentNote, type AccentNoteProps, BrandBand, Callout, type CalloutProps, type CalloutTone, CheckList, type CheckListProps, type ComparisonRow, ComparisonTable, type ComparisonTableProps, DataRow, type DataRowProps, type DefinitionItem, DefinitionList, type DefinitionListProps, EmailCapture, type EmailCaptureProps, EmptyState, type EmptyStateCta, type EmptyStateProps, Faq, type FaqItem, type FaqProps, FeatureCard, type FeatureCardProps, HelpHint, type HelpHintProps, MarketingHeading, type MarketingHeadingProps, NumberedStep, type NumberedStepProps, Panel, type PanelProps, Section, SectionHeader, type SectionHeaderProps, type SectionProps, StatCard, type StatCardProps, StatGrid, type StatGridProps, type StatItem, StatTile, type Step, StepList, type StepListProps, TwoToneHeading, type TwoToneHeadingProps, VerifiedChip, type VerifiedChipProps };
@@ -101,6 +101,16 @@ interface DataRowProps {
101
101
  }
102
102
  declare function DataRow({ children, meta, action, as, className }: DataRowProps): react_jsx_runtime.JSX.Element;
103
103
 
104
+ interface PanelProps {
105
+ label?: ReactNode;
106
+ title?: ReactNode;
107
+ action?: ReactNode;
108
+ flush?: boolean;
109
+ className?: string;
110
+ children?: ReactNode;
111
+ }
112
+ declare function Panel({ label, title, action, flush, className, children }: PanelProps): react_jsx_runtime.JSX.Element;
113
+
104
114
  interface TwoToneHeadingProps {
105
115
  lead: ReactNode;
106
116
  muted?: ReactNode;
@@ -242,4 +252,4 @@ interface VerifiedChipProps {
242
252
  }
243
253
  declare function VerifiedChip({ icon, iconTone, label, className }: VerifiedChipProps): react_jsx_runtime.JSX.Element;
244
254
 
245
- export { AccentList, type AccentListItem, type AccentListProps, AccentNote, type AccentNoteProps, BrandBand, Callout, type CalloutProps, type CalloutTone, CheckList, type CheckListProps, type ComparisonRow, ComparisonTable, type ComparisonTableProps, DataRow, type DataRowProps, type DefinitionItem, DefinitionList, type DefinitionListProps, EmailCapture, type EmailCaptureProps, EmptyState, type EmptyStateCta, type EmptyStateProps, Faq, type FaqItem, type FaqProps, FeatureCard, type FeatureCardProps, HelpHint, type HelpHintProps, MarketingHeading, type MarketingHeadingProps, NumberedStep, type NumberedStepProps, Section, SectionHeader, type SectionHeaderProps, type SectionProps, StatCard, type StatCardProps, StatGrid, type StatGridProps, type StatItem, StatTile, type Step, StepList, type StepListProps, TwoToneHeading, type TwoToneHeadingProps, VerifiedChip, type VerifiedChipProps };
255
+ export { AccentList, type AccentListItem, type AccentListProps, AccentNote, type AccentNoteProps, BrandBand, Callout, type CalloutProps, type CalloutTone, CheckList, type CheckListProps, type ComparisonRow, ComparisonTable, type ComparisonTableProps, DataRow, type DataRowProps, type DefinitionItem, DefinitionList, type DefinitionListProps, EmailCapture, type EmailCaptureProps, EmptyState, type EmptyStateCta, type EmptyStateProps, Faq, type FaqItem, type FaqProps, FeatureCard, type FeatureCardProps, HelpHint, type HelpHintProps, MarketingHeading, type MarketingHeadingProps, NumberedStep, type NumberedStepProps, Panel, type PanelProps, Section, SectionHeader, type SectionHeaderProps, type SectionProps, StatCard, type StatCardProps, StatGrid, type StatGridProps, type StatItem, StatTile, type Step, StepList, type StepListProps, TwoToneHeading, type TwoToneHeadingProps, VerifiedChip, type VerifiedChipProps };
@@ -177,11 +177,11 @@ var COL_CLASS = {
177
177
  4: "md:grid-cols-2 lg:grid-cols-4"
178
178
  };
179
179
  function StatGrid({ items, columns = 3, className = "" }) {
180
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `bg-border grid gap-px border ${COL_CLASS[columns]} ${className}`, children: items.map((it, i) => /* @__PURE__ */ jsxRuntime.jsx(Tile, { item: it }, `${it.label}-${i}`)) });
180
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `oc-stat-grid bg-border grid gap-px border ${COL_CLASS[columns]} ${className}`, children: items.map((it, i) => /* @__PURE__ */ jsxRuntime.jsx(Tile, { item: it }, `${it.label}-${i}`)) });
181
181
  }
182
182
  function Tile({ item }) {
183
183
  const tone = item.tone ?? (item.accent ? "primary" : "default");
184
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-background p-5", children: [
184
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "oc-stat-tile bg-background p-5", children: [
185
185
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/80 font-mono text-[10px] tracking-widest uppercase", children: item.label }),
186
186
  /* @__PURE__ */ jsxRuntime.jsx(
187
187
  "div",
@@ -234,7 +234,7 @@ function StatBlock({ label, value, sub, delta, tone = "default", className }) {
234
234
  ] });
235
235
  }
236
236
  function StatCard({ pad = "default", className, ...stat }) {
237
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("border bg-card", pad === "sm" ? "p-3 md:p-4" : "p-5", className), children: /* @__PURE__ */ jsxRuntime.jsx(StatBlock, { ...stat }) });
237
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("oc-stat-card border bg-card", pad === "sm" ? "p-3 md:p-4" : "p-5", className), children: /* @__PURE__ */ jsxRuntime.jsx(StatBlock, { ...stat }) });
238
238
  }
239
239
  var FRAME = {
240
240
  info: "border-primary/30 bg-primary/5",
@@ -271,7 +271,7 @@ function DefinitionList({ items, className }) {
271
271
  "dl",
272
272
  {
273
273
  className: cn(
274
- "grid gap-x-5 gap-y-2 text-sm sm:grid-cols-[auto_1fr] sm:items-baseline",
274
+ "oc-deflist grid gap-x-5 gap-y-2 text-sm sm:grid-cols-[auto_1fr] sm:items-baseline",
275
275
  className
276
276
  ),
277
277
  children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(React3.Fragment, { children: [
@@ -287,7 +287,7 @@ function DataRow({ children, meta, action, as, className }) {
287
287
  Tag,
288
288
  {
289
289
  className: cn(
290
- "flex flex-col gap-1 py-3 sm:flex-row sm:items-baseline sm:justify-between sm:gap-4",
290
+ "oc-data-row flex flex-col gap-1 py-3 sm:flex-row sm:items-baseline sm:justify-between sm:gap-4",
291
291
  className
292
292
  ),
293
293
  children: [
@@ -300,6 +300,19 @@ function DataRow({ children, meta, action, as, className }) {
300
300
  }
301
301
  );
302
302
  }
303
+ function Panel({ label, title, action, flush, className, children }) {
304
+ const hasHeader = label || title || action;
305
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cn("oc-panel py-8", !flush && "border-t", className), children: [
306
+ hasHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-start justify-between gap-3", children: [
307
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
308
+ label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "label-mono text-primary mb-1", children: label }),
309
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-display text-lg font-bold tracking-tight", children: title })
310
+ ] }),
311
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: action })
312
+ ] }),
313
+ children
314
+ ] });
315
+ }
303
316
  function TwoToneHeading({
304
317
  lead,
305
318
  muted,
@@ -309,7 +322,7 @@ function TwoToneHeading({
309
322
  }) {
310
323
  const Tag = as ?? "h2";
311
324
  const leadColor = tone === "onBrand" ? "text-primary-foreground" : "text-foreground";
312
- const mutedColor = tone === "onBrand" ? "text-primary-foreground/60" : "text-foreground/40";
325
+ const mutedColor = tone === "onBrand" ? "text-primary-foreground/75" : "text-foreground/40";
313
326
  return /* @__PURE__ */ jsxRuntime.jsxs(
314
327
  Tag,
315
328
  {
@@ -924,6 +937,7 @@ exports.FeatureCard = FeatureCard;
924
937
  exports.HelpHint = HelpHint;
925
938
  exports.MarketingHeading = MarketingHeading;
926
939
  exports.NumberedStep = NumberedStep;
940
+ exports.Panel = Panel;
927
941
  exports.Section = Section;
928
942
  exports.SectionHeader = SectionHeader;
929
943
  exports.StatCard = StatCard;