{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "statistic",
  "type": "registry:ui",
  "title": "Statistic",
  "description": "값 하나와 그것을 부르는 이름. 타이틀과 강조된 숫자 두 부품으로 현재 수치를 인쇄합니다.",
  "registryDependencies": [
    "@atom/tokens",
    "@atom/lib-bem",
    "@atom/lib-cn"
  ],
  "files": [
    {
      "path": "poc/design-system/implement/src/components/statistic.tsx",
      "content": "\"use client\";\n\nimport type { HTMLAttributes, ReactNode, Ref } from \"react\";\nimport { flag, mod } from \"../lib/bem\";\nimport { cn } from \"../lib/cn\";\n\n/* -------------------------------------------------------------------------- */\n/*  Statistic (components/statistic.md, styles/atom/elements/statistic.css)   */\n/*    <Statistic label=\"진행 중 작업\" value={132} />                           */\n/*    <Statistic label=\"누적 처리\" value=\"12.9K\" valueLabel=\"12,900건\" size=\"large\" /> */\n/*    <Statistic.Group cols={4}>                                              */\n/*      <Statistic label=\"프로젝트\" value={18} />                              */\n/*    </Statistic.Group>                                                      */\n/* -------------------------------------------------------------------------- */\n\nexport type StatisticSize = \"small\" | \"medium\" | \"large\";\nexport type StatisticVariant = \"surface\" | \"plain\";\nexport type StatisticAlign = \"start\" | \"center\" | \"end\";\nexport type StatisticState = \"ready\" | \"loading\" | \"empty\";\nexport type StatisticGroupCols = 2 | 3 | 4;\n\nconst B = \"atom-statistic\";\nconst G = \"atom-statistic-group\";\n\n/** 데이터가 없을 때 값 자리에 쓰는 대시. `0` 은 측정 결과라 쓰지 않습니다. */\nconst EMPTY_DASH = \"—\";\n\nexport type StatisticProps = Omit<HTMLAttributes<HTMLDivElement>, \"children\"> & {\n  ref?: Ref<HTMLDivElement>;\n  /** 무엇을 센 수인지입니다. 문장 부호로 끝내지 않습니다. */\n  label: ReactNode;\n  /** 그 수입니다. 서식(천 단위 구분·단위·줄임)은 넘기기 전에 끝냅니다. */\n  value: string | number;\n  /** 값과 라벨의 크기입니다. */\n  size?: StatisticSize;\n  /** 자기 바닥을 가질지입니다. 이미 표면 위면 `plain`. */\n  variant?: StatisticVariant;\n  /** 두 줄의 정렬입니다. */\n  align?: StatisticAlign;\n  /** 값에 등폭 숫자를 씁니다. 세로로 쌓아 자릿수를 맞출 때만. */\n  tabular?: boolean;\n  /** 값 자리의 표시입니다. */\n  state?: StatisticState;\n  /** 줄인 값의 온전한 수입니다. `aria-label` 로 붙습니다. */\n  valueLabel?: string;\n};\n\nfunction StatisticRoot({\n  ref,\n  label,\n  value,\n  size = \"medium\",\n  variant = \"surface\",\n  align = \"start\",\n  tabular = false,\n  state = \"ready\",\n  valueLabel,\n  className,\n  ...rest\n}: StatisticProps) {\n  const loading = state === \"loading\";\n  const empty = state === \"empty\";\n  return (\n    <div\n      {...rest}\n      ref={ref}\n      data-state={state === \"ready\" ? undefined : state}\n      // 스켈레톤의 투명한 글자가 가짜 값으로 읽히지 않게\n      aria-busy={loading || undefined}\n      className={cn(\n        B,\n        mod(B, \"size\", size, \"medium\"),\n        mod(B, \"variant\", variant, \"surface\"),\n        mod(B, \"align\", align, \"start\"),\n        flag(B, \"tabular\", tabular),\n        className,\n      )}\n    >\n      {/* 라벨이 DOM 에서 값보다 앞 — \"진행 중 작업, 132\" 로 읽힙니다 */}\n      <span className={`${B}__label`}>{label}</span>\n      <span\n        className={`${B}__value`}\n        aria-label={!loading && !empty ? valueLabel : undefined}\n        aria-hidden={loading || undefined}\n      >\n        {empty ? EMPTY_DASH : value}\n      </span>\n    </div>\n  );\n}\n\nexport type StatisticGroupProps = HTMLAttributes<HTMLDivElement> & {\n  ref?: Ref<HTMLDivElement>;\n  /** KPI 행의 열 수입니다. 640px 아래에서는 2열로 접힙니다. */\n  cols?: StatisticGroupCols;\n};\n\n/** KPI 행 — 형제 블록 `atom-statistic-group`. Statistic 자신은 두 부품으로 남고 배치는 이쪽이 맡습니다. */\nfunction StatisticGroup({ ref, cols = 4, className, children, ...rest }: StatisticGroupProps) {\n  return (\n    <div {...rest} ref={ref} className={cn(G, mod(G, \"cols\", String(cols)), className)}>\n      {children}\n    </div>\n  );\n}\n\nexport const Statistic = Object.assign(StatisticRoot, { Group: StatisticGroup });\n",
      "type": "registry:ui",
      "target": "components/ui/statistic.tsx"
    },
    {
      "path": "poc/design-system/implement/src/styles/atom/elements/chart.css",
      "content": "/* ============================================================================\n   Element — Chart\n   ----------------------------------------------------------------------------\n   Four forms on one frame: stacked bar, horizontal bar, line, pie. The frame is\n   the same every time — header, legend, plot — because the thing that changes\n   between them is the shape of the data's job, not the furniture around it.\n\n   The marks are inline SVG. There is no chart library here: this catalogue\n   documents what the marks must measure, and a <svg> is the only way to put a\n   real 2px line and a real 4px data-end on the page next to the numbers that\n   specify them.\n\n   Series colour comes off `data-series` and nothing else. `--atom-chart-series-1`\n   … `-6` are a validated set — see Foundations · Color — and the order is the\n   colour-blind-safety mechanism, so a mark asks for slot 3 by name rather than\n   by its position in the DOM. That is also what keeps a filter from repainting\n   the survivors: the entity owns the slot.\n\n   Two pieces of negative space do the separating, and neither is a stroke:\n     · a 2px surface gap between touching fills (stack segments, adjacent bars)\n     · a 2px surface ring on markers, so they stay legible where lines cross\n\n   atom-chart\n     [data-type=\"bar|bar-horizontal|line|pie\"]\n                                            says which form this is. A data\n                                            attribute, not a modifier class: for\n                                            three of the four it changes nothing\n                                            visually — the SVG inside is what\n                                            differs — and a modifier that draws\n                                            nothing is a promise the stylesheet\n                                            does not keep\n     [data-view=\"chart|table\"]              chart, or the optional table view\n     __header  __title  __subtitle  __toggle\n     __legend  __legend-item  __legend-swatch  __legend-label\n     __plot                                 the SVG box\n     __grid-line  __axis  __axis-label      chrome, recessive\n     __bar  __line  __area  __marker  __slice\n     __value                                a direct label. Selective, never\n                                            one per point\n     __tooltip  __tooltip-title  __tooltip-row  __tooltip-swatch\n     __tooltip-label  __tooltip-value\n     __table                                optional. The same numbers as a\n                                            table, for screens that want one\n     __empty\n   ========================================================================== */\n\n.atom-chart {\n  display: flex;\n  flex-direction: column;\n  gap: var(--atom-x4);\n  min-width: 0;\n  color: var(--atom-fg-neutral);\n}\n\n/* --- header --------------------------------------------------------------- */\n.atom-chart__header {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  gap: var(--atom-x4);\n}\n\n/* 15px, not a heading size. The chart sits under a Section Title most of the\n   time, and two headings stacked read as two sections. */\n.atom-chart__title {\n  margin: 0;\n  font-size: 15px;\n  line-height: 1.5;\n  font-weight: 500;\n  color: var(--atom-fg-neutral);\n}\n\n.atom-chart__subtitle {\n  margin: 0;\n  font-size: 13px;\n  line-height: 1.5;\n  color: var(--atom-fg-neutral-muted);\n}\n\n.atom-chart__toggle {\n  display: flex;\n  align-items: center;\n  gap: var(--atom-x2);\n  flex-shrink: 0;\n}\n\n/* --- legend --------------------------------------------------------------- */\n/* Always present from two series up, and absent for one — with a single colour\n   the title already names what is plotted, and a one-swatch box restates it.\n   This is the dependable identity channel; the direct labels on the marks\n   supplement it rather than replace it. */\n.atom-chart__legend {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: var(--atom-x2) var(--atom-x4);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n.atom-chart__legend-item {\n  display: flex;\n  align-items: center;\n  gap: var(--atom-x2);\n  font-size: 13px;\n  color: var(--atom-fg-neutral-muted);\n}\n\n/* A long series name wraps rather than pushing its own swatch off the row. */\n.atom-chart__legend-label {\n  min-width: 0;\n}\n\n/* The swatch carries the identity so the label can stay in text ink. A legend\n   label painted in the series colour is illegible at slot 4 and reads as a link\n   everywhere else. */\n.atom-chart__legend-swatch {\n  width: 10px;\n  height: 10px;\n  flex-shrink: 0;\n  border-radius: 3px;\n  background: var(--atom-chart-series-1);\n}\n\n/* --- plot ---------------------------------------------------------------- */\n/* The box grows with its content. A fixed height that fits the plot but not the\n   x-axis band is how a chart card ends up with its own tiny scrollbar. */\n.atom-chart__plot {\n  position: relative;\n  min-width: 0;\n}\n\n.atom-chart__plot svg {\n  display: block;\n  width: 100%;\n  height: auto;\n  overflow: visible;\n}\n\n/* A pie has no axis band to fill, so its plot centres instead of stretching.\n   This is the one place the form changes the frame. */\n.atom-chart[data-type=\"pie\"] .atom-chart__plot {\n  display: flex;\n  justify-content: center;\n}\n\n.atom-chart[data-type=\"pie\"] .atom-chart__plot svg {\n  width: auto;\n  max-width: 100%;\n  max-height: 260px;\n}\n\n/* --- chrome -------------------------------------------------------------- */\n/* Hairline and solid. Dashing a gridline adds ink that isn't data and makes the\n   reader ask whether the line means a threshold. */\n.atom-chart__grid-line {\n  stroke: var(--atom-border-subtle);\n  stroke-width: 1;\n}\n\n.atom-chart__axis {\n  stroke: var(--atom-border-default);\n  stroke-width: 1;\n}\n\n.atom-chart__axis-label {\n  fill: var(--atom-fg-neutral-muted);\n  font-size: 11px;\n  font-variant-numeric: tabular-nums;\n}\n\n/* --- marks --------------------------------------------------------------- */\n/* `fill` and `stroke` both read the slot, so one attribute paints a bar, a line\n   or a slice. `--atom-chart-ink` is internal plumbing, not a token: it exists so\n   the six mark rules below can be written once instead of six times. */\n[data-series=\"1\"] { --atom-chart-ink: var(--atom-chart-series-1); }\n[data-series=\"2\"] { --atom-chart-ink: var(--atom-chart-series-2); }\n[data-series=\"3\"] { --atom-chart-ink: var(--atom-chart-series-3); }\n[data-series=\"4\"] { --atom-chart-ink: var(--atom-chart-series-4); }\n[data-series=\"5\"] { --atom-chart-ink: var(--atom-chart-series-5); }\n[data-series=\"6\"] { --atom-chart-ink: var(--atom-chart-series-6); }\n\n.atom-chart__legend-swatch[data-series] {\n  background: var(--atom-chart-ink);\n}\n\n.atom-chart__bar,\n.atom-chart__slice {\n  fill: var(--atom-chart-ink);\n}\n\n.atom-chart__line {\n  fill: none;\n  stroke: var(--atom-chart-ink);\n  stroke-width: 2;\n  stroke-linejoin: round;\n  stroke-linecap: round;\n}\n\n/* A wash, not a block. Only ever under a single series — two translucent areas\n   stacked stop being either colour. */\n.atom-chart__area {\n  fill: var(--atom-chart-ink);\n  opacity: 0.1;\n}\n\n/* r=4 is the 8px floor. The ring is the surface colour, so a marker stays\n   legible where it crosses its own line or a neighbour's, and it counts toward\n   the hit target rather than just spacing. */\n.atom-chart__marker {\n  fill: var(--atom-chart-ink);\n  stroke: var(--atom-bg-layer);\n  stroke-width: 2;\n}\n\n/* Values wear text ink, never the series colour. The mark beside them carries\n   identity. */\n.atom-chart__value {\n  fill: var(--atom-fg-neutral);\n  font-size: 11px;\n  font-weight: 500;\n  font-variant-numeric: tabular-nums;\n}\n\n/* The one exception: a label set inside a filled segment picks white or ink by\n   the fill's luminance, because the surface is no longer behind it. The pick is\n   measured, not guessed — see --atom-chart-on-fill-ink in tokens.css — and it is\n   per slot, so an in-fill label carries its own data-series to know which. */\n.atom-chart__value--on-fill {\n  fill: var(--atom-fg-on-solid);\n}\n\n.atom-chart__value--on-fill[data-series=\"2\"],\n.atom-chart__value--on-fill[data-series=\"3\"],\n.atom-chart__value--on-fill[data-series=\"4\"] {\n  fill: var(--atom-chart-on-fill-ink);\n}\n\n/* --- tooltip ------------------------------------------------------------- */\n/* Enhances, never gates. Every value here is also in the table view, so a\n   reader who cannot hover is not locked out. */\n.atom-chart__tooltip {\n  position: absolute;\n  z-index: 10;\n  min-width: 132px;\n  padding: var(--atom-x2) var(--atom-x3);\n  border-radius: var(--atom-radius-r2);\n  background: var(--atom-bg-tooltip);\n  box-shadow: var(--atom-shadow-s2);\n  color: var(--atom-fg-tooltip);\n  font-size: 12px;\n  pointer-events: none;\n}\n\n.atom-chart__tooltip[data-state=\"closed\"] {\n  display: none;\n}\n\n.atom-chart__tooltip-title {\n  margin-bottom: 4px;\n  font-weight: 600;\n}\n\n.atom-chart__tooltip-row {\n  display: flex;\n  align-items: center;\n  gap: var(--atom-x2);\n}\n\n.atom-chart__tooltip-swatch {\n  width: 8px;\n  height: 8px;\n  flex-shrink: 0;\n  border-radius: 2px;\n  background: var(--atom-chart-ink);\n}\n\n.atom-chart__tooltip-label {\n  flex: 1;\n  min-width: 0;\n}\n\n.atom-chart__tooltip-value {\n  font-variant-numeric: tabular-nums;\n  font-weight: 600;\n}\n\n/* --- crosshair ----------------------------------------------------------- */\n/* Line and area only. On a bar or a slice the mark itself is the hit target, so\n   a vertical rule would just be another line to read. */\n.atom-chart__crosshair {\n  stroke: var(--atom-border-default);\n  stroke-width: 1;\n}\n\n/* --- table view ---------------------------------------------------------- */\n/* The twin, not a fallback. It holds the same numbers the plot draws, which is\n   what lets the direct labels stay sparing and the tooltip stay an enhancement. */\n.atom-chart__table {\n  overflow-x: auto;\n}\n\n.atom-chart[data-view=\"chart\"] .atom-chart__table,\n.atom-chart[data-view=\"table\"] .atom-chart__plot,\n.atom-chart[data-view=\"table\"] .atom-chart__legend {\n  display: none;\n}\n\n.atom-chart__table table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 13px;\n}\n\n.atom-chart__table th,\n.atom-chart__table td {\n  padding: var(--atom-x2) var(--atom-x3);\n  border-bottom: 1px solid var(--atom-border-subtle);\n  text-align: right;\n  font-variant-numeric: tabular-nums;\n}\n\n.atom-chart__table th:first-child,\n.atom-chart__table td:first-child {\n  text-align: left;\n  font-variant-numeric: normal;\n}\n\n.atom-chart__table thead th {\n  font-weight: 600;\n  color: var(--atom-fg-neutral-muted);\n}\n\n/* --- empty --------------------------------------------------------------- */\n.atom-chart__empty {\n  display: grid;\n  place-items: center;\n  min-height: 160px;\n  font-size: 14px;\n  color: var(--atom-fg-neutral-subtle);\n}\n\n/* --- forced colors ------------------------------------------------------- */\n/* Where hue is taken away, the legend and the table are what is left. Marks get\n   a system outline so the shapes still read. */\n@media (forced-colors: active) {\n  .atom-chart__bar,\n  .atom-chart__slice {\n    stroke: CanvasText;\n    stroke-width: 1;\n  }\n\n  .atom-chart__line {\n    stroke: CanvasText;\n  }\n}\n",
      "type": "registry:file",
      "target": "styles/atom/elements/chart.css"
    },
    {
      "path": "poc/design-system/implement/src/styles/atom/elements/statistic.css",
      "content": "/* ============================================================================\n   Element — Statistic\n   ----------------------------------------------------------------------------\n   One number and the word for it. Two parts, and that is the whole element:\n   a label that says what is being counted, and the count.\n\n   It exists because a single current value is not a chart. A one-bar bar chart\n   spends an axis, a baseline and a legend to say \"18\" — the number is the\n   chart, so print the number.\n\n   The value is deliberately NOT `tabular-nums`. Equal-width digits are for\n   columns that align vertically; on a standalone 24px figure they leave `121`\n   looking loose and gappy. Proportional figures are the default here and\n   tabular is the opt-in, which is the reverse of every other numeric slot in\n   this system — see the note in the guide.\n\n   No icon, no delta, no sparkline. Those are the parts of a fuller stat tile;\n   this element is the two-part case, and adding a third part quietly would make\n   every existing use site inconsistent with the spec.\n\n   atom-statistic\n     --size_{small|medium|large}    medium is the default\n     --variant_{surface|plain}      surface is the default — a tile with its own\n                                    ground. `plain` drops it for the cases that\n                                    already sit on a surface\n     --align_{start|center|end}     start is the default\n     --tabular                      equal-width digits, for a stacked column\n     [data-state=\"loading|empty\"]\n     __label    what is counted. Sentence case, no trailing colon\n     __value    the count\n\n   atom-statistic-group             the KPI row — a sibling block, so Statistic\n                                    itself stays two parts\n     --cols_{2|3|4}\n   ========================================================================== */\n\n/* A tile with its own ground, bounded by a hairline rather than lifted by a\n   shadow. Foundations · Shadow states that rule plainly: a surface that is\n   always on screen draws its edge with `--atom-border-subtle`, because an\n   elevation on something permanent reads as a thing about to move — and in dark\n   mode a shadow-only edge dissolves into the background.\n\n   `--atom-bg-layer` rather than a literal white: it resolves to #ffffff in light\n   and #26272e in dark. A hard-coded white would be a white card on a near-black\n   page.\n\n   The padding is what makes the number look placed rather than cramped. 20px all\n   round at the default size — the figure is the subject of the tile, and a\n   subject needs air on both sides of it. */\n.atom-statistic {\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n  min-width: 0;\n  padding: var(--atom-x5);\n  border-radius: var(--atom-radius-r2);\n  background: var(--atom-bg-layer);\n  box-shadow: inset 0 0 0 1px var(--atom-border-subtle);\n}\n\n/* The opt-out. A Statistic inside a Grid cell, a Chart header or another card is\n   already on a surface, and a second ground nested in the first reads as a seam\n   rather than a tile. */\n/* Size sets the padding too, so the reset has to outrank all three sizes. */\n.atom-statistic--variant_plain,\n.atom-statistic--variant_plain.atom-statistic--size_small,\n.atom-statistic--variant_plain.atom-statistic--size_large {\n  padding: 0;\n  border-radius: 0;\n  background: none;\n  box-shadow: none;\n}\n\n/* --- label --------------------------------------------------------------- */\n/* Muted and small: it names the number rather than competing with it. 13px is\n   `--atom-t3`, the scale's step for supporting text. */\n.atom-statistic__label {\n  min-width: 0;\n  font-size: 13px;\n  line-height: 1.5;\n  color: var(--atom-fg-neutral-muted);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n/* --- value --------------------------------------------------------------- */\n/* 24px is `--atom-t9`. 600 rather than the 500 this system gives headings: a\n   figure is not a heading, and the weight is what makes it read as the subject\n   of the tile next to a muted label.\n\n   `font-variant-numeric: normal` is written out rather than left off, because\n   several ancestors in this repo set `tabular-nums` and a standalone figure\n   must not inherit it. */\n.atom-statistic__value {\n  min-width: 0;\n  font-size: 24px;\n  line-height: 1.45;\n  font-weight: 600;\n  letter-spacing: -0.01em;\n  font-variant-numeric: normal;\n  color: var(--atom-fg-neutral);\n}\n\n/* The opt-in. A column of Statistics that must line up digit-for-digit — a\n   stacked list rather than a row — turns tabular back on. */\n.atom-statistic--tabular .atom-statistic__value {\n  font-variant-numeric: tabular-nums;\n}\n\n/* --- align --------------------------------------------------------------- */\n.atom-statistic--align_center {\n  align-items: center;\n  text-align: center;\n}\n\n.atom-statistic--align_end {\n  align-items: flex-end;\n  text-align: right;\n}\n\n/* --- sizes --------------------------------------------------------------- */\n/* Three steps off the type scale: 20 / 24 / 32 (`--atom-t8` · `t9` · `t10`).\n   The label moves one step with it so the pair keeps its proportion, and the\n   padding steps too — a 32px number in 16px of padding looks like it outgrew\n   its tile. */\n.atom-statistic--size_small {\n  padding: var(--atom-x4);\n}\n\n.atom-statistic--size_small .atom-statistic__value {\n  font-size: 20px;\n  line-height: 1.45;\n}\n\n.atom-statistic--size_small .atom-statistic__label {\n  font-size: 12px;\n}\n\n.atom-statistic--size_large {\n  padding: var(--atom-x6);\n}\n\n.atom-statistic--size_large .atom-statistic__value {\n  font-size: 32px;\n  line-height: 1.25;\n  letter-spacing: -0.02em;\n}\n\n.atom-statistic--size_large .atom-statistic__label {\n  font-size: 14px;\n}\n\n/* --- states -------------------------------------------------------------- */\n/* A skeleton the width of a plausible number, not of the loading text. Sizing it\n   to the words makes the tile jump when the real value lands. */\n.atom-statistic[data-state=\"loading\"] .atom-statistic__value {\n  min-height: 1.45em;\n  border-radius: var(--atom-radius-r1);\n  background: var(--atom-bg-neutral-weak);\n  color: transparent;\n  width: 3.5ch;\n}\n\n/* An em dash, not a zero. `0` is a measurement; the dash says there is nothing\n   to measure. */\n.atom-statistic[data-state=\"empty\"] .atom-statistic__value {\n  color: var(--atom-fg-neutral-subtle);\n  font-weight: 500;\n}\n\n/* --- group — the KPI row -------------------------------------------------- */\n/* Equal columns, so four numbers of different digit counts still sit on a grid\n   the eye can scan down. A flex row would let the widest number steal space.\n\n   12px between tiles, not 20px: each tile now carries 20px of its own padding,\n   and a gap as wide as the padding makes the row read as four separate cards\n   rather than one band of numbers. */\n.atom-statistic-group {\n  display: grid;\n  grid-template-columns: repeat(var(--atom-statistic-cols, 4), minmax(0, 1fr));\n  gap: var(--atom-x3);\n  min-width: 0;\n}\n\n.atom-statistic-group--cols_2 {\n  --atom-statistic-cols: 2;\n}\n\n.atom-statistic-group--cols_3 {\n  --atom-statistic-cols: 3;\n}\n\n.atom-statistic-group--cols_4 {\n  --atom-statistic-cols: 4;\n}\n\n/* Below the breakpoint four columns give each number about 70px, which is not\n   enough for a label. Two columns is the floor — one column per row turns a\n   glanceable row into a list to scroll. */\n@media (max-width: 640px) {\n  .atom-statistic-group {\n    --atom-statistic-cols: 2;\n  }\n}\n",
      "type": "registry:file",
      "target": "styles/atom/elements/statistic.css"
    }
  ],
  "categories": [
    "display"
  ],
  "meta": {
    "version": "0.1.0",
    "kind": "component",
    "status": "stable",
    "specSource": "measured",
    "parts": [
      "Statistic",
      "Statistic.Group"
    ],
    "docs": "poc/design-system/components/statistic.md"
  }
}
