├── .nvmrc ├── .prettierignore ├── packages ├── docs-app │ ├── static │ │ ├── .gitkeep │ │ └── favicon │ │ │ ├── favicon.ico │ │ │ ├── apple-icon.png │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon-96x96.png │ │ │ ├── ms-icon-70x70.png │ │ │ ├── apple-icon-57x57.png │ │ │ ├── apple-icon-60x60.png │ │ │ ├── apple-icon-72x72.png │ │ │ ├── apple-icon-76x76.png │ │ │ ├── ms-icon-144x144.png │ │ │ ├── ms-icon-150x150.png │ │ │ ├── ms-icon-310x310.png │ │ │ ├── android-icon-36x36.png │ │ │ ├── android-icon-48x48.png │ │ │ ├── android-icon-72x72.png │ │ │ ├── android-icon-96x96.png │ │ │ ├── apple-icon-114x114.png │ │ │ ├── apple-icon-120x120.png │ │ │ ├── apple-icon-144x144.png │ │ │ ├── apple-icon-152x152.png │ │ │ ├── apple-icon-180x180.png │ │ │ ├── android-icon-144x144.png │ │ │ ├── android-icon-192x192.png │ │ │ ├── apple-icon-precomposed.png │ │ │ ├── browserconfig.xml │ │ │ └── manifest.json │ ├── src │ │ ├── components │ │ │ ├── 404 │ │ │ │ ├── index.js │ │ │ │ └── 404.js │ │ │ ├── TopNav │ │ │ │ ├── index.js │ │ │ │ ├── top-nav.scss │ │ │ │ └── TopNav.js │ │ │ ├── SideNav │ │ │ │ ├── index.js │ │ │ │ └── SideNav.stories.jsx │ │ │ ├── markdown │ │ │ │ ├── index.js │ │ │ │ ├── markdown.scss │ │ │ │ └── Markdown.js │ │ │ ├── PageHeader │ │ │ │ ├── index.js │ │ │ │ ├── PageHeader.stories.jsx │ │ │ │ └── page-header.scss │ │ │ ├── CodeExample │ │ │ │ └── index.js │ │ │ ├── ComponentCode │ │ │ │ ├── index.js │ │ │ │ └── ComponentCode.stories.jsx │ │ │ ├── ComponentExample │ │ │ │ └── index.js │ │ │ ├── CodeSnippet │ │ │ │ ├── code-snippet.scss │ │ │ │ └── index.js │ │ │ ├── ColorTable │ │ │ │ └── color-table.scss │ │ │ ├── SpaceExample │ │ │ │ ├── index.js │ │ │ │ └── space-example.scss │ │ │ ├── ComponentDocs │ │ │ │ └── ComponentDocs.js │ │ │ └── BreakpointsDocumentation │ │ │ │ └── index.js │ │ ├── content │ │ │ └── global │ │ │ │ └── images │ │ │ │ ├── favicon-32.png │ │ │ │ └── bg.svg │ │ ├── polyfills │ │ │ ├── index.js │ │ │ ├── element-matches.js │ │ │ ├── custom-event.js │ │ │ ├── element-closest.js │ │ │ └── toggle-class.js │ │ ├── data │ │ │ └── components.json │ │ ├── pages │ │ │ └── 404.js │ │ └── styles │ │ │ ├── index.scss │ │ │ └── _import-once.scss │ ├── .storybook │ │ ├── addons.js │ │ ├── _container.scss │ │ ├── .babelrc │ │ ├── config.js │ │ └── Container.js │ ├── NOTICE │ ├── .circleci │ │ └── config.yml │ └── README.md ├── product-react │ ├── index.d.ts │ ├── src │ │ ├── components │ │ │ ├── Image │ │ │ │ ├── index.ts │ │ │ │ ├── Image.scss │ │ │ │ └── image.test.tsx │ │ │ ├── Radio │ │ │ │ ├── index.ts │ │ │ │ ├── Radio.test.tsx │ │ │ │ └── Radio.tsx │ │ │ ├── Avatar │ │ │ │ ├── index.ts │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── Avatar.test.tsx.snap │ │ │ │ └── Avatar.scss │ │ │ ├── Button │ │ │ │ ├── index.ts │ │ │ │ └── __snapshots__ │ │ │ │ │ └── Button.test.tsx.snap │ │ │ ├── Card │ │ │ │ ├── index.ts │ │ │ │ └── Card.scss │ │ │ ├── Grid │ │ │ │ ├── index.ts │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── Grid.test.tsx.snap │ │ │ │ │ └── Cell.test.tsx.snap │ │ │ │ ├── Grid.tsx │ │ │ │ └── Grid.test.tsx │ │ │ ├── List │ │ │ │ ├── index.ts │ │ │ │ └── List.test.tsx │ │ │ ├── Select │ │ │ │ ├── index.ts │ │ │ │ └── Select.scss │ │ │ ├── Checkbox │ │ │ │ ├── index.ts │ │ │ │ ├── Checkbox.test.tsx │ │ │ │ └── Checkbox.tsx │ │ │ ├── TextArea │ │ │ │ ├── index.ts │ │ │ │ ├── TextArea.test.tsx │ │ │ │ └── TextArea.tsx │ │ │ ├── Container │ │ │ │ ├── index.ts │ │ │ │ └── __snapshots__ │ │ │ │ │ └── Container.test.tsx.snap │ │ │ ├── Typography │ │ │ │ ├── index.ts │ │ │ │ └── Typography.tsx │ │ │ ├── Tabs │ │ │ │ ├── index.ts │ │ │ │ ├── TabView.scss │ │ │ │ ├── context.ts │ │ │ │ └── TabView.tsx │ │ │ └── Common │ │ │ │ ├── RTLWrapper.tsx │ │ │ │ ├── FormItemWrapper.tsx │ │ │ │ ├── FieldWrapper.tsx │ │ │ │ └── IconWrapper.tsx │ │ └── index.ts │ ├── .storybook │ │ ├── addons.js │ │ ├── preview-head.html │ │ ├── webpack.config.js │ │ └── config.js │ ├── test │ │ ├── index.test.ts │ │ └── setup.js │ ├── stories │ │ ├── Checkbox.story.tsx │ │ ├── Typography.story.tsx │ │ ├── radio.story.tsx │ │ ├── Container.story.tsx │ │ └── TextArea.story.tsx │ ├── jest.config.js │ ├── babel.config.js │ ├── README.md │ ├── tsconfig.json │ └── config │ │ └── rollup.config.js ├── core │ ├── .browserlistrc │ ├── src │ │ ├── global │ │ │ ├── js │ │ │ │ ├── polyfills.js │ │ │ │ ├── settings.js │ │ │ │ ├── util.js │ │ │ │ ├── accessibility.js │ │ │ │ └── boot.js │ │ │ ├── mixins │ │ │ │ ├── _exports.scss │ │ │ │ └── _breakpoints.scss │ │ │ ├── _functions.scss │ │ │ ├── spacing │ │ │ │ └── _spacing.scss │ │ │ ├── _base.scss │ │ │ └── _colors.scss │ │ ├── ray-debug.scss │ │ ├── components │ │ │ ├── index.js │ │ │ ├── select │ │ │ │ └── constants.js │ │ │ ├── fieldset │ │ │ │ └── _fieldset.scss │ │ │ ├── tag │ │ │ │ └── _tag.scss │ │ │ ├── text-field │ │ │ │ └── constants.js │ │ │ ├── form-item │ │ │ │ └── _form-item.scss │ │ │ ├── tabs │ │ │ │ └── _tabs.scss │ │ │ ├── table │ │ │ │ └── _table.scss │ │ │ └── breadcrumb │ │ │ │ └── _breadcrumb.scss │ │ ├── index.js │ │ └── ray-core.scss │ ├── .storybook │ │ ├── webpack.config.js │ │ ├── addons.js │ │ ├── preview-head.html │ │ └── config.js │ ├── stories │ │ ├── styles │ │ │ └── index.scss │ │ ├── static │ │ │ ├── hero1.png │ │ │ ├── images │ │ │ │ ├── image_16x9.jpg │ │ │ │ ├── image_3x4.jpg │ │ │ │ └── image_4x3.jpg │ │ │ └── bg.svg │ │ ├── util │ │ │ └── placeholder.js │ │ ├── tag.stories.js │ │ ├── tabs.stories.js │ │ ├── breadcrumb.stories.js │ │ └── table.stories.js │ ├── postcss.config.js │ ├── .dsmrc │ ├── jest.config.js │ ├── tools │ │ └── build_chromatic.sh │ ├── README.md │ ├── babel.config.js │ ├── test │ │ ├── index.test.js │ │ └── global │ │ │ └── util.test.js │ └── config │ │ └── rollup.config.js ├── rehype-react │ ├── .gitignore │ ├── LICENSE │ ├── package.json │ └── CHANGELOG.md └── core-react │ ├── .storybook │ ├── addons.js │ ├── preview-head.html │ ├── webpack.config.js │ └── config.js │ ├── src │ ├── components │ │ ├── Select │ │ │ └── Select.scss │ │ ├── Grid │ │ │ ├── index.js │ │ │ ├── Grid.js │ │ │ ├── Container.js │ │ │ ├── Cell.js │ │ │ └── grid.test.js │ │ ├── Card │ │ │ ├── card.test.js │ │ │ └── index.js │ │ ├── Common │ │ │ └── Icon.js │ │ ├── TextArea │ │ │ └── textArea.test.js │ │ ├── Radio │ │ │ ├── radio.test.js │ │ │ └── index.js │ │ ├── Checkbox │ │ │ ├── checkbox.test.js │ │ │ └── index.js │ │ ├── Image │ │ │ ├── image.test.js │ │ │ └── index.js │ │ ├── Type │ │ │ └── index.js │ │ └── Button │ │ │ ├── button.test.js │ │ │ └── index.js │ └── index.js │ ├── jest.config.js │ ├── test │ ├── index.test.js │ └── setup.js │ ├── stories │ ├── checkbox.stories.js │ ├── radio.stories.js │ ├── grid.stories.js │ ├── type.stories.js │ └── textArea.stories.js │ ├── babel.config.js │ ├── README.md │ └── config │ └── rollup.config.js ├── .yarnrc ├── .github └── CODEOWNERS ├── .prettierrc ├── docs ├── html │ ├── tag │ │ ├── tag.html │ │ ├── tag-link.html │ │ ├── rtl-tag.html │ │ └── rtl-tag-link.html │ ├── chip │ │ ├── chip.html │ │ └── chip--with-icon.html │ ├── typography │ │ ├── typography-utilities.html │ │ ├── typography.html │ │ ├── typography-displays.html │ │ ├── typography-links.html │ │ ├── typography-blockquote.html │ │ ├── typography-body.html │ │ ├── typography-list.html │ │ ├── typography-headings.html │ │ ├── typography-h3p3.html │ │ └── typography-running-text.html │ ├── image │ │ ├── image--3by4.html │ │ ├── image--4by3.html │ │ ├── image--16by9.html │ │ ├── bg--3by4.html │ │ ├── image--caption.html │ │ ├── bg--16by9.html │ │ ├── rtl-image--caption.html │ │ └── bg--4by3.html │ ├── text-area │ │ ├── text-area.html │ │ └── text-area-multi-row.html │ ├── text-field │ │ ├── text-field.html │ │ ├── rtl-text-field.html │ │ ├── text-field-with-hint.html │ │ ├── rtl-text-field-with-hint.html │ │ ├── text-field-with-prepend.html │ │ └── rtl-text-field-with-prepend.html │ ├── table │ │ ├── table.html │ │ └── rtl-table.html │ ├── breadcrumb │ │ ├── breadcrumbs.html │ │ └── rtl-breadcrumbs.html │ ├── select │ │ ├── select.html │ │ ├── select--error.html │ │ ├── select--compact.html │ │ ├── rtl-select.html │ │ ├── select--with-placeholder.html │ │ ├── rtl-select--error.html │ │ ├── rtl-select--compact.html │ │ ├── rtl-select--with-placeholder.html │ │ ├── select-with-icon.html │ │ ├── rtl-select-with-icon.html │ │ ├── select-with-prepend.html │ │ └── rtl-select-with-prepend.html │ ├── dropdown │ │ ├── dropdown.html │ │ ├── dropdown--compact.html │ │ ├── rtl-dropdown.html │ │ ├── dropdown--error.html │ │ ├── rtl-dropdown--compact.html │ │ ├── rtl-dropdown--error.html │ │ ├── dropdown--with-placeholder.html │ │ ├── rtl-dropdown--with-placeholder.html │ │ ├── dropdown--with-icon.html │ │ ├── dropdown--optgroups.html │ │ ├── dropdown--with-prepend.html │ │ ├── rtl-dropdown--with-icon.html │ │ ├── rtl-dropdown--optgroups.html │ │ └── rtl-dropdwon--with-prepend.html │ ├── fieldset │ │ ├── fieldset.html │ │ └── rtl-fieldset.html │ ├── card │ │ ├── card--row.html │ │ ├── card.html │ │ ├── rtl-card--row.html │ │ ├── rtl-card.html │ │ ├── card--link.html │ │ └── rtl-card--link.html │ ├── radio │ │ ├── radio.html │ │ ├── rtl-radio.html │ │ ├── radio-group.html │ │ └── rtl-radio-group.html │ ├── button │ │ ├── button--secondary.html │ │ ├── button--tertiary.html │ │ ├── button--primary.html │ │ ├── button--primary--dark.html │ │ ├── button--danger.html │ │ ├── rtl-button--secondary.html │ │ ├── rtl-button--tertiary.html │ │ ├── button--secondary--dark.html │ │ ├── rtl-button--primary.html │ │ ├── button--tertiary--dark.html │ │ ├── button-rtl.html │ │ ├── rtl-button--danger.html │ │ ├── button--compact.html │ │ └── rtl-button--compact.html │ └── checkbox │ │ ├── checkbox.html │ │ └── rtl-checkbox.html ├── components │ ├── table.md │ ├── breadcrumb.md │ ├── tag.md │ ├── checkbox.md │ ├── fieldset.md │ └── card.md └── foundations │ ├── colors.md │ ├── breakpoints.md │ ├── fonts.md │ └── spacing.md ├── jest.config.js ├── lerna.json ├── babel.config.js ├── .editorconfig ├── .gitignore ├── .eslintrc.js ├── stylelint.config.js ├── README.md └── RELEASING.md /.nvmrc: -------------------------------------------------------------------------------- 1 | v10.13.0 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | CHANGELOG.md 2 | -------------------------------------------------------------------------------- /packages/docs-app/static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/product-react/index.d.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | workspaces-experimental true 2 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @wework/ray-maintainers 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/.browserlistrc: -------------------------------------------------------------------------------- 1 | last 2 version 2 | ie >= 11 3 | -------------------------------------------------------------------------------- /packages/core/src/global/js/polyfills.js: -------------------------------------------------------------------------------- 1 | import 'core-js'; 2 | -------------------------------------------------------------------------------- /docs/html/tag/tag.html: -------------------------------------------------------------------------------- 1 | Enterprise 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Image/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Image'; -------------------------------------------------------------------------------- /packages/product-react/src/components/Radio/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Radio'; -------------------------------------------------------------------------------- /packages/product-react/src/components/Avatar/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Avatar'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Button'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Card/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Card'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Grid/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Grid'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/List/index.ts: -------------------------------------------------------------------------------- 1 | export * from './List'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Select/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Select'; 2 | -------------------------------------------------------------------------------- /docs/html/tag/tag-link.html: -------------------------------------------------------------------------------- 1 | Enterprise 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Checkbox/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Checkbox'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/TextArea/index.ts: -------------------------------------------------------------------------------- 1 | export * from './TextArea'; 2 | -------------------------------------------------------------------------------- /packages/core/src/ray-debug.scss: -------------------------------------------------------------------------------- 1 | @import './global/material-grid/mdc-layout-grid-debug'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Container/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Container'; 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Typography/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Typography'; 2 | -------------------------------------------------------------------------------- /docs/html/chip/chip.html: -------------------------------------------------------------------------------- 1 |
2 | Neighborhoods 3 |
4 | -------------------------------------------------------------------------------- /docs/html/tag/rtl-tag.html: -------------------------------------------------------------------------------- 1 |
2 | ארגון 3 |
4 | -------------------------------------------------------------------------------- /packages/core/.storybook/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../webpack.config.js'); 2 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Image/Image.scss: -------------------------------------------------------------------------------- 1 | .ray-caption { 2 | text-align: left; 3 | } 4 | -------------------------------------------------------------------------------- /packages/rehype-react/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | .nyc_output/ 4 | coverage/ 5 | node_modules/ 6 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Tabs/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Tabs'; 2 | export * from './TabView'; 3 | -------------------------------------------------------------------------------- /docs/html/tag/rtl-tag-link.html: -------------------------------------------------------------------------------- 1 |
2 | ארגון 3 |
4 | -------------------------------------------------------------------------------- /packages/core/stories/styles/index.scss: -------------------------------------------------------------------------------- 1 | @import '../../src/ray-core.scss'; 2 | @import '../../src/ray-debug.scss'; 3 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/404/index.js: -------------------------------------------------------------------------------- 1 | import FourOhFour from './404'; 2 | 3 | export default FourOhFour; 4 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/TopNav/index.js: -------------------------------------------------------------------------------- 1 | import TopNav from './TopNav'; 2 | 3 | export default TopNav; 4 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Tabs/TabView.scss: -------------------------------------------------------------------------------- 1 | .ray-product__tab-view:focus { 2 | outline: none; 3 | } 4 | -------------------------------------------------------------------------------- /docs/html/typography/typography-utilities.html: -------------------------------------------------------------------------------- 1 |
Dock 72 at the brooklyn navy yard
2 | -------------------------------------------------------------------------------- /packages/core/stories/static/hero1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/core/stories/static/hero1.png -------------------------------------------------------------------------------- /packages/docs-app/src/components/SideNav/index.js: -------------------------------------------------------------------------------- 1 | import SideNav from './SideNav'; 2 | 3 | export default SideNav; 4 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/markdown/index.js: -------------------------------------------------------------------------------- 1 | import Markdown from './Markdown'; 2 | 3 | export default Markdown; 4 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/PageHeader/index.js: -------------------------------------------------------------------------------- 1 | import PageHeader from './PageHeader'; 2 | 3 | export default PageHeader; 4 | -------------------------------------------------------------------------------- /docs/html/typography/typography.html: -------------------------------------------------------------------------------- 1 |

Display 1

2 |

Display 2

3 | -------------------------------------------------------------------------------- /packages/core-react/.storybook/addons.js: -------------------------------------------------------------------------------- 1 | import '@storybook/addon-actions/register'; 2 | import '@storybook/addon-links/register'; 3 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/CodeExample/index.js: -------------------------------------------------------------------------------- 1 | import CodeExample from './CodeExample'; 2 | 3 | export default CodeExample; 4 | -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/favicon.ico -------------------------------------------------------------------------------- /packages/docs-app/src/components/ComponentCode/index.js: -------------------------------------------------------------------------------- 1 | import ComponentCode from './ComponentCode'; 2 | 3 | export default ComponentCode; 4 | -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon.png -------------------------------------------------------------------------------- /packages/core/stories/static/images/image_16x9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/core/stories/static/images/image_16x9.jpg -------------------------------------------------------------------------------- /packages/core/stories/static/images/image_3x4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/core/stories/static/images/image_3x4.jpg -------------------------------------------------------------------------------- /packages/core/stories/static/images/image_4x3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/core/stories/static/images/image_4x3.jpg -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/favicon-96x96.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/ms-icon-70x70.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-57x57.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-60x60.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-72x72.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-76x76.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/ms-icon-144x144.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/ms-icon-150x150.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/ms-icon-310x310.png -------------------------------------------------------------------------------- /packages/core/.storybook/addons.js: -------------------------------------------------------------------------------- 1 | import { registerDsm } from '@invisionapp/dsm-storybook/register'; 2 | 3 | registerDsm(process.env.STORYBOOK_DSM); 4 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/ComponentExample/index.js: -------------------------------------------------------------------------------- 1 | import ComponentExample from './ComponentExample'; 2 | 3 | export default ComponentExample; 4 | -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/android-icon-36x36.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/android-icon-48x48.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/android-icon-72x72.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/android-icon-96x96.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-114x114.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-120x120.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-144x144.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-152x152.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-180x180.png -------------------------------------------------------------------------------- /packages/docs-app/src/content/global/images/favicon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/src/content/global/images/favicon-32.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/android-icon-144x144.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/android-icon-192x192.png -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wework/ray/HEAD/packages/docs-app/static/favicon/apple-icon-precomposed.png -------------------------------------------------------------------------------- /docs/html/typography/typography-displays.html: -------------------------------------------------------------------------------- 1 |

Display 1

2 |

Display 2

3 | -------------------------------------------------------------------------------- /packages/core/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('autoprefixer')({ 4 | browsers: ['> 1%', 'last 2 versions'] 5 | }) 6 | ] 7 | }; 8 | -------------------------------------------------------------------------------- /packages/docs-app/.storybook/addons.js: -------------------------------------------------------------------------------- 1 | import '@storybook/addon-options/register'; 2 | import '@storybook/addon-knobs/register'; 3 | import '@storybook/addon-actions/register'; 4 | -------------------------------------------------------------------------------- /packages/product-react/.storybook/addons.js: -------------------------------------------------------------------------------- 1 | import '@storybook/addon-actions/register'; 2 | import '@storybook/addon-links/register'; 3 | import '@storybook/addon-a11y/register'; 4 | -------------------------------------------------------------------------------- /packages/core-react/src/components/Select/Select.scss: -------------------------------------------------------------------------------- 1 | //overwriting ray componentdefault style -webkit-appearance: true 2 | .ray-select__input { 3 | -webkit-appearance: none; 4 | } 5 | -------------------------------------------------------------------------------- /packages/core/src/global/js/settings.js: -------------------------------------------------------------------------------- 1 | export default { 2 | prefix: 'ray-', 3 | breakpointsInPixels: { 4 | phone: 0, 5 | tablet: 600, 6 | desktop: 1195 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/CodeSnippet/code-snippet.scss: -------------------------------------------------------------------------------- 1 | .code-snippet { 2 | border-radius: $ray-border-radius; 3 | overflow: hidden; 4 | margin-bottom: 2rem !important; 5 | } 6 | -------------------------------------------------------------------------------- /packages/docs-app/src/polyfills/index.js: -------------------------------------------------------------------------------- 1 | import 'core-js'; 2 | 3 | import './custom-event'; 4 | import './element-closest'; 5 | import './element-matches'; 6 | import './toggle-class'; 7 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Select/Select.scss: -------------------------------------------------------------------------------- 1 | //overwriting ray componentdefault style -webkit-appearance: true 2 | .ray-select__input { 3 | -webkit-appearance: none; 4 | } 5 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/ColorTable/color-table.scss: -------------------------------------------------------------------------------- 1 | .color-table { 2 | tr, 3 | pre { 4 | margin: 0; 5 | padding: 0; 6 | font-family: $ray-font-stack-mono; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/docs-app/.storybook/_container.scss: -------------------------------------------------------------------------------- 1 | $ray-color-blue-50: #3c6df0; 2 | $ray-color-blue-50: #3057d5; 3 | $ray-color-blue-50: $ray-color-blue-50; 4 | 5 | @import '../src/styles/index.scss'; 6 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/markdown/markdown.scss: -------------------------------------------------------------------------------- 1 | .page-intro { 2 | @extend .#{$ray-class-prefix}text--body; 3 | display: block; 4 | margin-bottom: 1.5rem; 5 | max-width: 44rem; 6 | } 7 | -------------------------------------------------------------------------------- /packages/core-react/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | displayName: '@wework/ray-core-react', 3 | testMatch: ['/**/*.test.js'], 4 | setupFilesAfterEnv: ['/test/setup.js'] 5 | }; 6 | -------------------------------------------------------------------------------- /packages/core/.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/html/image/image--3by4.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /docs/html/image/image--4by3.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /packages/core-react/.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/html/image/image--16by9.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /packages/core/.dsmrc: -------------------------------------------------------------------------------- 1 | { 2 | "authToken": "SJzSKQm2B", 3 | "dsmHost": "weworkdesign.invisionapp.com", 4 | "organization": "we-work", 5 | "outputDir": ".dsm", 6 | "storyPath": "stories/**/*.stories.js" 7 | } 8 | -------------------------------------------------------------------------------- /packages/product-react/.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/html/typography/typography-links.html: -------------------------------------------------------------------------------- 1 |
2 | this is an anchor tag 3 |
4 | 5 |
6 | 7 |
8 | -------------------------------------------------------------------------------- /packages/core/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | displayName: '@wework/ray-core', 3 | testMatch: ['/test/**/*.test.js'], 4 | testPathIgnorePatterns: ['packages/core-react', 'packages/product-react'] 5 | }; 6 | -------------------------------------------------------------------------------- /docs/html/image/bg--3by4.html: -------------------------------------------------------------------------------- 1 |
2 |
6 |
7 | -------------------------------------------------------------------------------- /packages/core-react/src/components/Grid/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/prefer-default-export */ 2 | export { default as Container } from './Container'; 3 | export { default as Grid } from './Grid'; 4 | export { default as Cell } from './Cell'; 5 | -------------------------------------------------------------------------------- /docs/html/typography/typography-blockquote.html: -------------------------------------------------------------------------------- 1 |
2 | What works good is better than what looks good, because what works good lasts. 3 |
Ray Eames
4 |
5 | -------------------------------------------------------------------------------- /packages/docs-app/src/data/components.json: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | { 4 | "item": "Button", 5 | "added": "1.0.0", 6 | "vanilla": "ready", 7 | "react": false, 8 | "experimental": "ready" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /docs/html/typography/typography-body.html: -------------------------------------------------------------------------------- 1 |
Body large
2 |
Body default
3 |
Body small
4 |
Body x-small
5 | -------------------------------------------------------------------------------- /packages/core/src/components/index.js: -------------------------------------------------------------------------------- 1 | import Select from './select'; 2 | import Dropdown from './dropdown'; 3 | import { TextField, TextArea } from './text-field'; 4 | import Chip from './chip'; 5 | 6 | export { Select, Dropdown, TextField, TextArea, Chip }; 7 | -------------------------------------------------------------------------------- /packages/core-react/test/index.test.js: -------------------------------------------------------------------------------- 1 | describe('@wework/ray-core-react', () => { 2 | test('can be imported with no errors', () => { 3 | expect(() => { 4 | require('../src'); // eslint-disable-line global-require 5 | }).not.toThrow(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /packages/core/tools/build_chromatic.sh: -------------------------------------------------------------------------------- 1 | if [ "${CIRCLE_BRANCH}" != "master" ]; 2 | then 3 | npx chromatic test "${@}" 4 | else 5 | # We know any changes that make it to master *must* have been approved 6 | npx chromatic test --auto-accept-changes "${@}" 7 | fi 8 | -------------------------------------------------------------------------------- /packages/product-react/test/index.test.ts: -------------------------------------------------------------------------------- 1 | describe('@wework/ray-product-react', () => { 2 | test('can be imported with no errors', () => { 3 | expect(() => { 4 | require('../src'); // eslint-disable-line global-require 5 | }).not.toThrow(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /docs/html/image/image--caption.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 | 6 |
A beautiful graphic
7 |
8 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Grid/__snapshots__/Grid.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Grid should match snapshot and styles 1`] = ` 4 | 7 |
10 | 11 | `; 12 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Grid/__snapshots__/Cell.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Cell should match snapshot and styles 1`] = ` 4 | 7 |
10 | 11 | `; 12 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Tabs/context.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react'; 2 | import { ITab } from './Tabs'; 3 | 4 | export interface IContext { 5 | selectedTab: string; 6 | tabs: ITab[]; 7 | } 8 | 9 | export const TabContext = createContext(null); 10 | -------------------------------------------------------------------------------- /packages/core-react/stories/checkbox.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | 4 | import Checkbox from '../src/components/Checkbox'; 5 | 6 | storiesOf('Checkbox', module).add('default', () => ( 7 | 8 | )); 9 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Common/RTLWrapper.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const RTLWrapper: React.FC<{ renderWrapper?: boolean }> = ({ 4 | children, 5 | renderWrapper 6 | }) => (renderWrapper ?
{children}
: <>{children}); 7 | 8 | export default RTLWrapper; 9 | -------------------------------------------------------------------------------- /docs/html/text-area/text-area.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 11 |
12 | -------------------------------------------------------------------------------- /packages/product-react/stories/Checkbox.story.tsx: -------------------------------------------------------------------------------- 1 | import { storiesOf } from '@storybook/react'; 2 | import React from 'react'; 3 | 4 | import { Checkbox } from '../src/components/Checkbox'; 5 | 6 | storiesOf('Core Comps | Checkbox', module).add('default', () => ( 7 | 8 | )); 9 | -------------------------------------------------------------------------------- /docs/html/text-field/text-field.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 11 |
12 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Container/__snapshots__/Container.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Container should match snapshot and styles 1`] = ` 4 | 7 |
10 | 11 | `; 12 | -------------------------------------------------------------------------------- /packages/core/src/index.js: -------------------------------------------------------------------------------- 1 | import './global/js/polyfills'; 2 | import attachAccessibilityEvents from './global/js/accessibility'; 3 | import boot from './global/js/boot'; 4 | 5 | boot(); 6 | attachAccessibilityEvents(); 7 | 8 | export * from './components'; 9 | export { default as settings } from './global/js/settings'; 10 | -------------------------------------------------------------------------------- /packages/docs-app/static/favicon/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /docs/components/table.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Component 3 | title: Table 4 | --- 5 | 6 | 11 | 12 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /docs/html/typography/typography-list.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. Item one
  2. 3 |
  3. Item two
  4. 4 |
  5. Item three
  6. 5 |
  7. 6 | Item four 7 |
      8 |
    • and a one
    • 9 |
    • and a two
    • 10 |
    • and a three
    • 11 |
    12 |
  8. 13 |
  9. Item five
  10. 14 |
15 | -------------------------------------------------------------------------------- /packages/core-react/src/components/Card/card.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { mount } from 'enzyme'; 3 | 4 | import Card from '.'; 5 | 6 | describe('Card', () => { 7 | test('it renders a card', () => { 8 | const wrapper = mount(); 9 | expect(wrapper.find('.ray-card').length).toBe(1); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /docs/foundations/colors.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Guidelines 3 | title: Color 4 | --- 5 | 6 | The system functions around having one primary color be used for positive actions and major affordances, while stark black, white, and supporting grays all help as a supporting cast to create clean minimal hierarchy. 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/html/typography/typography-headings.html: -------------------------------------------------------------------------------- 1 | Heading 1
2 | Heading 2
3 | Heading 3
4 | Heading 4
5 | Heading 5
6 | Heading 6
7 | -------------------------------------------------------------------------------- /packages/core-react/stories/radio.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | 4 | import Radio from '../src/components/Radio'; 5 | 6 | storiesOf('Radio', module).add('default', () => ( 7 |
8 | 9 | 10 |
11 | )); 12 | -------------------------------------------------------------------------------- /packages/docs-app/NOTICE: -------------------------------------------------------------------------------- 1 | Ray Design System 2 | Copyright 2019 WeWork Companies Inc. 3 | Copyright 2018 IBM Corp. 4 | 5 | This product includes software developed by 6 | WeWork Companies Inc. (https://www.wework.com). 7 | 8 | This product includes software developed by 9 | IBM Corp (https://www.ibm.com). 10 | Licensed under the Apache License, Version 2.0 11 | -------------------------------------------------------------------------------- /packages/product-react/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | displayName: '@wework/ray-product-react', 3 | testMatch: ['/**/*.test.[jt]s?(x)'], 4 | setupFilesAfterEnv: ['/test/setup.js'], 5 | moduleNameMapper: { 6 | '\\.(css|scss)$': 'identity-obj-proxy' 7 | }, 8 | snapshotSerializers: ['enzyme-to-json/serializer'] 9 | }; 10 | -------------------------------------------------------------------------------- /docs/html/typography/typography-h3p3.html: -------------------------------------------------------------------------------- 1 |

Better Together

2 |

3 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Culpa architecto non 4 | dolorem atque dolore provident, velit commodi, nobis itaque voluptatibus ipsam 5 | impedit numquam? Est eos corrupti numquam placeat quam soluta! 6 |

7 | -------------------------------------------------------------------------------- /packages/docs-app/.storybook/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/preset-env", 5 | { 6 | "targets": { 7 | "browsers": ["last 1 versions", "Firefox ESR"] 8 | } 9 | } 10 | ], 11 | "@babel/preset-react" 12 | ], 13 | "plugins": [ 14 | "@babel/plugin-proposal-class-properties" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/product-react/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@babel/preset-typescript', 4 | [ 5 | '@babel/preset-env', 6 | { 7 | targets: { 8 | node: 'current' 9 | } 10 | } 11 | ], 12 | '@babel/preset-react' 13 | ], 14 | plugins: ['@babel/plugin-proposal-class-properties'] 15 | }; 16 | -------------------------------------------------------------------------------- /docs/html/text-area/text-area-multi-row.html: -------------------------------------------------------------------------------- 1 |
2 | 9 | 12 |
13 | -------------------------------------------------------------------------------- /packages/core/stories/util/placeholder.js: -------------------------------------------------------------------------------- 1 | const images = { 2 | '3x4': '/images/image_3x4.jpg', 3 | '4x3': '/images/image_4x3.jpg', 4 | '16x9': '/images/image_16x9.jpg' 5 | }; 6 | 7 | const DEFAULT_RATIO = '4x3'; 8 | 9 | export default function getPlaceholderURL(dimensions = DEFAULT_RATIO) { 10 | return images[dimensions] || images[DEFAULT_RATIO]; 11 | } 12 | -------------------------------------------------------------------------------- /packages/core/src/components/select/constants.js: -------------------------------------------------------------------------------- 1 | export const CSS_CLASSES = { 2 | ACTIVE: 'ray-select--active', 3 | REQUIRED: 'ray-select--required', 4 | HAS_VALUE: 'ray-select--has-value', 5 | PLACEHOLDER_MODE: 'ray-select--placeholder-mode', 6 | EL__INPUT: 'ray-select__input' 7 | }; 8 | 9 | export const STRINGS = { 10 | INIT_SELECTOR: '.ray-select' 11 | }; 12 | -------------------------------------------------------------------------------- /docs/html/text-field/rtl-text-field.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 9 | 12 |
13 |
14 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Avatar should match snapshot and styles 1`] = ` 4 | 9 |
12 | 13 | `; 14 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Common/FormItemWrapper.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const FormItemWrapper: React.FC<{ renderWrapper?: boolean }> = ({ 4 | children, 5 | renderWrapper 6 | }) => 7 | renderWrapper ? ( 8 |
{children}
9 | ) : ( 10 | <>{children} 11 | ); 12 | 13 | export default FormItemWrapper; 14 | -------------------------------------------------------------------------------- /packages/core/README.md: -------------------------------------------------------------------------------- 1 | # [Ray](https://ray.wework.com/) 2 | 3 | Resources for building interfaces with WeWork's design system. 4 | 5 | This package contains Ray's core UI as CSS and JavaScript. 6 | 7 | ## Installation 8 | 9 | ``` 10 | npm install --save @wework/ray-core 11 | ``` 12 | 13 | ### [Full Documentation](https://ray.wework.com) | [Source Code](https://github.com/wework/ray) 14 | -------------------------------------------------------------------------------- /packages/core/src/global/mixins/_exports.scss: -------------------------------------------------------------------------------- 1 | $_imported: () !default; 2 | 3 | /** Module exports mixin 4 | * This mixin makes sure a module is imported only once. 5 | * @param {String} $name - Name of exported module 6 | **/ 7 | @mixin exports($name) { 8 | @if (index($_imported, $name) == null) { 9 | $_imported: append($_imported, $name) !global; 10 | @content; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /docs/html/table/table.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
NameEmail
Arya Starkarya@winterfell.org
Jon Snowjon@thewatch.org
19 | -------------------------------------------------------------------------------- /packages/core-react/src/components/Grid/Grid.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import clsx from 'clsx'; 4 | 5 | export default function Grid({ className, ...props }) { 6 | const classes = clsx('ray-grid', className); 7 | 8 | return
; 9 | } 10 | 11 | Grid.propTypes = { 12 | className: PropTypes.string 13 | }; 14 | -------------------------------------------------------------------------------- /docs/html/breadcrumb/breadcrumbs.html: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Common/FieldWrapper.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const FieldWrapper: React.FC<{ 4 | renderWrapper?: boolean; 5 | fieldClass?: string; 6 | }> = ({ children, renderWrapper, fieldClass }) => 7 | renderWrapper ? ( 8 |
{children}
9 | ) : ( 10 | <>{children} 11 | ); 12 | 13 | export default FieldWrapper; 14 | -------------------------------------------------------------------------------- /docs/html/breadcrumb/rtl-breadcrumbs.html: -------------------------------------------------------------------------------- 1 |
2 | 13 |
14 | -------------------------------------------------------------------------------- /packages/docs-app/.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build: 4 | docker: 5 | - image: circleci/node:8.11 6 | working_directory: ~/repo 7 | steps: 8 | - checkout 9 | - run: 10 | name: Install dependencies 11 | command: yarn install 12 | - run: 13 | name: Confirm project can build 14 | command: | 15 | yarn build 16 | -------------------------------------------------------------------------------- /packages/docs-app/src/pages/404.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Layout from '../components/Layouts'; 3 | import FourOhFour from '../components/404'; 4 | 5 | import '../polyfills'; 6 | 7 | class NotFoundPage extends React.Component { 8 | render() { 9 | return ( 10 | 11 | 12 | 13 | ); 14 | } 15 | } 16 | 17 | export default NotFoundPage; 18 | -------------------------------------------------------------------------------- /packages/docs-app/src/polyfills/element-matches.js: -------------------------------------------------------------------------------- 1 | if (typeof Element !== 'undefined') { 2 | const matchesFuncName = [ 3 | 'matches', 4 | 'webkitMatchesSelector', 5 | 'msMatchesSelector' 6 | ].filter(name => typeof Element.prototype[name] === 'function')[0]; 7 | 8 | if (matchesFuncName !== 'matches') { 9 | Element.prototype.matches = Element.prototype[matchesFuncName]; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Common/IconWrapper.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const IconWrapper: React.FC<{ 4 | renderWrapper?: boolean; 5 | iconClass?: string; 6 | }> = ({ children, renderWrapper, iconClass }) => 7 | renderWrapper && children ? ( 8 |
{children}
9 | ) : ( 10 | <>{children} 11 | ); 12 | 13 | export default IconWrapper; 14 | -------------------------------------------------------------------------------- /docs/html/image/bg--16by9.html: -------------------------------------------------------------------------------- 1 |
2 |
6 | 7 | 8 |
9 | Vangelis Drake Equation explorations venture Rig Veda encyclopaedia 10 | galactica. 11 |
12 |
13 | -------------------------------------------------------------------------------- /packages/product-react/README.md: -------------------------------------------------------------------------------- 1 | # [Ray Product React Components](https://ray.wework.com/) 2 | 3 | 🚧 Currently in alpha, work-in-progress 4 | 5 | Resources for building interfaces with WeWork's design system. 6 | 7 | ## Installation 8 | 9 | ``` 10 | npm install --save @wework/ray-product-react 11 | ``` 12 | 13 | ### [Full Documentation](https://ray.wework.com) | [Source Code](https://github.com/wework/ray) 14 | -------------------------------------------------------------------------------- /docs/html/image/rtl-image--caption.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 | 7 |
8 | שנתי לחשבון מתמטיקה מתן גם. כימיה אינטרנט אנציקלופדיה אם צעד, את העיר 9 | הסביבה אחר גם. 10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /packages/core-react/src/components/Grid/Container.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import clsx from 'clsx'; 4 | 5 | export default function Container({ className, ...props }) { 6 | const classes = clsx('ray-page-container', className); 7 | 8 | return
; 9 | } 10 | 11 | Container.propTypes = { 12 | className: PropTypes.string 13 | }; 14 | -------------------------------------------------------------------------------- /packages/core-react/src/components/Common/Icon.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const Icon = ({ prepend, icon }) => { 5 | if (prepend) { 6 | return
{icon}
; 7 | } 8 | return
{icon}
; 9 | }; 10 | 11 | export default Icon; 12 | 13 | Icon.propTypes = { 14 | prepend: PropTypes.bool, 15 | icon: PropTypes.node 16 | }; 17 | -------------------------------------------------------------------------------- /packages/core/stories/tag.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | 4 | storiesOf('Tag', module) 5 | .add('default', () => ( 6 | <> 7 | Enterprise 8 | 9 | )) 10 | .add('as a link', () => ( 11 | <> 12 | 13 | Enterprise 14 | 15 | 16 | )); 17 | -------------------------------------------------------------------------------- /docs/html/chip/chip--with-icon.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 11 | 12 | Furnished 13 |
14 |
15 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testPathIgnorePatterns: ['node_modules/*', '.cache/*'], 3 | projects: [ 4 | '/packages/core/jest.config.js', 5 | '/packages/core-react/jest.config.js', 6 | '/packages/product-react/jest.config.js', 7 | { 8 | displayName: '@wework/rehype-react', 9 | testMatch: ['/packages/rehype-react/**/*.test.js'] 10 | } 11 | ] 12 | }; 13 | -------------------------------------------------------------------------------- /packages/core/src/global/js/util.js: -------------------------------------------------------------------------------- 1 | function validateNodeType(target) { 2 | if ( 3 | target.nodeType !== Node.ELEMENT_NODE && 4 | target.nodeType !== Node.DOCUMENT_NODE 5 | ) { 6 | throw new TypeError( 7 | 'DOM document or DOM element should be given to search for and initialize this widget.' 8 | ); 9 | } 10 | } 11 | 12 | export { validateNodeType }; // eslint-disable-line import/prefer-default-export 13 | -------------------------------------------------------------------------------- /docs/html/image/bg--4by3.html: -------------------------------------------------------------------------------- 1 |
2 |
6 | 7 |
8 | Consciousness are creatures of the cosmos rings of Uranus another world 9 | colonies concept of the number one. 10 |
11 |
12 | -------------------------------------------------------------------------------- /docs/html/select/select.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 9 | 12 |
13 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "command": { 3 | "publish": { 4 | "conventionalCommits": true 5 | }, 6 | "version": { 7 | "message": "chore(release): publish %s", 8 | "conventionalCommits": true, 9 | "gitHubRelease": true, 10 | "allowBranch": "master" 11 | } 12 | }, 13 | "packages": [ 14 | "packages/*" 15 | ], 16 | "version": "1.16.9", 17 | "npmClient": "yarn", 18 | "useWorkspaces": true 19 | } 20 | -------------------------------------------------------------------------------- /packages/core-react/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | targets: { 7 | node: 'current' 8 | }, 9 | ...(process.env.NODE_ENV === 'test' 10 | ? { modules: 'auto' } 11 | : { modules: false }) 12 | } 13 | ], 14 | '@babel/preset-react' 15 | ], 16 | plugins: ['@babel/plugin-proposal-class-properties'] 17 | }; 18 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | targets: { 7 | node: 'current' 8 | }, 9 | ...(process.env.NODE_ENV === 'test' 10 | ? { modules: 'auto' } 11 | : { modules: false }) 12 | } 13 | ], 14 | '@babel/preset-react', 15 | '@babel/preset-typescript' 16 | ], 17 | plugins: ['@babel/plugin-proposal-class-properties'] 18 | }; 19 | -------------------------------------------------------------------------------- /docs/html/dropdown/dropdown.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 8 |
9 | 12 |
13 | -------------------------------------------------------------------------------- /docs/html/select/select--error.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 9 | 12 |
13 | -------------------------------------------------------------------------------- /packages/core/stories/tabs.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | 4 | if (process.env.NODE_ENV === 'development') { 5 | storiesOf('Tabs', module).add('default', () => ( 6 |
    7 |
  • Desktop
  • 8 |
  • Tablet
  • 9 |
  • Mobile
  • 10 |
11 | )); 12 | } 13 | -------------------------------------------------------------------------------- /docs/html/select/select--compact.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 9 | 12 |
13 | -------------------------------------------------------------------------------- /docs/html/table/rtl-table.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
שֵׁםדואר אלקטרוני
אריה סטארקarya@winterfell.org
ג'ון שלגjon@thewatch.org
20 |
21 | -------------------------------------------------------------------------------- /packages/core/stories/static/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/core/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | targets: { 7 | node: 'current', 8 | browsers: ['> 5%', 'Last 3 versions and not ie < 11'] 9 | }, 10 | ...(process.env.NODE_ENV === 'test' 11 | ? { modules: 'auto' } 12 | : { modules: false }) 13 | } 14 | ] 15 | ], 16 | plugins: ['@babel/plugin-proposal-class-properties'] 17 | }; 18 | -------------------------------------------------------------------------------- /packages/product-react/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/Container'; 2 | export * from './components/Image'; 3 | export * from './components/Grid'; 4 | export * from './components/Tabs'; 5 | export * from './components/Button' 6 | export * from './components/Card'; 7 | export * from './components/Select'; 8 | export * from './components/Checkbox'; 9 | export * from './components/TextArea'; 10 | export * from './components/Radio'; 11 | export * from './components/List'; 12 | 13 | -------------------------------------------------------------------------------- /packages/docs-app/src/content/global/images/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [{package,bower}.json] 16 | indent_style = space 17 | indent_size = 2 18 | 19 | [{.eslintrc,.scss-lint.yml}] 20 | indent_style = space 21 | indent_size = 2 22 | 23 | [*.{scss,sass}] 24 | indent_style = space 25 | indent_size = 2 26 | -------------------------------------------------------------------------------- /docs/html/select/rtl-select.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 9 | 10 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /docs/html/text-field/text-field-with-hint.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 9 | 12 |
13 |
14 | Hint hint, your name of choice goes here. 15 |
16 |
17 | -------------------------------------------------------------------------------- /packages/core/stories/breadcrumb.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | 4 | storiesOf('Breadcrumb', module).add('example', () => ( 5 | 14 | )); 15 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/SideNav/SideNav.stories.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | import { action } from '@storybook/addon-actions'; 4 | import { withKnobs, text, boolean, number, color, select } from '@storybook/addon-knobs'; 5 | 6 | import SideNav from './SideNav'; 7 | 8 | const stories = storiesOf('SideNav', module); 9 | 10 | stories.addDecorator(withKnobs); 11 | 12 | stories.add('default', () => { 13 | return ; 14 | }); 15 | -------------------------------------------------------------------------------- /docs/html/dropdown/dropdown--compact.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 8 |
9 | 12 |
13 | -------------------------------------------------------------------------------- /docs/html/select/select--with-placeholder.html: -------------------------------------------------------------------------------- 1 |
2 | 10 | 11 | 14 |
15 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Card/Card.scss: -------------------------------------------------------------------------------- 1 | $card-compact-padding: 1rem; 2 | $card-compact-div: 0; 3 | $card-compact-inactive: #666; 4 | $card-card-content: break-word; 5 | 6 | .ray-card { 7 | &--compact { 8 | padding: $card-compact-padding; 9 | } 10 | 11 | &--compact > div { 12 | margin-bottom: $card-compact-div; 13 | } 14 | 15 | &--inactive { 16 | color: $card-compact-inactive; 17 | } 18 | 19 | &__content { 20 | overflow-wrap: $card-card-content; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/core/src/global/_functions.scss: -------------------------------------------------------------------------------- 1 | @mixin no-select { 2 | -webkit-touch-callout: none; /* iOS Safari */ 3 | -webkit-user-select: none; /* Safari */ 4 | -khtml-user-select: none; /* Konqueror HTML */ 5 | -moz-user-select: none; /* Firefox */ 6 | -ms-user-select: none; /* Internet Explorer/Edge */ 7 | user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */ 8 | } 9 | 10 | @function rem($px, $base-font-size: 16px) { 11 | @return ($px / $base-font-size) * 1rem; 12 | } 13 | -------------------------------------------------------------------------------- /docs/html/select/rtl-select--error.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 9 | 10 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /packages/core-react/README.md: -------------------------------------------------------------------------------- 1 | # [Ray React Components](https://ray.wework.com/) 2 | 3 | 🚧 Currently in alpha, work-in-progress 4 | 5 | Resources for building interfaces with WeWork's design system. 6 | 7 | This package contains Ray's React components. 8 | 9 | ## Installation 10 | 11 | ``` 12 | npm install --save @wework/ray-core-react 13 | ``` 14 | 15 | ### [React Storybook](https://ray.wework.com/core-react/storybook) | [Full Documentation](https://ray.wework.com) | [Source Code](https://github.com/wework/ray) 16 | -------------------------------------------------------------------------------- /docs/html/fieldset/fieldset.html: -------------------------------------------------------------------------------- 1 |
2 | Spirit Animal 3 | 4 |
5 | 6 | 7 |
8 | 9 |
10 | 11 | 12 |
13 |
14 | -------------------------------------------------------------------------------- /docs/html/select/rtl-select--compact.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 9 | 10 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /packages/docs-app/src/polyfills/custom-event.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line import/no-extraneous-dependencies 2 | import CustomEventPolyfill from 'custom-event'; 3 | 4 | // eslint-disable-next-line consistent-return 5 | const missingNativeCustomEvent = (() => { 6 | try { 7 | new CustomEvent('test-event'); // eslint-disable-line no-new 8 | } catch (error) { 9 | return true; 10 | } 11 | })(); 12 | if (missingNativeCustomEvent && typeof window !== 'undefined') { 13 | window.CustomEvent = CustomEventPolyfill; 14 | } 15 | -------------------------------------------------------------------------------- /docs/html/dropdown/rtl-dropdown.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 9 |
10 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /docs/components/breadcrumb.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Component 3 | title: Breadcrumb 4 | --- 5 | 6 | Breadcrumbs are links that act as a type of secondary navigation that reveals the user’s location in a website or Web application. 7 | 8 | 13 | 14 | 15 | 20 | 21 | -------------------------------------------------------------------------------- /docs/html/text-field/rtl-text-field-with-hint.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 10 | 13 |
14 |
15 | הזן את השם שלך כאן 16 |
17 |
18 |
19 | -------------------------------------------------------------------------------- /packages/docs-app/src/polyfills/element-closest.js: -------------------------------------------------------------------------------- 1 | if ( 2 | typeof Element !== 'undefined' && 3 | typeof Element.prototype.closest !== 'function' 4 | ) { 5 | Element.prototype.closest = function closestElement(selector) { 6 | const doc = this.ownerDocument; 7 | for ( 8 | let traverse = this; 9 | traverse && traverse !== doc; 10 | traverse = traverse.parentNode 11 | ) { 12 | if (traverse.matches(selector)) { 13 | return traverse; 14 | } 15 | } 16 | return null; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /packages/product-react/src/components/Button/__snapshots__/Button.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Button should match snapshot and styles for default props 1`] = ` 4 | "" 7 | `; 8 | -------------------------------------------------------------------------------- /packages/core-react/stories/grid.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | 4 | import { Container, Grid, Cell } from '../src/components/Grid'; 5 | 6 | storiesOf('Grid', module).add('default', () => ( 7 | 8 | 9 | hello world 10 | hello world 11 | hello world 12 | 13 | hello world 14 | 15 | 16 | 17 | )); 18 | -------------------------------------------------------------------------------- /packages/core-react/test/setup.js: -------------------------------------------------------------------------------- 1 | import Enzyme from 'enzyme'; 2 | import Adapter from 'enzyme-adapter-react-16'; 3 | 4 | Enzyme.configure({ adapter: new Adapter() }); 5 | 6 | (function throwErrorOnPropTypeFailure() { 7 | /* eslint-disable no-console */ 8 | const originalConsoleError = console.error; 9 | 10 | console.error = message => { 11 | if (/(Failed prop type)/.test(message)) { 12 | throw new Error(message); 13 | } 14 | 15 | originalConsoleError(message); 16 | }; 17 | /* eslint-enable no-console */ 18 | })(); 19 | -------------------------------------------------------------------------------- /packages/docs-app/src/components/ComponentCode/ComponentCode.stories.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { storiesOf } from '@storybook/react'; 3 | import { action } from '@storybook/addon-actions'; 4 | import { withKnobs, text, boolean, number, color, select } from '@storybook/addon-knobs'; 5 | 6 | import ComponentCode from './ComponentCode'; 7 | 8 | const stories = storiesOf('ComponentCode', module); 9 | 10 | stories.addDecorator(withKnobs); 11 | 12 | stories.add('default', () => { 13 | return Test; 14 | }); 15 | -------------------------------------------------------------------------------- /packages/product-react/test/setup.js: -------------------------------------------------------------------------------- 1 | import Enzyme from 'enzyme'; 2 | import Adapter from 'enzyme-adapter-react-16'; 3 | 4 | Enzyme.configure({ adapter: new Adapter() }); 5 | 6 | (function throwErrorOnPropTypeFailure() { 7 | /* eslint-disable no-console */ 8 | const originalConsoleError = console.error; 9 | 10 | console.error = message => { 11 | if (/(Failed prop type)/.test(message)) { 12 | throw new Error(message); 13 | } 14 | 15 | originalConsoleError(message); 16 | }; 17 | /* eslint-enable no-console */ 18 | })(); 19 | -------------------------------------------------------------------------------- /docs/html/card/card--row.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | card graphic 7 |
8 | 9 |
10 |
Better Together
11 |
12 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorem atque 13 | minima itaque sint! Doloremque odio quia saepe. 14 |
15 |
16 |
17 | -------------------------------------------------------------------------------- /packages/docs-app/.storybook/config.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { configure, setAddon, addDecorator } from '@storybook/react'; 3 | import infoAddon from '@storybook/addon-info'; 4 | import Container from './Container'; 5 | 6 | // addDecorator(checkA11y); 7 | addDecorator(story => ); 8 | setAddon(infoAddon); 9 | 10 | function loadStories() { 11 | const req = require.context('../src/components', true, /.stories.jsx$/); 12 | req.keys().forEach(filename => req(filename)); 13 | } 14 | 15 | configure(loadStories, module); 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | dist 3 | .env 4 | node_modules/ 5 | .vscode 6 | 7 | # Logs 8 | logs 9 | *.log 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | *.sublime* 15 | 16 | stats.json 17 | 18 | docs-app/.cache 19 | /docs/js 20 | coverage/ 21 | 22 | # built files 23 | packages/core/es 24 | packages/core/umd 25 | packages/core/scripts 26 | packages/core/css 27 | packages/core/scss 28 | packages/core/html 29 | packages/core/.out 30 | packages/core/storybook-static 31 | packages/docs-app/public 32 | packages/docs-app/.cache 33 | .out/ 34 | .dsm 35 | -------------------------------------------------------------------------------- /docs/html/select/rtl-select--with-placeholder.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 11 | 12 | 15 |
16 |
17 | -------------------------------------------------------------------------------- /docs/html/card/card.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | card graphic 7 |
8 | 9 |
10 |
Better Together
11 |
12 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorem atque 13 | minima itaque sint! Doloremque odio quia saepe. 14 |
15 |
16 |
17 | -------------------------------------------------------------------------------- /docs/html/dropdown/dropdown--error.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 8 | 11 |
12 |
13 | Is anything wrong? 14 | -------------------------------------------------------------------------------- /docs/html/dropdown/rtl-dropdown--compact.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 9 |
10 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /packages/core-react/.storybook/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | const SRC_PATH = path.resolve(__dirname, '../src'); 4 | 5 | module.exports = function({ config }) { 6 | // Add SCSS support, since Ray Design System needs it 7 | config.module.rules.push({ 8 | test: /\.scss$/, 9 | loaders: ['style-loader', 'css-loader', 'sass-loader'] 10 | }); 11 | 12 | // Make root imports from `src/` work in storybooks 13 | config.resolve.alias = { 14 | ...config.resolve.alias, 15 | src: SRC_PATH 16 | }; 17 | 18 | return config; 19 | }; 20 | -------------------------------------------------------------------------------- /packages/core/test/index.test.js: -------------------------------------------------------------------------------- 1 | describe('RayCore', () => { 2 | describe('library can be imported', () => { 3 | test('with no errors thrown', done => { 4 | expect(async () => { 5 | const { settings } = await require('../src'); // eslint-disable-line global-require 6 | expect(settings).toEqual({ 7 | prefix: 'ray-', 8 | breakpointsInPixels: { 9 | phone: 0, 10 | tablet: 600, 11 | desktop: 1195 12 | } 13 | }); 14 | done(); 15 | }).not.toThrow(); 16 | }); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core-react/src/components/TextArea/textArea.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { mount } from 'enzyme'; 3 | 4 | import TextArea from '.'; 5 | 6 | describe('TextArea', () => { 7 | test('it renders a text field', () => { 8 | const wrapper = mount(