Skip to content

Add grid system components #198

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Feb 1, 2022
Merged

Add grid system components #198

merged 19 commits into from
Feb 1, 2022

Conversation

jonotrujillo
Copy link
Member

@jonotrujillo jonotrujillo commented Jan 19, 2022

What:

Add grid system components.

Why:

In order to facilitate the creation of layouts that are adjusted to the 12 column grid used in our designs

The components can be used this way:

<Row mb={3}>
  <Column bg="#f1f2f4" textAlign="center" span={2}>
    1
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={2}>
    2
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={2}>
    3
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={2}>
    4
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={2}>
    5
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={2}>
    6
  </Column>
</Row>
<Row mb={3}>
  <Column bg="#f1f2f4" textAlign="center" span={3}>
    7
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={3}>
    8
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={3}>
    9
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={3}>
    10
  </Column>
</Row>
<Row mb={3}>
  <Column bg="#f1f2f4" textAlign="center" span={4}>
    11
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={4}>
    12
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={4}>
    13
  </Column>
</Row>
<Row mb={3}>
  <Column bg="#f1f2f4" textAlign="center" span={6}>
    14
  </Column>
  <Column bg="#f1f2f4" textAlign="center" span={6}>
    15
  </Column>
</Row>
<Row>
  <Column bg="#f1f2f4" textAlign="center" span={12}>
    16
  </Column>
</Row>

Will produce this layout:​

Screen Shot 2022-01-20 at 15 36 58

How:

Implementing Row and Column components

Currently supported:

  • Column span
  • Column offset

Not supported:

  • Changing the gutter/gap between columns
  • Responsive behaviour

Checklist:

  • Add tests
  • Ready to be merged

Copy link

@rafael-sepeda rafael-sepeda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jonotrujillo Looks cool and very clean! Thanks!

@jonotrujillo jonotrujillo marked this pull request as draft January 20, 2022 11:10
@jonotrujillo jonotrujillo marked this pull request as ready for review January 20, 2022 14:59
Copy link
Contributor

@nlopin nlopin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! I think a grid system can be useful for many developers, solving the challenge of wiring a layout CSS once and for good.

I don't fully understand the decisions taken in this PR and would love to understand them better (see comments)

I also noticed that we don't touch the responsiveness of this component in the documentation. Do we have an intent to provide it?

Base automatically changed from incompatible-box-props to main January 26, 2022 12:34
Copy link
Contributor

@martimalek martimalek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice!

* feat: update assets icons to match design icons

* feat: generate icons with new asset icons

* fix: redirect import deprecated icons to icon/index

* fix: import icons from icons/index file

* docs: add new icons & divide in sections

* test: update snapshots style-components classes names

Co-authored-by: Leonardo Di Vittorio <[email protected]>
@jonotrujillo jonotrujillo merged commit c435683 into main Feb 1, 2022
@jonotrujillo jonotrujillo deleted the grid branch February 1, 2022 10:13
github-actions bot pushed a commit that referenced this pull request Feb 1, 2022
## [1.18.0](v1.17.1...v1.18.0) (2022-02-01)

### Features

* add grid system components ([#198](#198)) ([c435683](c435683)), closes [#200](#200)
@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2022

🎉 This PR is included in version 1.18.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

martimalek added a commit that referenced this pull request Jul 11, 2022
* chore(release): 1.15.1 [skip ci]

### [1.15.1](v1.15.0...v1.15.1) (2021-10-15)

### Bug Fixes

* adding disabled state for datepicker ([#181](#181)) ([313f424](313f424))

* test: re-enabling and fixing the tests for PhoneInput (#183)

Author: @lloydaf

* feat: added Accordion component (#172)

* feat: add Accordion component and basic documentation

* feat: added test

* chore: remove default export and add PropsWithChildren

* chore: update api table

* chore: chheck place holder to not be in document

* chore: added onExpand and onCollapse

* chore: solve lint issues

* chore: solve lint issues

* chore: solve lint issues

Co-authored-by: David Barrera <[email protected]>

* chore(release): 1.16.0 [skip ci]

## [1.16.0](v1.15.1...v1.16.0) (2021-10-25)

### Features

* added Accordion component ([#172](#172)) ([439b67c](439b67c))

* fix: add layout props to TableHeaderCell and TableCell (#185)

* chore(release): 1.16.1 [skip ci]

### [1.16.1](v1.16.0...v1.16.1) (2021-10-26)

### Bug Fixes

* add layout props to TableHeaderCell and TableCell ([#185](#185)) ([0915c58](0915c58))

* fix: cleanup Modal timeout (#193)

* chore(release): 1.16.2 [skip ci]

### [1.16.2](v1.16.1...v1.16.2) (2021-11-17)

### Bug Fixes

* cleanup Modal timeout ([#193](#193)) ([fcb1341](fcb1341))

* feat: add secondary variant for text component (#170)

* chore(release): 1.17.0 [skip ci]

## [1.17.0](v1.16.2...v1.17.0) (2021-12-09)

### Features

* add secondary variant for text component ([#170](#170)) ([f056fea](f056fea))

* Replace Chris with Leo

* Support responsive `size` values for Headline (#196)

* fix: spread Box props correctly

Closes issue #190 

* test: add test that reproduces the bug

* fix: add default theme declaration

* fix: avoid collision of `color` prop

* chore: remove StyledComponentBase typing

* fix: update prop compatibility

* test: remove snapshot

* chore(release): 1.17.1 [skip ci]

### [1.17.1](v1.17.0...v1.17.1) (2022-01-26)

### Bug Fixes

* spread Box props correctly ([9dac265](9dac265)), closes [#190](#190)

* Feat/add missing icons (#200)

* feat: update assets icons to match design icons

* feat: generate icons with new asset icons

* fix: redirect import deprecated icons to icon/index

* fix: import icons from icons/index file

* docs: add new icons & divide in sections

* test: update snapshots style-components classes names

Co-authored-by: Leonardo Di Vittorio <[email protected]>

* feat: add grid system components (#198)

* test: add test that reproduces the bug

* fix: add default theme declaration

* fix: avoid collision of `color` prop

* chore: remove StyledComponentBase typing

* fix: update prop compatibility

* feat: add grid system components

* refactor: use flexbox approach

* refactor: rework flex approach

* docs: add stacking card example

* fix: remove unnused import

* test: add snapshot tests

* feat: avoid setting marging left when 0

* feat: only use 4 decimals

* test: remove old snapshot

* Feat/add missing icons (#200)

* feat: update assets icons to match design icons

* feat: generate icons with new asset icons

* fix: redirect import deprecated icons to icon/index

* fix: import icons from icons/index file

* docs: add new icons & divide in sections

* test: update snapshots style-components classes names

Co-authored-by: Leonardo Di Vittorio <[email protected]>

* 1.17.2-canary.0

* chore: expose grid components

Co-authored-by: Leonardo <[email protected]>
Co-authored-by: Leonardo Di Vittorio <[email protected]>

* chore(release): 1.18.0 [skip ci]

## [1.18.0](v1.17.1...v1.18.0) (2022-02-01)

### Features

* add grid system components ([#198](#198)) ([c435683](c435683)), closes [#200](#200)

* docs: update changelog

* fix: replace weak prop with secondary (#206)

* chore(release): 1.18.1 [skip ci]

### [1.18.1](v1.18.0...v1.18.1) (2022-02-05)

### Bug Fixes

* replace weak prop with secondary ([#206](#206)) ([37a7f4f](37a7f4f))

* feat: remove brand colors from semantic colors object (#208)

* chore(release): 1.19.0 [skip ci]

## [1.19.0](v1.18.1...v1.19.0) (2022-03-08)

### Features

* remove brand colors from semantic colors object ([#208](#208)) ([1ccb794](1ccb794))

* feat: adds select page size component (#201)

* chore(release): 1.20.0 [skip ci]

## [1.20.0](v1.19.0...v1.20.0) (2022-04-21)

### Features

* adds select page size component ([#201](#201)) ([068b958](068b958))

* Update MAINTAINERS.md

* Update CODEOWNERS

* chore: use generated id as key in datepicker (#214)

Co-authored-by: Martí Malek <[email protected]>

* docs: updated docs for table (#223)

* feature: Add Divider component to Wave (#221)

* feat: add Divider component to Wave

* feat(divider): add default offset to the divider

add additional tests to check the default offset

* fix(divider): allow usage of 1px in .stylelintrc

Needed to change stylelintrc config to allow usage of px unit for divider

* Update src/components/Divider/Divider.spec.tsx

Co-authored-by: martimalek <[email protected]>

* Update src/components/Divider/Divider.spec.tsx

Co-authored-by: martimalek <[email protected]>

* Update src/components/Divider/docs/Divider.mdx

Co-authored-by: martimalek <[email protected]>

* Update src/components/Divider/docs/Divider.mdx

Co-authored-by: martimalek <[email protected]>

* Update src/components/Divider/docs/Divider.mdx

Co-authored-by: martimalek <[email protected]>

Co-authored-by: Ján Hamara <[email protected]>
Co-authored-by: martimalek <[email protected]>

* 1.21.0

* Update changelog.mdx

Had to update changelog manually, as v1.21.0 had to also be published manually (due to PR having used feature: keyword, not feat: keyword - which caused that workflow for creating release, updating changelog and publishing package did not get triggered)

* feat: update missing icons (#228)

* feat: add missin icon svg

* feat: generate missing icons

Co-authored-by: Leonardo Di Vittorio <[email protected]>

* chore(release): 1.22.0 [skip ci]

## [1.22.0](v1.21.0...v1.22.0) (2022-05-23)

### Features

* update missing icons ([#228](#228)) ([2f840e5](2f840e5))

* docs: fix the header UI navigation in mobile view (#231)

* feat: introduce `useToggle` hook (#220)

* chore(release): 1.23.0 [skip ci]

## [1.23.0](v1.22.0...v1.23.0) (2022-05-26)

### Features

* introduce `useToggle` hook ([#220](#220)) ([83cbad8](83cbad8))

* feat: Add Popover component to wave (#230)

* feat(popover): add popover component to wave

* feat(popover): add props table to docz

* refactor: move util and helper methods to common utils

* feat(popover): simplify the implementation of popover

* feat(popover): remove unneeded comments

* feat(popover): add aria attributes, describe placements in props table

* feat(popover): change variable name for popover content state reference

* Update src/components/Popover/docs/Popover.mdx

* feat(popover): fix some of the docs texts

* feat(popover): update useEffect with openByDefault

* feat(popover): remove useStateWithTimeout hook

* feat: popover (#234)

* feat(popover): add popover component to wave

* feat(popover): add props table to docz

* refactor: move util and helper methods to common utils

* feat(popover): simplify the implementation of popover

* feat(popover): remove unneeded comments

* feat(popover): add aria attributes, describe placements in props table

* feat(popover): change variable name for popover content state reference

* Update src/components/Popover/docs/Popover.mdx

Co-authored-by: martimalek <[email protected]>

* feat(popover): fix some of the docs texts

* feat(popover): update useEffect with openByDefault

* feat(popover): remove useStateWithTimeout hook

Co-authored-by: Ján Hamara <[email protected]>
Co-authored-by: Jan Hamara <[email protected]>

* Use service user's token

* test another token

* Another try

* Revert to github token

* chore(release): 1.24.0 [skip ci]

## [1.24.0](v1.23.0...v1.24.0) (2022-06-02)

### Features

* Add Popover component to wave ([#230](#230)) ([0c49ab3](0c49ab3))
* popover ([#234](#234)) ([8e4075b](8e4075b))

* docs: add JanHamara as a contributor for code, doc, review (#236)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* fix: adding layout to the compose styles (#233)

* chore(release): 1.24.1 [skip ci]

### [1.24.1](v1.24.0...v1.24.1) (2022-06-03)

### Bug Fixes

* adding layout to the compose styles ([#233](#233)) ([48af1d1](48af1d1))

* docs: add div-Leo as a contributor for code, doc, bug, review (#243)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add rafael-sepeda as a contributor for design, blog (#244)

* improvement: adding bugs and PRs to Lloyd's contributions readme section (#235)

Co-authored-by: Lloyd Francis <[email protected]>

* fix: export popover component in components index (#246)

Authored-by: Martí Malek <[email protected]>

* chore(release): 1.24.2 [skip ci]

### [1.24.2](v1.24.1...v1.24.2) (2022-06-08)

### Bug Fixes

* export popover component in components index ([#246](#246)) ([0def6b8](0def6b8))

* fix: giving singlevalue full max width to override the selectlist styles (#248)

* feat: add InfoBanner component (#225)

* feat: initial InfoBanner version with limited variants

* feat: add infobanner with all the variants

* test: cover different variants with tests

* docs: add examples and combinations for InfoBanner

* docs: improve the basic description of the InfoBanner

* chore: clean unnused component

* refactor: use radii and Spaces instead of hard coded values

* feat: add better accessibility through setting a role attribute

* feat: align infobanner text to the left

* feat: export InfoBanner from components index

* chore: update lock file

Co-authored-by: Martí Malek <[email protected]>
Co-authored-by: Nikolai Lopin <[email protected]>

* chore(release): 1.25.0 [skip ci]

## [1.25.0](v1.24.2...v1.25.0) (2022-06-13)

### Features

* add InfoBanner component ([#225](#225)) ([e434f5a](e434f5a))

### Bug Fixes

* giving singlevalue full max width to override the selectlist styles ([#248](#248)) ([115ae70](115ae70))

* fix: window is undefined error in next.js projects

the issue is solved by updating `react-window-select` library to v4

The update brought some follow-up changes described in the pull request #222

* chore(release): 1.25.1 [skip ci]

### [1.25.1](v1.25.0...v1.25.1) (2022-06-16)

### Bug Fixes

* window is undefined error in next.js projects ([b89bfc9](b89bfc9)), closes [#222](#222)

* docs: remove the experimental label for table (#255)

Co-authored-by: semantic-release-bot <[email protected]>
Co-authored-by: Lloyd Francis <[email protected]>
Co-authored-by: David Barrera <[email protected]>
Co-authored-by: David Barrera <[email protected]>
Co-authored-by: Nikolai Lopin <[email protected]>
Co-authored-by: Jonathan Trujillo <[email protected]>
Co-authored-by: Leonardo <[email protected]>
Co-authored-by: Leonardo Di Vittorio <[email protected]>
Co-authored-by: Vinayaka Hegde <[email protected]>
Co-authored-by: Nikolai Lopin <[email protected]>
Co-authored-by: Martí Malek <[email protected]>
Co-authored-by: Vitaly Baev <[email protected]>
Co-authored-by: Jan Hamara <[email protected]>
Co-authored-by: Ján Hamara <[email protected]>
Co-authored-by: Leonardo Di Vittorio <[email protected]>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
github-actions bot pushed a commit that referenced this pull request Aug 20, 2022
## [2.1.0-next.2](v2.1.0-next.1...v2.1.0-next.2) (2022-08-20)

### Bug Fixes

* adding disabled state for datepicker ([#181](#181)) ([313f424](313f424))
* conflicts between next and main ([#257](#257)) ([0a103ef](0a103ef)), closes [#181](#181) [#183](#183) [#172](#172) [#172](#172) [#185](#185) [#185](#185) [#193](#193) [#193](#193) [#170](#170) [#170](#170) [#196](#196) [#190](#190) [#190](#190) [#200](#200) [#198](#198) [#200](#200) [#200](#200) [#206](#206) [#206](#206) [#208](#208) [#208](#208) [#201](#201) [#201](#201) [#214](#214) [#223](#223) [#221](#221) [#228](#228) [#228](#228) [#231](#231) [#220](#220) [#220](#220) [#230](#230) [#234](#234) [#230](#230) [#234](#234) [#236](#236) [#233](#233) [#233](#233) [#243](#243) [#244](#244) [#235](#235) [#246](#246) [#246](#246) [#248](#248) [#225](#225) [#225](#225) [#248](#248) [#222](#222) [#222](#222) [#255](#255)
* conflicts between next and main v2 ([#281](#281)) ([bec6bdc](bec6bdc))
github-actions bot pushed a commit that referenced this pull request Sep 29, 2023
## [3.0.0-next.1](v2.1.0-next.2...v3.0.0-next.1) (2023-09-29)

### ⚠ BREAKING CHANGES

* remove weak prop from Text and add codemod for it (#374)

### Features

* **breadcrumbs:** use css variables for colors ([#382](#382)) ([f13658c](f13658c))
* migrate tag and selectlist variant colors to css vars ([#381](#381)) ([e11833c](e11833c))
* remove weak prop from Text and add codemod for it ([#374](#374)) ([df98bb9](df98bb9))
* replace fixed colors with semantic tokens ([204a71d](204a71d))
* tooltip placement codemod ([#377](#377)) ([258d8ed](258d8ed))
* **accordion:** migrate to semantic colors ([37c9df5](37c9df5))
* **banner:** migrate to semantic colors ([5c30334](5c30334))
* **buttons:** use css variables for colors ([1664f57](1664f57))
* **card:** migrate to semantic colors ([bc90913](bc90913))
* **checkbox:** migrate to semantic colors ([18bd927](18bd927))
* **datepicker, infobanner:** migrate to semantic colors ([98f3d53](98f3d53))
* **design-token:** start restructuring the design tokens ([f477ef9](f477ef9))
* **dimming:** migrate to semantic colors ([a47e1a7](a47e1a7))
* **divider:** migrate to semantic colors ([d0bc552](d0bc552))
* **filepicker:** migrate to semantic colors ([5b2e16c](5b2e16c))
* **filePicker:** add alwaysShowActionButton to mobile ([#303](#303)) ([5d46685](5d46685))
* **headline:** migrate to semantic colors ([f23e081](f23e081))
* **icon:** migrate to semantic colors ([e876e7a](e876e7a))
* **InfoBanner:** fix up the InfoBannerCard Link export ([f6dac56](f6dac56))
* **input:** migrate to semantic colors ([3268c02](3268c02))
* **label:** migrate to semantic colors ([fb6b7e1](fb6b7e1))
* **Link:** migrate to semantic colors ([d16e546](d16e546))
* **modal:** migrate to semantic colors ([90e37c5](90e37c5))
* **offcanvas:** migrate to semantic colors ([1a4a9fd](1a4a9fd))
* **pagination:** use css variables for colors ([f85b75b](f85b75b))
* **password:** migrate to semantic colors ([715f23b](715f23b))
* **popover:** migrate to semantic colors ([e8c66f7](e8c66f7))
* **radio:** migrate to semantic colors ([8aa03d7](8aa03d7))
* **search:** migrate to semantic colors ([0908aed](0908aed))
* **select:** migrate to semantic colors ([7ce9d99](7ce9d99))
* **selectlist:** migrate to semantic colors ([ef8426c](ef8426c))
* **skeleton:** migrate to semantic colors ([16211d9](16211d9))
* **spinner:** migrate to semantic colors ([ae68790](ae68790))
* **tabbar:** use css variables for colors ([4512994](4512994))
* **table:** add sortable table components and hook ([362dba5](362dba5))
* **tag:** use css variables for colors ([d71e73b](d71e73b))
* **text:** migrate to semantic colors ([9ad1848](9ad1848))
* **toggle:** migrate to semantic colors ([f81322e](f81322e))
* **tokens:** create color schemas ([6f1e40f](6f1e40f))
* **tooltip:** migrate to semantic colors ([f6d79f6](f6d79f6))
* add grid system components ([#198](#198)) ([c435683](c435683)), closes [#200](#200)
* add InfoBanner component ([#225](#225)) ([e434f5a](e434f5a))
* add missing colors to match Figma file ([#289](#289)) ([b0ae302](b0ae302))
* Add Popover component to wave ([#230](#230)) ([0c49ab3](0c49ab3))
* add secondary variant for text component ([#170](#170)) ([f056fea](f056fea))
* added Accordion component ([#172](#172)) ([439b67c](439b67c))
* adds select page size component ([#201](#201)) ([068b958](068b958))
* implement compound component approach for InfoBanner ([#336](#336)) ([9f1982c](9f1982c))
* introduce `useToggle` hook ([#220](#220)) ([83cbad8](83cbad8))
* popover ([#234](#234)) ([8e4075b](8e4075b))
* remove brand colors from semantic colors object ([#208](#208)) ([1ccb794](1ccb794))
* remove nanoid ([#321](#321)) ([8e952a0](8e952a0))
* Tooltip with react-popper ([#267](#267)) ([6965ef4](6965ef4))
* update missing icons ([#228](#228)) ([2f840e5](2f840e5))

### Bug Fixes

* support children prop type in row component ([#347](#347)) ([4620776](4620776))
* **docs:** remove unused imports ([0c439a5](0c439a5))
* **popover:** add missing semantic color ([0936f95](0936f95))
* **tabbar:** set font-family -> was "Times" in storybook ([4846aa8](4846aa8))
* add support for children props for Label component ([#340](#340)) ([c840c88](c840c88))
* set focus on password input resolve [#124](#124) ([#328](#328)) ([5068920](5068920))
* **datepicker:** invoke `onClose` handler only once ([#300](#300)) ([9190e6c](9190e6c))
* **inline-spinner:** html and a11y  ([#307](#307)) ([cb46551](cb46551)), closes [#306](#306)
* **password:** use `flex-end` instead of `end` ([#291](#291)) ([debdb5a](debdb5a)), closes [#290](#290)
* **tooltip:** type children prop ([#330](#330)) ([9bbdafe](9bbdafe))
* **tooltip:** use correct props with children type ([339fce2](339fce2))
* add layout props to TableHeaderCell and TableCell ([#185](#185)) ([0915c58](0915c58))
* adding layout to the compose styles ([#233](#233)) ([48af1d1](48af1d1))
* cleanup Modal timeout ([#193](#193)) ([fcb1341](fcb1341))
* display semantic colors in table and allow to filter them ([#258](#258)) ([2e83e76](2e83e76))
* export popover component in components index ([#246](#246)) ([0def6b8](0def6b8))
* expose padding prop and adjust z-index for Popover component ([#263](#263)) ([da0e80b](da0e80b))
* giving singlevalue full max width to override the selectlist styles ([#248](#248)) ([115ae70](115ae70))
* replace weak prop with secondary ([#206](#206)) ([37a7f4f](37a7f4f))
* spread Box props correctly ([9dac265](9dac265)), closes [#190](#190)
* uncontrolled input's label position ([#297](#297)) ([fb6c009](fb6c009))
* window is undefined error in next.js projects ([b89bfc9](b89bfc9)), closes [#222](#222)
@github-actions
Copy link
Contributor

🎉 This PR is included in version 3.0.0-next.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

5 participants