Commit Graph

623 Commits

Author SHA1 Message Date
Hardy Jones
e5a56486d7
Allow segmented control to expand to parent's width
We want to allow the control to take up the full width of the parent.
This will most likely break something if you try to upgrade directly.
Should be fixable by putting the control in an element with
the appropriate width.
2018-03-30 09:10:33 -07:00
Hardy Jones
d4d6991643
Style the segmented control tabs directly
tl;dr; Use a class for each variant instead of overriding one variant.

Before, we relied on CSS specificity in an unclear way.
The `Focused` class was applying properly because it was ordered later
than the `Tab` class in the stylesheet.
The ordering that is important is the ordering in `styles` value.
Since `elm-css` generates the stylesheet in the order of the lists,
the `Focused` rule would be generated after the `Tab` rule.
Meaning the `Focused` rule would take precedence over the `Tab` rule
if an element had both classes as it was defined later in the stylesheet.

There are some concerns with this approach:
1. It's not readily apparent that the ordering in `styles` is important.
    It is pretty easy to change the ordering of the list
    and have it break the styling.
2. We rely on `elm-css` to generate the stylesheet in a specific order.
    If it changes the order of rules it generates,
    we're almost surely going to break the styling.
3. Altering styles for tabs that are not focused is even less intuitive.
    Since the specificity is the same,
    you might not know why a given rule applies (or doesn't apply).

Rather, we can eschew the specificity/precedence issues
by applying a different class to each tab.
The stuff that is the same can stay on the `Tab` class,
and the stuff that differs can be on different classes.

We are now able to set the background color for `Unfocused` tabs.
We were relying on the control being placed atop a white background.
When we moved to using the control atop a non-whitebackground,
it showed that the `Unfocused` tabs had a transparent backround.
All of our designs show `Unfocused` tabs with a white backround.

See https://github.com/NoRedInk/noredink-ui/pull/14 for more information.
2018-03-30 09:10:33 -07:00
Hardy Jones
55ce63dbfc
Fix filename
The style guide is currently for V4.
2018-03-30 09:10:33 -07:00
Jasper Woudenberg
6e041d9364 Styleguide uses latest Icon / SegmentedControl 2018-03-29 12:58:41 +02:00
Hardy Jones
fb2dbbfb47
Extract updated segmented control from the monolith
This version is like `Nri.Ui.SegmentedControl.V1` with the icon changes.
It has the fix for `box-sizing`.

All the other caveats from `Nri.Ui.SegmentedControl.V1`
(if there were any) apply here as well.
2018-03-28 18:20:58 -07:00
Hardy Jones
0a75e8229b
Extract Nri.Icon from the monolith
The recommendation is to break the styles API rather than the view API
when moving something out of the monolith into this repo.

`Nri.Icon` is not really setup for that sort of breakage.
If we would prefer to have the styles break rather than the view,
that will take more work.
Work that can be done independent of the extraction.

The transition in the monolith ought to look something like:

```elm
module Nri.Icon exposing (..)

import Html exposing (Html)
import Nri.SvgSprite
import Nri.Ui.Icon.V1 exposing (Assets, IconType)

icon : { alt : String, icon : IconType } -> Html msg
icon config =
  Nri.Ui.Icon.V1.icon assets

assets : Assets {}
assets =
  { activity = Nri.SvgSprite.activity
  , arrowDown = Nri.SvgSprite.arrowDown
  , attention_svg = Nri.Assets.attention_svg
  ...
  }
```

So hopefully, the change is still very small on the monolith side.

There's maybe a bigger concern than which API breaks.
`Nri.Icon` has some behavior for a11y.
We could definitely change the internals over during the extraction.
But, since all of these changes are value-level changes,
it's very likely that we'll break something in the process.
That's a bigger concern because instead of affecting
the handful of Engineers working at NRI,
we would be affecting the millions of people using the site.

We shouldn't fear making those kinds of changes.
However, we should make them when we can give them the appropriate
attention they deserve.
Not when one person is trying to move as fast as possible to avoid
race conditions of moving modules between repos.
2018-03-28 18:20:16 -07:00
Hardy Jones
349e9760a3
Use V2 of the segmented control in the style guide 2018-03-26 19:56:20 -07:00
Hardy Jones
3b99ba56a7
Add SegmentedControl 2018-03-23 19:05:34 -07:00
Tessa Kelly
e869f064ff Adds new version of the checkbox 2018-03-19 15:55:04 -07:00
Tessa Kelly
4ca27fc05c 🎨 clean up example code styles 2018-03-16 16:24:29 -07:00
Tessa Kelly
f9c3884e6a Adds Colors 2018-03-16 16:24:29 -07:00
Tessa Kelly
186a19e7f4 Adds user generated font style 2018-03-16 16:24:09 -07:00
Tessa Kelly
c406c5353d Adds Fonts as a category 2018-03-16 16:24:09 -07:00
Tessa Kelly
7f7826bcae Display the Fonts 2018-03-16 16:24:09 -07:00
Jasper Woudenberg
cf2dec09fd Add text area for content creation
The styling used for this textarea is not quite the same as the one of
the default or writing textareas currently in use.
2018-03-13 10:08:07 +01:00
Jasper Woudenberg
f19903e3d3
Merge pull request #5 from NoRedInk/update-textarea
Update textarea
2018-03-12 20:04:18 +01:00
Tessa Kelly
12ed44549e Adds missing smallHeading example 2018-03-07 14:38:32 -08:00
Tessa Kelly
e3edcafc15 Adds the ugMediumBody and ugSmallBody to the examples 2018-03-07 14:37:21 -08:00
Jasper Woudenberg
12dd71a68d Merge branch 'master' into update-textarea 2018-03-02 09:45:27 -08:00
Stoeffel
b9c913ec19 rename to Writing and use Html.Styled 2018-03-01 13:37:58 -08:00
Jasper Woudenberg
2f92a1ec4a Add TextArea to styleguide 2018-02-28 16:22:48 -08:00
Stoeffel
c8d9d6cc09 update style guide 2018-02-28 14:04:22 -08:00
Brooke
0c33c83d73 add mini styleguide for ui components 2018-02-12 13:32:38 -08:00