{"version":3,"file":"Descriptions.mjs","names":[],"sources":["../../../src/base-ui/Descriptions/Descriptions.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { Fragment, memo } from 'react';\n\nimport { styles } from './style';\nimport type { DescriptionsProps } from './type';\n\nconst Descriptions = memo<DescriptionsProps>(\n  ({\n    bordered = false,\n    className,\n    classNames,\n    colon = true,\n    column = 1,\n    extra,\n    items,\n    ref,\n    styles: customStyles,\n    title,\n    ...rest\n  }) => {\n    const columnCount = Math.max(1, Math.floor(column));\n\n    let cursor = 0;\n    const placements = items.map((item) => {\n      const span = Math.min(Math.max(Math.floor(item.span ?? 1), 1), columnCount);\n      if (cursor + span > columnCount) cursor = 0;\n      const start = cursor;\n      cursor = (cursor + span) % columnCount;\n      return { span, start };\n    });\n\n    return (\n      <div className={cx(styles.root, className)} ref={ref} {...rest}>\n        {(title != null || extra != null) && (\n          <div className={styles.header}>\n            <div className={styles.title}>{title}</div>\n            {extra != null && <div className={styles.extra}>{extra}</div>}\n          </div>\n        )}\n        <dl\n          className={cx(styles.list, bordered && styles.bordered)}\n          style={{ gridTemplateColumns: `repeat(${columnCount}, auto minmax(0, 1fr))` }}\n        >\n          {items.map((item, index) => {\n            const { span, start } = placements[index];\n            const contentStart = String(start * 2 + 2);\n\n            return (\n              <Fragment key={item.key ?? index}>\n                <dt\n                  className={cx(styles.label, classNames?.label)}\n                  style={{ gridColumn: String(start * 2 + 1), ...customStyles?.label }}\n                >\n                  {item.label}\n                  {colon && item.label != null ? ':' : null}\n                </dt>\n                <dd\n                  className={cx(styles.content, classNames?.content)}\n                  style={{\n                    gridColumn: span > 1 ? `${contentStart} / span ${span * 2 - 1}` : contentStart,\n                    ...customStyles?.content,\n                  }}\n                >\n                  {item.children}\n                </dd>\n              </Fragment>\n            );\n          })}\n        </dl>\n      </div>\n    );\n  },\n);\n\nDescriptions.displayName = 'Descriptions';\n\nexport default Descriptions;\n"],"mappings":";;;;;;AAQA,MAAM,eAAe,MAClB,EACC,WAAW,OACX,WACA,YACA,QAAQ,MACR,SAAS,GACT,OACA,OACA,KACA,QAAQ,cACR,OACA,GAAG,WACC;CACJ,MAAM,cAAc,KAAK,IAAI,GAAG,KAAK,MAAM,MAAM,CAAC;CAElD,IAAI,SAAS;CACb,MAAM,aAAa,MAAM,KAAK,SAAS;EACrC,MAAM,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,GAAG,WAAW;EAC1E,IAAI,SAAS,OAAO,aAAa,SAAS;EAC1C,MAAM,QAAQ;EACd,UAAU,SAAS,QAAQ;EAC3B,OAAO;GAAE;GAAM;EAAM;CACvB,CAAC;CAED,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,OAAO,MAAM,SAAS;EAAQ;EAAK,GAAI;EAA1D,UAAA,EACI,SAAS,QAAQ,SAAS,SAC1B,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAvB,UAAA,CACE,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAQ,UAAA;GAAW,CAAA,GACzC,SAAS,QAAQ,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAQ,UAAA;GAAW,CAAA,CACzD;EAEP,CAAA,GAAA,oBAAC,MAAD;GACE,WAAW,GAAG,OAAO,MAAM,YAAY,OAAO,QAAQ;GACtD,OAAO,EAAE,qBAAqB,UAAU,YAAY,wBAAwB;GAE3E,UAAA,MAAM,KAAK,MAAM,UAAU;IAC1B,MAAM,EAAE,MAAM,UAAU,WAAW;IACnC,MAAM,eAAe,OAAO,QAAQ,IAAI,CAAC;IAEzC,OACE,qBAAC,UAAD,EAAA,UAAA,CACE,qBAAC,MAAD;KACE,WAAW,GAAG,OAAO,OAAO,YAAY,KAAK;KAC7C,OAAO;MAAE,YAAY,OAAO,QAAQ,IAAI,CAAC;MAAG,GAAG,cAAc;KAAM;KAFrE,UAAA,CAIG,KAAK,OACL,SAAS,KAAK,SAAS,OAAO,MAAM,IACnC;IACJ,CAAA,GAAA,oBAAC,MAAD;KACE,WAAW,GAAG,OAAO,SAAS,YAAY,OAAO;KACjD,OAAO;MACL,YAAY,OAAO,IAAI,GAAG,aAAa,UAAU,OAAO,IAAI,MAAM;MAClE,GAAG,cAAc;KACnB;KAEC,UAAA,KAAK;IACJ,CAAA,CACI,EAAA,GAjBK,KAAK,OAAO,KAiBjB;GAEd,CAAC;EACC,CAAA,CACD;;AAET,CACF;AAEA,aAAa,cAAc"}