export { useDeviceSettings } from './blockStylesCore';
import { _generateStyles } from './blockStylesCore';

export function generateBlockStyles(uniqueClass, devices, attributes, { elementSuffix = '', hasIcon = true } = {}) {
  return _generateStyles(uniqueClass, devices, attributes, { hover: false, elementSuffix, hasIcon });
}

// Interactive-state generators: read the matching attribute suffix and emit
// rules under the matching pseudo-class. Used by blocks that expose
// Main Hover / Main Focus / Main Active style tabs (e.g. the button block).
export function generateBlockStylesFocus(uniqueClass, devices, attributes) {
  return _generateStyles(uniqueClass, devices, attributes, { attrSuffix: '__focus', pseudoSelector: ':focus' });
}

export function generateBlockStylesActive(uniqueClass, devices, attributes) {
  return _generateStyles(uniqueClass, devices, attributes, { attrSuffix: '__active', pseudoSelector: ':active' });
}
