"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.atoms = void 0;
exports.flatten = flatten;
var _reactNative = require("react-native");
var _tokens = require("./tokens.js");
/**
 * Static, theme-independent style atoms.
 * Follows ALF naming conventions (Tailwind-inspired with underscores).
 */
const atoms = exports.atoms = _reactNative.StyleSheet.create({
  // ---- Flex layout ----
  flex_row: {
    flexDirection: 'row'
  },
  flex_col: {
    flexDirection: 'column'
  },
  flex_row_reverse: {
    flexDirection: 'row-reverse'
  },
  flex_col_reverse: {
    flexDirection: 'column-reverse'
  },
  flex_wrap: {
    flexWrap: 'wrap'
  },
  flex_1: {
    flex: 1
  },
  flex_shrink: {
    flexShrink: 1
  },
  flex_grow: {
    flexGrow: 1
  },
  // ---- Alignment ----
  align_center: {
    alignItems: 'center'
  },
  align_start: {
    alignItems: 'flex-start'
  },
  align_end: {
    alignItems: 'flex-end'
  },
  align_baseline: {
    alignItems: 'baseline'
  },
  align_stretch: {
    alignItems: 'stretch'
  },
  justify_center: {
    justifyContent: 'center'
  },
  justify_between: {
    justifyContent: 'space-between'
  },
  justify_end: {
    justifyContent: 'flex-end'
  },
  justify_start: {
    justifyContent: 'flex-start'
  },
  self_center: {
    alignSelf: 'center'
  },
  self_start: {
    alignSelf: 'flex-start'
  },
  self_end: {
    alignSelf: 'flex-end'
  },
  self_stretch: {
    alignSelf: 'stretch'
  },
  // ---- Position ----
  relative: {
    position: 'relative'
  },
  absolute: {
    position: 'absolute'
  },
  inset_0: {
    top: 0,
    right: 0,
    bottom: 0,
    left: 0
  },
  top_0: {
    top: 0
  },
  bottom_0: {
    bottom: 0
  },
  left_0: {
    left: 0
  },
  right_0: {
    right: 0
  },
  // ---- Sizing ----
  w_full: {
    width: '100%'
  },
  h_full: {
    height: '100%'
  },
  max_w_full: {
    maxWidth: '100%'
  },
  // ---- Overflow ----
  overflow_hidden: {
    overflow: 'hidden'
  },
  // ---- Z-index ----
  z_10: {
    zIndex: 10
  },
  z_20: {
    zIndex: 20
  },
  z_30: {
    zIndex: 30
  },
  z_40: {
    zIndex: 40
  },
  z_50: {
    zIndex: 50
  },
  // ---- Padding ----
  p_2xs: {
    padding: _tokens.space._2xs
  },
  p_xs: {
    padding: _tokens.space.xs
  },
  p_sm: {
    padding: _tokens.space.sm
  },
  p_md: {
    padding: _tokens.space.md
  },
  p_lg: {
    padding: _tokens.space.lg
  },
  p_xl: {
    padding: _tokens.space.xl
  },
  p_2xl: {
    padding: _tokens.space._2xl
  },
  px_2xs: {
    paddingHorizontal: _tokens.space._2xs
  },
  px_xs: {
    paddingHorizontal: _tokens.space.xs
  },
  px_sm: {
    paddingHorizontal: _tokens.space.sm
  },
  px_md: {
    paddingHorizontal: _tokens.space.md
  },
  px_lg: {
    paddingHorizontal: _tokens.space.lg
  },
  px_xl: {
    paddingHorizontal: _tokens.space.xl
  },
  px_2xl: {
    paddingHorizontal: _tokens.space._2xl
  },
  py_2xs: {
    paddingVertical: _tokens.space._2xs
  },
  py_xs: {
    paddingVertical: _tokens.space.xs
  },
  py_sm: {
    paddingVertical: _tokens.space.sm
  },
  py_md: {
    paddingVertical: _tokens.space.md
  },
  py_lg: {
    paddingVertical: _tokens.space.lg
  },
  py_xl: {
    paddingVertical: _tokens.space.xl
  },
  pt_2xs: {
    paddingTop: _tokens.space._2xs
  },
  pt_xs: {
    paddingTop: _tokens.space.xs
  },
  pt_sm: {
    paddingTop: _tokens.space.sm
  },
  pt_md: {
    paddingTop: _tokens.space.md
  },
  pt_lg: {
    paddingTop: _tokens.space.lg
  },
  pb_2xs: {
    paddingBottom: _tokens.space._2xs
  },
  pb_xs: {
    paddingBottom: _tokens.space.xs
  },
  pb_sm: {
    paddingBottom: _tokens.space.sm
  },
  pb_md: {
    paddingBottom: _tokens.space.md
  },
  pb_lg: {
    paddingBottom: _tokens.space.lg
  },
  pr_2xs: {
    paddingRight: _tokens.space._2xs
  },
  pr_xs: {
    paddingRight: _tokens.space.xs
  },
  pr_sm: {
    paddingRight: _tokens.space.sm
  },
  pr_md: {
    paddingRight: _tokens.space.md
  },
  pr_lg: {
    paddingRight: _tokens.space.lg
  },
  pl_2xs: {
    paddingLeft: _tokens.space._2xs
  },
  pl_xs: {
    paddingLeft: _tokens.space.xs
  },
  pl_sm: {
    paddingLeft: _tokens.space.sm
  },
  pl_md: {
    paddingLeft: _tokens.space.md
  },
  pl_lg: {
    paddingLeft: _tokens.space.lg
  },
  // ---- Margin ----
  m_auto: {
    margin: 'auto'
  },
  mx_auto: {
    marginHorizontal: 'auto'
  },
  my_auto: {
    marginVertical: 'auto'
  },
  mt_2xs: {
    marginTop: _tokens.space._2xs
  },
  mt_xs: {
    marginTop: _tokens.space.xs
  },
  mt_sm: {
    marginTop: _tokens.space.sm
  },
  mt_md: {
    marginTop: _tokens.space.md
  },
  mt_lg: {
    marginTop: _tokens.space.lg
  },
  mb_2xs: {
    marginBottom: _tokens.space._2xs
  },
  mb_xs: {
    marginBottom: _tokens.space.xs
  },
  mb_sm: {
    marginBottom: _tokens.space.sm
  },
  mb_md: {
    marginBottom: _tokens.space.md
  },
  mb_lg: {
    marginBottom: _tokens.space.lg
  },
  mr_2xs: {
    marginRight: _tokens.space._2xs
  },
  mr_xs: {
    marginRight: _tokens.space.xs
  },
  mr_sm: {
    marginRight: _tokens.space.sm
  },
  mr_md: {
    marginRight: _tokens.space.md
  },
  ml_2xs: {
    marginLeft: _tokens.space._2xs
  },
  ml_xs: {
    marginLeft: _tokens.space.xs
  },
  ml_sm: {
    marginLeft: _tokens.space.sm
  },
  ml_md: {
    marginLeft: _tokens.space.md
  },
  // ---- Gap ----
  gap_2xs: {
    gap: _tokens.space._2xs
  },
  gap_xs: {
    gap: _tokens.space.xs
  },
  gap_sm: {
    gap: _tokens.space.sm
  },
  gap_md: {
    gap: _tokens.space.md
  },
  gap_lg: {
    gap: _tokens.space.lg
  },
  gap_xl: {
    gap: _tokens.space.xl
  },
  gap_2xl: {
    gap: _tokens.space._2xl
  },
  // ---- Border ----
  border: {
    borderWidth: 1
  },
  border_t: {
    borderTopWidth: 1
  },
  border_b: {
    borderBottomWidth: 1
  },
  border_l: {
    borderLeftWidth: 1
  },
  border_r: {
    borderRightWidth: 1
  },
  // ---- Border radius ----
  rounded_2xs: {
    borderRadius: _tokens.borderRadius._2xs
  },
  rounded_xs: {
    borderRadius: _tokens.borderRadius.xs
  },
  rounded_sm: {
    borderRadius: _tokens.borderRadius.sm
  },
  rounded_md: {
    borderRadius: _tokens.borderRadius.md
  },
  rounded_lg: {
    borderRadius: _tokens.borderRadius.lg
  },
  rounded_xl: {
    borderRadius: _tokens.borderRadius.xl
  },
  rounded_2xl: {
    borderRadius: _tokens.borderRadius._2xl
  },
  rounded_full: {
    borderRadius: _tokens.borderRadius.full
  },
  // ---- Text ----
  text_2xs: {
    fontSize: _tokens.fontSize._2xs
  },
  text_xs: {
    fontSize: _tokens.fontSize.xs
  },
  text_sm: {
    fontSize: _tokens.fontSize.sm
  },
  text_md: {
    fontSize: _tokens.fontSize.md
  },
  text_lg: {
    fontSize: _tokens.fontSize.lg
  },
  text_xl: {
    fontSize: _tokens.fontSize.xl
  },
  text_2xl: {
    fontSize: _tokens.fontSize._2xl
  },
  text_3xl: {
    fontSize: _tokens.fontSize._3xl
  },
  text_4xl: {
    fontSize: _tokens.fontSize._4xl
  },
  text_5xl: {
    fontSize: _tokens.fontSize._5xl
  },
  text_left: {
    textAlign: 'left'
  },
  text_center: {
    textAlign: 'center'
  },
  text_right: {
    textAlign: 'right'
  },
  font_normal: {
    fontWeight: '400'
  },
  font_medium: {
    fontWeight: '500'
  },
  font_semibold: {
    fontWeight: '600'
  },
  font_bold: {
    fontWeight: '700'
  },
  font_heavy: {
    fontWeight: '800'
  },
  italic: {
    fontStyle: 'italic'
  },
  leading_tight: {
    lineHeight: _tokens.fontSize.md * _tokens.lineHeight.tight
  },
  leading_snug: {
    lineHeight: _tokens.fontSize.md * _tokens.lineHeight.snug
  },
  leading_normal: {
    lineHeight: _tokens.fontSize.md * _tokens.lineHeight.normal
  },
  leading_relaxed: {
    lineHeight: _tokens.fontSize.md * _tokens.lineHeight.relaxed
  },
  // ---- Pointer events ----
  pointer_events_none: {
    pointerEvents: 'none'
  },
  pointer_events_auto: {
    pointerEvents: 'auto'
  },
  // ---- Background ----
  bg_transparent: {
    backgroundColor: 'transparent'
  },
  // ---- Misc ----
  opacity_0: {
    opacity: 0
  },
  opacity_50: {
    opacity: 0.5
  },
  opacity_100: {
    opacity: 1
  }
});

/**
 * Flatten a style prop into a single object.
 */
function flatten(style) {
  return _reactNative.StyleSheet.flatten(style);
}
//# sourceMappingURL=atoms.js.map