/**
 * Default theme for the ButtonGroup component using CSS pseudo-classes
 */
const buttonGroupTheme = {
    // Base styles for the button group container with child button styling
    baseStyle: "inline-flex items-stretch " +
        // Horizontal orientation - direct button children (skip only-child)
        "[&>button:first-child:not(:only-child)]:rounded-r-none " +
        "[&>button:last-child:not(:only-child)]:rounded-l-none " +
        "[&>button:not(:first-child):not(:last-child)]:rounded-none " +
        "[&>button:not(:first-child)]:-ml-px " +
        "[&>button]:relative [&>button]:focus:z-10 [&>button]:hover:z-10 " +
        // Horizontal orientation - nested button children (skip only-child)
        "[&>*:first-child:not(:only-child)>button]:rounded-r-none " +
        "[&>*:last-child:not(:only-child)>button]:rounded-l-none " +
        "[&>*:not(:first-child):not(:last-child)>button]:rounded-none " +
        "[&>*:not(:first-child)>button]:-ml-px " +
        "[&>*>button]:relative [&>*>button]:focus:z-10 [&>*>button]:hover:z-10 " +
        // Vertical orientation child styles (via data-attribute)
        "data-[orientation=vertical]:[&>button:first-child]:rounded-[var(--button-radius)] " +
        "data-[orientation=vertical]:[&>button:first-child]:rounded-b-none " +
        "data-[orientation=vertical]:[&>button:last-child]:rounded-[var(--button-radius)] " +
        "data-[orientation=vertical]:[&>button:last-child]:rounded-t-none " +
        "data-[orientation=vertical]:[&>button:not(:first-child):not(:last-child)]:rounded-none " +
        "data-[orientation=vertical]:[&>button:not(:first-child)]:-ml-0 " +
        "data-[orientation=vertical]:[&>button:not(:first-child)]:-mt-px " +
        // Vertical orientation - nested buttons
        "data-[orientation=vertical]:[&>*:first-child>button]:rounded-[var(--button-radius)] " +
        "data-[orientation=vertical]:[&>*:first-child>button]:rounded-b-none " +
        "data-[orientation=vertical]:[&>*:last-child>button]:rounded-[var(--button-radius)] " +
        "data-[orientation=vertical]:[&>*:last-child>button]:rounded-t-none " +
        "data-[orientation=vertical]:[&>*:not(:first-child):not(:last-child)>button]:rounded-none " +
        "data-[orientation=vertical]:[&>*:not(:first-child)>button]:-ml-0 " +
        "data-[orientation=vertical]:[&>*:not(:first-child)>button]:-mt-px",
    // Orientation-specific container styles
    orientationStyles: {
        horizontal: "flex-row",
        vertical: "flex-col",
    },
    // Separator styles
    separatorStyles: {
        base: "flex-shrink-0 bg-[var(--color-border)]",
        horizontal: "w-px self-stretch",
        vertical: "h-px self-stretch",
    },
    // Text styles for ButtonGroupText component
    textStyles: "px-3 py-2 text-base text-[var(--color-text-primary)] flex items-center",
};

export { buttonGroupTheme };
