{"version":3,"file":"GroupHeader-CmiYQo1S.cjs","names":["groupAggregateEntries","groupLeafCount","groupRowLayout","groupSelectionState","groupIndentStyle","groupRowParts","GroupToggleSpacer","resolveMobileLabel","Box","Card","CardContent","Checkbox","IconButton","TableCell","TableRow","Typography","GroupMoreButton","GroupChevron","t0","$","_c","expanded","t1","undefined","t2","display","transition","transform","t3","Symbol","for","t4","GroupToggle","expandLabel","collapseLabel","onToggle","GroupHeaderRow","entry","columns","leadingCells","showActions","getCellProps","selection","labels","onToggleCollapse","onShowMore","footer","kind","more","parts","labelContent","label","groupKey","remaining","scope","groupTotal","collapsed","leafIds","selectedIds","groupState","T0","t5","t6","cell","row","layout","aggregateCells","aggregateOps","t7","t8","fontWeight","t9","level","t10","alignItems","gap","width","t11","key","expandGroup","collapseGroup","t12","input","selectAll","toggleGroupLeaves","t13","t14","t15","groupCount","t16","labelColumns","length","labelAggregates","map","_temp","t17","t18","column","column_0","node","node_0","cells","marginInlineStart","GroupHeaderCard","compact","card","p","pb","_temp2","mt"],"sources":["../src/components/GroupHeader.tsx"],"sourcesContent":["import {\n  groupAggregateEntries,\n  type GroupedFlatEntry,\n  groupLeafCount,\n  groupRowLayout,\n  groupSelectionState,\n  type TableLabels,\n} from \"@adapttable/core\";\nimport { type ColumnDef, type SelectionState } from \"@adapttable/react\";\nimport {\n  groupIndentStyle,\n  groupRowParts,\n  GroupToggleSpacer,\n  resolveMobileLabel,\n} from \"@adapttable/react/adapter\";\nimport {\n  Box,\n  Card,\n  CardContent,\n  Checkbox,\n  IconButton,\n  TableCell,\n  TableRow,\n  Typography,\n} from \"@mui/material\";\nimport type { ReactElement, ReactNode } from \"react\";\n\nimport { GroupMoreButton } from \"./kitControls\";\n\nfunction GroupChevron({ expanded }: Readonly<{ expanded: boolean }>) {\n  return (\n    <Box\n      component=\"span\"\n      aria-hidden\n      sx={{\n        display: \"inline-flex\",\n        transition: \"transform 150ms\",\n        transform: expanded ? \"rotate(90deg)\" : undefined,\n      }}\n    >\n      <svg\n        width=\"1em\"\n        height=\"1em\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      >\n        <path d=\"M9 6l6 6-6 6\" />\n      </svg>\n    </Box>\n  );\n}\n\nfunction GroupToggle({\n  expanded,\n  expandLabel,\n  collapseLabel,\n  onToggle,\n}: Readonly<{\n  expanded: boolean;\n  expandLabel: string;\n  collapseLabel: string;\n  onToggle: () => void;\n}>) {\n  return (\n    <IconButton\n      size=\"small\"\n      data-adapttable-part=\"group-toggle\"\n      aria-expanded={expanded}\n      aria-label={expanded ? collapseLabel : expandLabel}\n      onClick={onToggle}\n    >\n      <GroupChevron expanded={expanded} />\n    </IconButton>\n  );\n}\n\n/** MUI group header row for the desktop table. */\nexport function GroupHeaderRow<TRow>({\n  entry,\n  columns,\n  leadingCells,\n  showActions,\n  getCellProps,\n  selection,\n  labels,\n  onToggleCollapse,\n  onShowMore,\n}: Readonly<{\n  entry: Extract<\n    GroupedFlatEntry<TRow>,\n    { kind: \"group\" | \"groupFooter\" | \"groupMore\" }\n  >;\n  /** The data columns as rendered, so a subtotal lands under its own. */\n  columns: readonly ColumnDef<TRow>[];\n  /** Edge cells before the first data column (chevron, checkbox). */\n  leadingCells: number;\n  /** Whether a trailing actions column needs an empty cell. */\n  showActions: boolean;\n  /** The table's per-column cell props, so a number inherits its alignment. */\n  getCellProps: (column: ColumnDef<TRow>) => Record<string, unknown>;\n  selection: SelectionState | null;\n  labels: Required<TableLabels>;\n  onToggleCollapse: (groupKey: string) => void;\n  /** Reveal the next page of groups, or of one group's rows. */\n  onShowMore: (entry: { scope: \"groups\" | \"rows\"; groupKey?: string }) => void;\n}>): ReactElement {\n  // A footer is the same row with the controls taken away: no chevron\n  // (nothing to collapse from the bottom), no checkbox (the header's own\n  // selects the group), and a caption saying what the numbers are.\n  const footer = entry.kind === \"groupFooter\";\n  // A \"show more\" row is the same row again with a button where the label\n  // goes: one component, so the three never drift apart in a kit.\n  const more = entry.kind === \"groupMore\";\n  const parts = groupRowParts(entry.kind);\n  /** What the label cell shows: a button on a \"more\" row, else the name. */\n  let labelContent: ReactNode = entry.label;\n  if (entry.kind === \"groupMore\") {\n    labelContent = (\n      <GroupMoreButton\n        scope={entry.scope}\n        remaining={entry.remaining}\n        groupKey={entry.groupKey}\n        labels={labels}\n        onShowMore={onShowMore}\n      />\n    );\n  } else if (footer) {\n    labelContent = labels.groupTotal(entry.label);\n  }\n  const expanded = entry.kind !== \"group\" || !entry.collapsed;\n  const groupState =\n    selection && !footer && !more\n      ? groupSelectionState(entry.leafIds, selection.selectedIds)\n      : \"none\";\n  // One cell per column from the first aggregate onward: a subtotal only reads\n  // as one when it sits under the column it totals.\n  const layout = groupRowLayout<TRow, ColumnDef<TRow>>(\n    columns,\n    entry.kind === \"groupMore\" ? undefined : entry.aggregateCells,\n    entry.kind === \"groupMore\" ? undefined : entry.aggregateOps\n  );\n\n  return (\n    <TableRow\n      data-adapttable-part={parts.row}\n      data-collapsed={\n        entry.kind === \"group\" && entry.collapsed ? \"true\" : undefined\n      }\n    >\n      <TableCell\n        colSpan={leadingCells + layout.labelColumns.length}\n        data-adapttable-part={parts.cell}\n        sx={{ fontWeight: 600 }}\n        style={groupIndentStyle(entry.level)}\n      >\n        <Box\n          sx={{\n            display: \"inline-flex\",\n            alignItems: \"center\",\n            gap: 1,\n            width: \"100%\",\n          }}\n        >\n          {footer || more ? (\n            <GroupToggleSpacer />\n          ) : (\n            <GroupToggle\n              expanded={expanded}\n              expandLabel={labels.expandGroup}\n              collapseLabel={labels.collapseGroup}\n              onToggle={() => onToggleCollapse(entry.key)}\n            />\n          )}\n          {selection && !footer && !more && (\n            <Checkbox\n              data-adapttable-part=\"group-select\"\n              slotProps={{ input: { \"aria-label\": labels.selectAll } }}\n              checked={groupState === \"all\"}\n              indeterminate={groupState === \"some\"}\n              onChange={() => selection.toggleGroupLeaves(entry.leafIds)}\n            />\n          )}\n          <Typography\n            component=\"span\"\n            data-adapttable-part={parts.label}\n            variant=\"body2\"\n            sx={{ fontWeight: 600 }}\n          >\n            {labelContent}\n          </Typography>\n          <Typography\n            component=\"span\"\n            data-adapttable-part=\"group-count\"\n            variant=\"body2\"\n            color=\"text.secondary\"\n          >\n            {footer || more ? null : labels.groupCount(groupLeafCount(entry))}\n          </Typography>\n          {layout.labelAggregates.map(({ column, node }) => (\n            <Box\n              key={column.key}\n              component=\"span\"\n              data-adapttable-part=\"group-aggregate\"\n              data-column={column.key}\n              sx={{ marginInlineStart: \"auto\" }}\n            >\n              {node as ReactNode}\n            </Box>\n          ))}\n        </Box>\n      </TableCell>\n      {layout.cells.map(({ column, node }) => (\n        <TableCell\n          key={column.key}\n          {...getCellProps(column)}\n          data-adapttable-part={\n            node === undefined ? undefined : \"group-aggregate\"\n          }\n          data-column={node === undefined ? undefined : column.key}\n        >\n          {node as ReactNode}\n        </TableCell>\n      ))}\n      {showActions && <TableCell />}\n    </TableRow>\n  );\n}\n\n/** Group header block for the mobile card list. */\nexport function GroupHeaderCard<TRow>({\n  entry,\n  columns,\n  selection,\n  labels,\n  onToggleCollapse,\n  onShowMore,\n  compact = false,\n}: Readonly<{\n  entry: Extract<\n    GroupedFlatEntry<TRow>,\n    { kind: \"group\" | \"groupFooter\" | \"groupMore\" }\n  >;\n  /** The card's columns, for captioning each subtotal. */\n  columns: readonly ColumnDef<TRow>[];\n  selection: SelectionState | null;\n  labels: Required<TableLabels>;\n  onToggleCollapse: (groupKey: string) => void;\n  /** Reveal the next page of groups, or of one group's rows. */\n  onShowMore: (entry: { scope: \"groups\" | \"rows\"; groupKey?: string }) => void;\n  compact?: boolean;\n}>): ReactElement {\n  // A footer is the same row with the controls taken away: no chevron\n  // (nothing to collapse from the bottom), no checkbox (the header's own\n  // selects the group), and a caption saying what the numbers are.\n  const footer = entry.kind === \"groupFooter\";\n  // A \"show more\" row is the same row again with a button where the label\n  // goes: one component, so the three never drift apart in a kit.\n  const more = entry.kind === \"groupMore\";\n  const parts = groupRowParts(entry.kind);\n  /** What the label cell shows: a button on a \"more\" row, else the name. */\n  let labelContent: ReactNode = entry.label;\n  if (entry.kind === \"groupMore\") {\n    labelContent = (\n      <GroupMoreButton\n        scope={entry.scope}\n        remaining={entry.remaining}\n        groupKey={entry.groupKey}\n        labels={labels}\n        onShowMore={onShowMore}\n      />\n    );\n  } else if (footer) {\n    labelContent = labels.groupTotal(entry.label);\n  }\n  const expanded = entry.kind !== \"group\" || !entry.collapsed;\n  const groupState =\n    selection && !footer && !more\n      ? groupSelectionState(entry.leafIds, selection.selectedIds)\n      : \"none\";\n\n  return (\n    <Card\n      data-adapttable-part={parts.card}\n      data-collapsed={\n        entry.kind === \"group\" && entry.collapsed ? \"true\" : undefined\n      }\n      variant=\"outlined\"\n    >\n      <CardContent\n        sx={compact ? { p: 1.25, \"&:last-child\": { pb: 1.25 } } : undefined}\n      >\n        <Box\n          sx={{\n            display: \"inline-flex\",\n            alignItems: \"center\",\n            gap: 1,\n            fontWeight: 600,\n          }}\n        >\n          {footer || more ? (\n            <GroupToggleSpacer />\n          ) : (\n            <GroupToggle\n              expanded={expanded}\n              expandLabel={labels.expandGroup}\n              collapseLabel={labels.collapseGroup}\n              onToggle={() => onToggleCollapse(entry.key)}\n            />\n          )}\n          {selection && !footer && !more && (\n            <Checkbox\n              data-adapttable-part=\"group-select\"\n              slotProps={{ input: { \"aria-label\": labels.selectAll } }}\n              checked={groupState === \"all\"}\n              indeterminate={groupState === \"some\"}\n              onChange={() => selection.toggleGroupLeaves(entry.leafIds)}\n            />\n          )}\n          <Typography\n            component=\"span\"\n            data-adapttable-part={parts.label}\n            variant=\"body2\"\n            sx={{ fontWeight: 600 }}\n          >\n            {labelContent}\n          </Typography>\n          <Typography\n            component=\"span\"\n            data-adapttable-part=\"group-count\"\n            variant=\"body2\"\n            color=\"text.secondary\"\n          >\n            {footer || more ? null : labels.groupCount(groupLeafCount(entry))}\n          </Typography>\n        </Box>\n        {groupAggregateEntries<TRow, ColumnDef<TRow>>(\n          columns,\n          entry.kind === \"groupMore\" ? undefined : entry.aggregateCells,\n          entry.kind === \"groupMore\" ? undefined : entry.aggregateOps\n        ).map(({ column, node }) => (\n          <Box key={column.key} sx={{ display: \"flex\", gap: 1, mt: 0.5 }}>\n            <Typography component=\"span\" variant=\"body2\" color=\"text.secondary\">\n              {resolveMobileLabel(column)}\n            </Typography>\n            <Typography\n              component=\"span\"\n              data-adapttable-part=\"group-aggregate\"\n              data-column={column.key}\n              variant=\"body2\"\n              sx={{ marginInlineStart: \"auto\" }}\n            >\n              {node as ReactNode}\n            </Typography>\n          </Box>\n        ))}\n      </CardContent>\n    </Card>\n  );\n}\n"],"mappings":"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"}