@haaretz/hdc-theme v0.1.0
htz-theme
Style theme for haaretz branded apps
Haaretz applications use Fela for styling components, and this package is
designed to integrate with that workflow, specifically through a themeProvider. While it is
possible that htz-theme will work out of the box with other CSS-in-JS solutions, please take into
account that your millage may vary.
Table of Contents
Installation
yarn add @haaretz/htz-themeor alternatively,
npm install --save @haaretz/htz-themeUsage
The default export of @haaretz/htz-theme is a theme object meant to be used for styling
UIs in line with Haaretz brand guidelines. It contains several methods and properties:
import htzTheme from '@haaretz/htz-theme'Properties
bps(Object) - An immutableMqOptionsobject with breakpoint definitionsbps.width(Object) - An immutableWidthBpsConfigobject with values of boundary points between named width-breakpoints- bps.misc (Object) - An immutable
MiscBpsConfigobject with values named miscellaneous media-features media queries
fontStacks(Object) - An object containing font-family stacks for different use casesdirection(rtl) - The application's flow directiontypeConf(Object) - An immutableTypeConfobject per-breakpoint typographic and vertical-rhythm values
Methods
color- AcolorGetterfunction for retrieving color values from the predefined color palette.mq- A media-query function, which intelligently returns a media-query scoped css-in-js object based on breakpoints defined intheme.bpspxToRem- A function that converts px values to rem at given breakpoints while accounting to changes in vertical rhythmtype- A Typesetter function that returns a CSS-in-JS object of typographic styles conforming to a global predefined typographic scale and vertical rhythm
cssReset
In addition to the default theme object, htz-theme also exports a secondary cssReset module,
which helps reset default user-agent styles and provide a clear canvas, so to speak, as a basis to
build upon.
import {cssReset} from '@haaretz/htz-theme';cssReset is a css-like string that can be injected directly inside a <style>, either using
the Fela renderer's renderStatic() method:
renderer.renderStatic(cssReset);