{"version":3,"file":"GridLayout.mocks.jsx","sourceRoot":"","sources":["../../../src/core/PageTemplates/GridLayout.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import styled, { createGlobalStyle } from 'styled-components';\nimport { useMemo } from 'react';\n\nimport {\n  Flex,\n  Card,\n  CardHeader,\n  CardContent,\n  Text,\n  FieldValueItem,\n  Icon,\n  useElement,\n  type BaseProps,\n  type GridLayoutModel,\n  createUID,\n  colorsForCategories\n} from '@pega/cosmos-react-core';\nimport { useMonitoredSize } from '@pega/cosmos-react-core/lib/components/PageTemplates/GridLayout/utils';\n\nimport { FeedDemo } from '../../social/Feed/Feed.stories';\nimport { MockSummaryList } from '../../work/CaseView/CaseView.mocks';\n\nimport { StyledGridChildWrapper } from './PageTemplates.styles';\n\nexport const StyledStory = styled(Flex)`\n  block-size: 100%;\n`;\n\nexport const SbGlobalHeight = createGlobalStyle`\n  /* To propagate body height down to the stories */\n  /* stylelint-disable-next-line selector-max-id */\n  #storybook-root,\n  .sb-show-main.sb-main-fullscreen {\n    height: 100%;\n  }\n`;\n\nconst randomlyPickInList = <T,>(arr: T[]): T => {\n  return arr[Math.floor(arr.length * Math.random())];\n};\n\n/* ================ Card with Paragraph ================ */\nconst StyledCard = styled.article`\n  inline-size: 100%;\n  block-size: 100%;\n`;\n\nconst ParagraphCard = ({ className }: BaseProps) => {\n  return (\n    <Card as={StyledCard} className={className}>\n      <CardHeader>\n        <Text variant='h2'>Simple Card</Text>\n      </CardHeader>\n      <CardContent>\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\n        labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco\n        laboris nisi ut aliquip ex ea commodo consequat.\n      </CardContent>\n    </Card>\n  );\n};\n\nconst StyledParagraphCard = styled(ParagraphCard)`\n  height: 100%;\n  width: 100%;\n  overflow: auto;\n`;\n\n/* ================ SimpleValue Mocks ================ */\nconst StyledTrendIcon = styled(Icon)`\n  color: ${props => props.theme.components.sentiment.positive.color};\n`;\n\nconst StyledFieldList = styled.dl`\n  display: contents;\n`;\n\nconst SimpleValueDemo = () => (\n  <Card as={StyledCard}>\n    <CardContent container={{ direction: 'column', gap: 0.5 }}>\n      <StyledFieldList>\n        <FieldValueItem\n          name='Revenue this year'\n          value={\n            <Text variant='h1' as='span'>\n              $9,876,543.21\n            </Text>\n          }\n          variant='stacked'\n        />\n      </StyledFieldList>\n      <Text variant='secondary'>\n        <StyledTrendIcon name='arrow-up' />\n        $1 million over last year\n      </Text>\n    </CardContent>\n  </Card>\n);\n\n/* ================ Chart Mocks ================ */\ntype MockChartType = 'COLUMN' | 'DONUT' | 'COMBO_CHART' | 'LINE' | 'GAUGE';\nconst mockChartTypes: MockChartType[] = ['COLUMN', 'DONUT', 'COMBO_CHART', 'LINE', 'GAUGE'];\n\nconst iconLookup: Record<MockChartType, string> = {\n  COLUMN: 'dataviz-column',\n  DONUT: 'dataviz-donut',\n  COMBO_CHART: 'dataviz-combo',\n  LINE: 'dataviz-line',\n  GAUGE: 'dataviz-gauge'\n};\n\nconst StyledChartCard = styled(Card)<{ fontSize: string; color: string }>`\n  block-size: 100%;\n  inline-size: 100%;\n  overflow: auto;\n  font-size: ${props => props.fontSize};\n  color: ${props => props.color};\n`;\n\nconst MockChart = ({ chartType }: { chartType: MockChartType }) => {\n  const [wrapperEl, setWrapperEl] = useElement<HTMLElement>(null);\n  const size = useMonitoredSize(wrapperEl);\n  const fontSize = useMemo(() => {\n    if (!size) return '20px';\n    return `${Math.min(size.width, size.height) * 0.7}px`;\n  }, [size]);\n  const color = useMemo(() => randomlyPickInList(colorsForCategories(10)), []);\n\n  return (\n    <StyledChartCard\n      ref={setWrapperEl}\n      fontSize={fontSize}\n      color={color}\n      container={{ direction: 'column', justify: 'center' }}\n    >\n      <CardContent container={{ alignItems: 'center' }}>\n        <Icon name={iconLookup[chartType]} size='font-size' />\n      </CardContent>\n    </StyledChartCard>\n  );\n};\n\n/* ================ Grid Viewer/Editor mocks ================ */\nexport const gridBreakpointSetup = {\n  breakpoints: { lg: 1000, md: 500, xxs: 0 },\n  cols: { lg: 12, md: 8, xxs: 4 },\n  rows: { lg: { rowsPerPage: 8 }, md: { rowsPerPage: 6 }, xxs: { rowsPerPage: 4 } }\n};\n\ntype MockGridItem = {\n  id: string;\n  type: 'FEED' | 'SUMMARY_LIST' | 'PARAGRAPH' | 'SIMPLE_VALUE' | MockChartType;\n};\n\ntype GridConfig = { items: MockGridItem[]; layout: GridLayoutModel };\n\nexport const getDefaultGridConfig = (): GridConfig => ({\n  items: [\n    { id: 'simple-value-1', type: 'SIMPLE_VALUE' },\n    { id: 'simple-value-2', type: 'SIMPLE_VALUE' },\n    { id: 'simple-value-3', type: 'SIMPLE_VALUE' },\n    { id: 'simple-value-4', type: 'SIMPLE_VALUE' },\n    { id: 'chart-1', type: 'DONUT' },\n    { id: 'chart-2', type: 'COLUMN' },\n    { id: 'summary-list-1', type: 'SUMMARY_LIST' },\n    { id: 'feed-1', type: 'FEED' }\n  ],\n  layout: {\n    lg: [\n      { i: 'simple-value-1', x: 0, y: 0, w: 3, h: 1, minW: 2, minH: 1 },\n      { i: 'simple-value-2', x: 3, y: 0, w: 3, h: 1, minW: 2, minH: 1 },\n      { i: 'simple-value-3', x: 6, y: 0, w: 3, h: 1, minW: 2, minH: 1 },\n      { i: 'simple-value-4', x: 9, y: 0, w: 3, h: 1, minW: 2, minH: 1 },\n      { i: 'chart-1', x: 0, y: 1, w: 3, h: 3, minW: 2, minH: 2 },\n      { i: 'chart-2', x: 3, y: 1, w: 5, h: 3, minW: 2, minH: 2 },\n      { i: 'summary-list-1', x: 0, y: 4, w: 8, h: 4, minW: 2, minH: 2 },\n      { i: 'feed-1', x: 8, y: 1, w: 4, h: 7, minW: 2, minH: 3 }\n    ]\n  }\n});\n\nconst deriveGridItem = (itemType: MockGridItem['type']) => {\n  switch (itemType) {\n    case 'FEED':\n      return <FeedDemo />;\n    case 'SUMMARY_LIST':\n      return <MockSummaryList name='My team' limit={10} actions={null} />;\n    case 'PARAGRAPH':\n      return <StyledParagraphCard />;\n    case 'SIMPLE_VALUE':\n      return <SimpleValueDemo />;\n    default:\n      return <MockChart chartType={itemType} />;\n  }\n};\n\nexport const deriveGridChildren = (items: MockGridItem[]) => {\n  return items.map(item => (\n    <StyledGridChildWrapper key={item.id}>{deriveGridItem(item.type)}</StyledGridChildWrapper>\n  ));\n};\n\nexport const generateNewItem = (type: 'CHART' | 'PARAGRAPH'): MockGridItem => ({\n  id: createUID(),\n  type: type === 'PARAGRAPH' ? type : randomlyPickInList(mockChartTypes)\n});\n\nconst savedGridConfigKey = 'StoryBook-SavedGridLayoutConfig';\n\nexport const getInitialGridConfig = (ignoreSessionStorage?: boolean): GridConfig => {\n  if (ignoreSessionStorage) return getDefaultGridConfig();\n\n  const previousConfig = sessionStorage.getItem(savedGridConfigKey);\n  return previousConfig ? JSON.parse(previousConfig) : getDefaultGridConfig();\n};\n\nexport const persistGridConfig = (config: GridConfig) => {\n  sessionStorage.setItem(savedGridConfigKey, JSON.stringify(config));\n};\n"]}