{"version":3,"sources":["../src/divider/index.tsx"],"names":["useTheme","jsxs","spacing","jsx"],"mappings":";;;;;;;AA2BO,SAAS,OAAA,CAAQ;AAAA,EACtB,WAAA,GAAc,YAAA;AAAA,EACd,KAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,KAAA;AAAA,EACA,SAAA,GAAY,CAAA;AAAA,EACZ,OAAO,OAAA,GAAU,OAAA;AAAA,EACjB;AACF,CAAA,EAAiB;AACf,EAAA,MAAM,EAAE,MAAA,EAAO,GAAIA,eAAA,EAAS;AAC5B,EAAA,MAAM,SAAA,GAAY,SAAS,MAAA,CAAO,MAAA;AAElC,EAAA,IAAI,gBAAgB,UAAA,EAAY;AAC9B,IAAA,MAAM,KAAA,GAAuB;AAAA,MAC3B,SAAA,EAAW,SAAA;AAAA,MACX,KAAA,EAAO,SAAA;AAAA,MACP,YAAY,CAAA,EAAG,SAAS,CAAA,GAAA,EAAM,OAAO,IAAI,SAAS,CAAA,CAAA;AAAA,MAClD,SAAA,EAAW,KAAA;AAAA,MACX,YAAA,EAAc;AAAA,KAChB;AACA,IAAA,sCAAQ,KAAA,EAAA,EAAI,IAAA,EAAK,aAAY,kBAAA,EAAiB,UAAA,EAAW,WAAsB,KAAA,EAAc,CAAA;AAAA,EAC/F;AAEA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,WAAA;AAAA,QACL,SAAA;AAAA,QACA,KAAA,EAAO;AAAA,UACL,OAAA,EAAS,MAAA;AAAA,UACT,UAAA,EAAY,QAAA;AAAA,UACZ,GAAA,EAAKC,aAAQ,CAAC,CAAA;AAAA,UACd,OAAO,MAAA,CAAO,SAAA;AAAA,UACd,QAAA,EAAU,EAAA;AAAA,UACV,UAAA,EAAY,GAAA;AAAA,UACZ,UAAA,EAAY,KAAA;AAAA,UACZ,WAAA,EAAa;AAAA,SACf;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,SAAA,EAAW,CAAA,EAAG,SAAS,CAAA,GAAA,EAAM,OAAO,CAAA,CAAA,EAAI,SAAS,IAAG,EAAG,CAAA;AAAA,0BAC/EA,cAAA,CAAC,UAAM,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,0BACbA,cAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,CAAA,EAAG,SAAA,EAAW,CAAA,EAAG,SAAS,CAAA,GAAA,EAAM,OAAO,CAAA,CAAA,EAAI,SAAS,IAAG,EAAG;AAAA;AAAA;AAAA,KACjF;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACL,MAAA,EAAQ,CAAA;AAAA,QACR,WAAW,CAAA,EAAG,SAAS,CAAA,GAAA,EAAM,OAAO,IAAI,SAAS,CAAA,CAAA;AAAA,QACjD,UAAA,EAAY,KAAA;AAAA,QACZ,WAAA,EAAa,KAAA;AAAA,QACb,SAAA,EAAW,CAAA;AAAA,QACX,YAAA,EAAc,CAAA;AAAA,QACd,MAAA,EAAQ;AAAA;AACV;AAAA,GACF;AAEJ","file":"divider.cjs","sourcesContent":["/**\n * Divider (web). A line. Horizontal by default; pass orientation=\"vertical\"\n * to split a row. Optional inline label sits in the middle.\n *\n *   <Divider />\n *   <Divider label=\"OR\" />\n *   <Flex>...<Divider orientation=\"vertical\" />...</Flex>\n */\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { useTheme } from \"@plyxui/styles\";\nimport { spacing } from \"@plyxui/core\";\n\nexport interface DividerProps {\n  orientation?: \"horizontal\" | \"vertical\";\n  /** Inline label split-mode. Only meaningful for horizontal. */\n  label?: ReactNode;\n  /** Indent the line from the edge. Pixels. */\n  inset?: number;\n  /** Override the line color. Defaults to colors.stroke. */\n  color?: string;\n  /** Line thickness in pixels. Default 1. */\n  thickness?: number;\n  /** \"dashed\" or \"solid\". Default \"solid\". */\n  style?: \"solid\" | \"dashed\";\n  className?: string;\n}\n\nexport function Divider({\n  orientation = \"horizontal\",\n  label,\n  inset = 0,\n  color,\n  thickness = 1,\n  style: variant = \"solid\",\n  className,\n}: DividerProps) {\n  const { colors } = useTheme();\n  const lineColor = color ?? colors.stroke;\n\n  if (orientation === \"vertical\") {\n    const style: CSSProperties = {\n      alignSelf: \"stretch\",\n      width: thickness,\n      borderLeft: `${thickness}px ${variant} ${lineColor}`,\n      marginTop: inset,\n      marginBottom: inset,\n    };\n    return <div role=\"separator\" aria-orientation=\"vertical\" className={className} style={style} />;\n  }\n\n  if (label) {\n    return (\n      <div\n        role=\"separator\"\n        className={className}\n        style={{\n          display: \"flex\",\n          alignItems: \"center\",\n          gap: spacing[3],\n          color: colors.textMuted,\n          fontSize: 12,\n          fontWeight: 500,\n          marginLeft: inset,\n          marginRight: inset,\n        }}\n      >\n        <span style={{ flex: 1, borderTop: `${thickness}px ${variant} ${lineColor}` }} />\n        <span>{label}</span>\n        <span style={{ flex: 1, borderTop: `${thickness}px ${variant} ${lineColor}` }} />\n      </div>\n    );\n  }\n\n  return (\n    <hr\n      className={className}\n      style={{\n        border: 0,\n        borderTop: `${thickness}px ${variant} ${lineColor}`,\n        marginLeft: inset,\n        marginRight: inset,\n        marginTop: 0,\n        marginBottom: 0,\n        height: 0,\n      }}\n    />\n  );\n}\n"]}