├── .flowconfig ├── docs ├── favicon.ico ├── static │ ├── manager.24be99bd87a42b5cd134.bundle.js.map │ └── preview.14b8b8f7f63023e3effc.bundle.js.map ├── iframe.html └── index.html ├── .storybook ├── Storyshots.test.js ├── .babelrc ├── addons.js ├── Button.stories.js ├── _Media_.stories.js ├── webpack.config.js ├── _Resize_.stories.js ├── _Scroll_.stories.js ├── config.js ├── NativeView.stories.js ├── BackgroundImage.stories.js ├── Video.stories.js ├── Image.stories.js ├── Col.stories.js ├── Row.stories.js ├── Text.stories.js ├── decorators.stories.js ├── Playground.stories.js ├── Style_.stories.js ├── TransitionGroupView.stories.js ├── View.stories.js └── Animate_.stories.js ├── .babelrc ├── packagesOld ├── Col │ ├── index.js │ ├── Col.native.js │ ├── Col.js │ ├── package.json │ ├── index.native.js.flow │ └── index.js.flow ├── Row │ ├── index.js │ ├── Row.native.js │ ├── Row.js │ ├── package.json │ ├── index.native.js.flow │ └── index.js.flow ├── View │ ├── index.js │ ├── package.json │ ├── View.js │ ├── View.native.js │ ├── index.native.js.flow │ └── index.js.flow ├── _GlobalEvent_ │ ├── index.js.flow │ ├── package.json │ └── index.js ├── Flex │ ├── index.js │ ├── package.json │ ├── index.native.js.flow │ └── index.js.flow ├── Block │ ├── index.js │ └── package.json ├── flexComponentFactory │ ├── index.js │ ├── package.json │ └── flexComponentFactory.native.js ├── displayComponentFactory │ ├── index.js │ ├── package.json │ ├── displayComponentFactory.native.js │ └── displayComponentFactory.js ├── _Media_ │ ├── index.js.flow │ ├── package.json │ └── index.js ├── _Resize_ │ ├── index.js.flow │ ├── package.json │ └── index.js ├── _Scroll_ │ ├── index.js.flow │ ├── package.json │ └── index.js ├── Button │ ├── package.json │ └── index.js └── BackgroundImage │ ├── package.json │ └── index.js ├── lerna.json ├── .gitignore ├── flow-typed └── npm │ ├── flow-bin_v0.x.x.js │ ├── babel-preset-react_vx.x.x.js │ ├── babel-preset-es2015_vx.x.x.js │ ├── babel-preset-stage-0_vx.x.x.js │ ├── @kadira │ ├── storybook-deployer_vx.x.x.js │ └── storyshots_vx.x.x.js │ ├── rimraf_vx.x.x.js │ ├── react-addons-shallow-compare_vx.x.x.js │ ├── babel-plugin-transform-decorators-legacy_vx.x.x.js │ ├── raf_vx.x.x.js │ └── babel-cli_vx.x.x.js ├── packages ├── View │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ ├── View-test.js.snap │ │ │ └── View.native-test.js.snap │ │ ├── View-test.js │ │ └── View.native-test.js │ ├── tsconfig.native.json │ ├── tsconfig.web.json │ ├── package.json │ └── src │ │ ├── index.native.js.flow │ │ └── index.js.flow ├── dom │ ├── src │ │ ├── index.js.flow │ │ └── index.tsx │ ├── tsconfig.web.json │ └── package.json ├── Space │ ├── src │ │ ├── index.js.flow │ │ ├── index.native.js.flow │ │ ├── index.native.tsx │ │ └── index.tsx │ ├── tsconfig.native.json │ ├── tsconfig.web.json │ └── package.json ├── decoratorMedia │ ├── package.json │ └── index.js ├── decoratorResize │ ├── package.json │ └── index.js ├── decoratorScroll │ ├── package.json │ └── index.js ├── decoratorKeydown │ ├── package.json │ └── index.js ├── Image │ ├── tsconfig.native.json │ ├── package.json │ ├── src │ │ └── index.native.js.flow │ └── dist ├── Text │ ├── tsconfig.native.json │ ├── tsconfig.web.json │ ├── src │ │ ├── index.js.flow │ │ ├── index.native.js.flow │ │ ├── index.native.tsx │ │ └── index.tsx │ └── package.json ├── Video │ ├── index.js.flow │ ├── package.json │ └── index.js ├── Event_ │ ├── tsconfig.native.json │ ├── tsconfig.web.json │ ├── src │ │ ├── index.native.js.flow │ │ └── index.js.flow │ └── package.json ├── ScrollView │ ├── tsconfig.native.json │ ├── tsconfig.web.json │ ├── package.json │ └── src │ │ ├── index.js.flow │ │ └── index.native.js.flow ├── Style_ │ ├── tsconfig.native.json │ ├── tsconfig.web.json │ ├── package.json │ └── src │ │ ├── index.js.flow │ │ ├── index.native.js.flow │ │ ├── index.native.tsx │ │ └── index.tsx ├── TransitionGroupView │ ├── src │ │ ├── index.js.flow │ │ └── index.tsx │ ├── tsconfig.native.json │ ├── index.js.flow │ ├── tsconfig.web.json │ └── package.json └── Animate_ │ ├── tsconfig.web.json │ ├── src │ ├── index.js.flow │ ├── index.native.js.flow │ └── index.tsx │ ├── tsconfig.native.json │ └── package.json ├── LICENSE ├── README.md └── package.json /.flowconfig: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/constelation/monorepo/HEAD/docs/favicon.ico -------------------------------------------------------------------------------- /.storybook/Storyshots.test.js: -------------------------------------------------------------------------------- 1 | import initStoryshots from 'storyshots'; 2 | initStoryshots(); 3 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "presets": [ 4 | "react", 5 | "es2015", 6 | "stage-0" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /packagesOld/Col/index.js: -------------------------------------------------------------------------------- 1 | var Col = require('./Col') 2 | 3 | module.exports = Col 4 | // export { default } from './Col' 5 | -------------------------------------------------------------------------------- /packagesOld/Row/index.js: -------------------------------------------------------------------------------- 1 | var Row = require('./Row') 2 | 3 | module.exports = Row 4 | // export { default } from './Row' 5 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "lerna": "2.0.0-beta.38", 3 | "version": "15.1.0", 4 | "packages": [ 5 | "packages/*" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /packagesOld/View/index.js: -------------------------------------------------------------------------------- 1 | // export { default } from './View' 2 | var View = require('./View') 3 | 4 | module.exports = View 5 | -------------------------------------------------------------------------------- /packagesOld/_GlobalEvent_/index.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | declare class Event_ extends React$PureComponent<> { 4 | render(): any; 5 | } 6 | -------------------------------------------------------------------------------- /packagesOld/Flex/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var flexComponentFactory = require('constelation-flex-component-factory') 4 | 5 | module.exports = flexComponentFactory('Flex') 6 | -------------------------------------------------------------------------------- /.storybook/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "transform-decorators-legacy" 4 | ], 5 | "presets": [ 6 | "react", 7 | "es2015", 8 | "stage-0" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /.storybook/addons.js: -------------------------------------------------------------------------------- 1 | // To get our default addons (actions and links) 2 | import '@kadira/storybook/addons' 3 | // To add the knobs addon 4 | import '@kadira/storybook-addon-knobs/register' 5 | -------------------------------------------------------------------------------- /packagesOld/Block/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var displayComponentFactory = require('constelation-display-component-factory') 4 | 5 | module.exports = displayComponentFactory('Block', {display: 'block'}) 6 | -------------------------------------------------------------------------------- /packagesOld/flexComponentFactory/index.js: -------------------------------------------------------------------------------- 1 | // export { default } from './displayComponentFactory' 2 | var flexComponentFactory = require('./flexComponentFactory') 3 | 4 | module.exports = flexComponentFactory 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | .tern-port 4 | .DS_Store 5 | .vscode/ 6 | lerna-debug.log 7 | 8 | # ignore generated files in modules 9 | packages/*/*.js 10 | packages/*/*.d.ts 11 | packages/*/*.js.flow 12 | -------------------------------------------------------------------------------- /packagesOld/displayComponentFactory/index.js: -------------------------------------------------------------------------------- 1 | // export { default } from './displayComponentFactory' 2 | var displayComponentFactory = require('./displayComponentFactory') 3 | 4 | module.exports = displayComponentFactory 5 | -------------------------------------------------------------------------------- /packagesOld/_Media_/index.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | declare class _Media_ extends React$Component<> { 4 | props: { 5 | matches: string, 6 | onChange: Function, 7 | }; 8 | render(): any; 9 | } 10 | -------------------------------------------------------------------------------- /flow-typed/npm/flow-bin_v0.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583 2 | // flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x 3 | 4 | declare module "flow-bin" { 5 | declare module.exports: string; 6 | } 7 | -------------------------------------------------------------------------------- /packages/View/__tests__/__snapshots__/View-test.js.snap: -------------------------------------------------------------------------------- 1 | exports[`test renders correctly 1`] = ` 2 |
10 | `; 11 | -------------------------------------------------------------------------------- /.storybook/Button.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { storiesOf, action } from '@kadira/storybook' 3 | import Button from '../packages/Button' 4 | 5 | storiesOf('Button', module) 6 | .addWithInfo('with text child', () => ( 7 | 10 | )) 11 | -------------------------------------------------------------------------------- /packagesOld/Col/Col.native.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var flexComponentFactory = require('constelation-flex-component-factory') 4 | 5 | var style = { 6 | flexDirection: 'column', 7 | } 8 | 9 | // module.exports = flexComponentFactory('Col', style, styleAliases) 10 | module.exports = flexComponentFactory('Col', style) 11 | -------------------------------------------------------------------------------- /packagesOld/Row/Row.native.js: -------------------------------------------------------------------------------- 1 | 2 | 'use strict'; 3 | 4 | var flexComponentFactory = require('constelation-flex-component-factory') 5 | 6 | var style = { 7 | flexDirection: 'row', 8 | } 9 | 10 | // module.exports = flexComponentFactory('Row', style, styleAliases) 11 | module.exports = flexComponentFactory('Row', style) 12 | -------------------------------------------------------------------------------- /packagesOld/Col/Col.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var flexComponentFactory = require('constelation-flex-component-factory') 4 | 5 | var requiredStyle = { 6 | flexDirection: 'column', 7 | } 8 | 9 | // module.exports = flexComponentFactory('Col', requiredStyle, styleAliases) 10 | module.exports = flexComponentFactory('Col', requiredStyle) 11 | -------------------------------------------------------------------------------- /packagesOld/Row/Row.js: -------------------------------------------------------------------------------- 1 | 2 | 'use strict'; 3 | 4 | var flexComponentFactory = require('constelation-flex-component-factory') 5 | 6 | var requiedStyle = { 7 | flexDirection: 'row', 8 | } 9 | 10 | // module.exports = flexComponentFactory('Row', requiedStyle, styleAliases) 11 | module.exports = flexComponentFactory('Row', requiedStyle) 12 | -------------------------------------------------------------------------------- /packagesOld/_Resize_/index.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | declare class _Resize_ extends React$Component<> { 4 | props: { 5 | throttle?: boolean | number | 'raf', 6 | passInfo?: boolean, 7 | onResize?: Function, 8 | onStart?: Function, 9 | onEnd?: Function, 10 | }; 11 | render(): any; 12 | } 13 | -------------------------------------------------------------------------------- /packagesOld/_Scroll_/index.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | declare class _Scroll_ extends React$Component<> { 4 | props: { 5 | throttle?: boolean | number | 'raf', 6 | passInfo?: boolean, 7 | onScroll?: Function, 8 | onStart?: Function, 9 | onEnd?: Function, 10 | }; 11 | render(): any; 12 | } 13 | -------------------------------------------------------------------------------- /packages/dom/src/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-dom" { 2 | declare export function disableScroll(): void; 3 | declare export function enableScroll(): void; 4 | declare export function scrollToY(endY?: number, speed?: number, easing?: string, element?: Element): void; 5 | declare export function getScrollTop(): number; 6 | declare export function getElementOffsetTop(element: HTMLElement): number; 7 | } 8 | -------------------------------------------------------------------------------- /.storybook/_Media_.stories.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | import React from 'react' 4 | import { storiesOf, action } from '@kadira/storybook' 5 | // import View from '../packages/View' 6 | import _Media_ from '../packages/_Media_/dist' 7 | 8 | storiesOf('_Media_', module) 9 | .add('logs to console', () => ( 10 |
11 | <_Media_ matches='(min-width: 500px)' onChange={action('media')} /> 12 |
13 | )) 14 | -------------------------------------------------------------------------------- /packagesOld/Row/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-Row", 3 | "version": "6.5.0", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "dependencies": { 13 | "constelation-flex-component-factory": "^6.5.0" 14 | } 15 | } -------------------------------------------------------------------------------- /packagesOld/Col/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-Col", 3 | "version": "6.5.0", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "dependencies": { 13 | "constelation-flex-component-factory": "^6.5.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packagesOld/Flex/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-Flex", 3 | "version": "6.5.0", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "dependencies": { 13 | "constelation-flex-component-factory": "^6.5.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packagesOld/View/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-View", 3 | "version": "6.5.0", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "dependencies": { 13 | "constelation-flex-component-factory": "^6.5.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packagesOld/Block/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-Block", 3 | "version": "5.1.1", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "dependencies": { 13 | "constelation-display-component-factory": "^5.1.1" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/Space/src/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-space" { 2 | declare export type Props = { 3 | size: number | string, 4 | } 5 | 6 | declare class Space extends React$PureComponent<> { 7 | props: Props; 8 | render(): any; 9 | } 10 | declare class SPACE extends React$Component<> { 11 | props: Props; 12 | render(): any; 13 | } 14 | 15 | declare var exports: typeof Space; 16 | declare var exports: typeof SPACE; 17 | } 18 | -------------------------------------------------------------------------------- /packages/Space/src/index.native.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-space" { 2 | declare export type Props = { 3 | size: number | string, 4 | } 5 | 6 | declare class Space extends React$PureComponent<> { 7 | props: Props; 8 | render(): any; 9 | } 10 | declare class SPACE extends React$Component<> { 11 | props: Props; 12 | render(): any; 13 | } 14 | 15 | declare var exports: typeof Space; 16 | declare var exports: typeof SPACE; 17 | } 18 | -------------------------------------------------------------------------------- /packagesOld/_GlobalEvent_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-_GlobalEvent_", 3 | "version": "5.1.1", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packagesOld/Button/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-Button", 3 | "version": "5.1.1", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1", 15 | "glamor": "^2.20.24", 16 | "glamor-react": "^3.0.0-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packagesOld/_Media_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-_media_", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packagesOld/_Resize_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-_resize_", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packagesOld/_Scroll_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-_scroll_", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packagesOld/BackgroundImage/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-BackgroundImage", 3 | "version": "5.1.1", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1", 15 | "glamor": "^2.20.24", 16 | "glamor-react": "^3.0.0-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/decoratorMedia/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-media-decorator", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/decoratorResize/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-resize-decorator", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/decoratorScroll/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-scroll-decorator", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packagesOld/flexComponentFactory/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-flex-component-factory", 3 | "version": "6.5.1", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1", 15 | "glamor": "^2.20.24", 16 | "glamor-react": "^3.0.0-1" 17 | } 18 | } -------------------------------------------------------------------------------- /docs/static/manager.24be99bd87a42b5cd134.bundle.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"static/manager.24be99bd87a42b5cd134.bundle.js","sources":["webpack:///static/manager.24be99bd87a42b5cd134.bundle.js","webpack:///?d41d"],"mappings":"AAAA;ACu0EA;AA1jBA;AAgqHA;AA6uDA;AAs7DA;AAssDA;AAg+DA;AAyuEA;AAioEA;AAixDA;AAu+CA;AAw8CA;AAmrDA;AAw1DA;AAukDA;AAs9CA;AA67DA;AAgkFA;AAi7DA;AA0jDA;AAgnDA;AA2kEA;AAo8DA;AAg3DA;AA0pCA;AAyuEA;AA62DA;AAizDA;AAs2DA;AAuxDA;AA8wDA;AAw+CA;AAw1CA;AAutDA;AA45DA;AA+oGA;AA8jDA;AA2FA;AA+8EA;AA+2FA;AAxrBA;AA8lFA;AA0uCA;AAorDA;AAo/CA;AAyvDA;AAqjDA","sourceRoot":""} -------------------------------------------------------------------------------- /packages/decoratorKeydown/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-keydown-decorator", 3 | "version": "5.2.5", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1" 15 | }, 16 | "dependencies": { 17 | "subscribe-ui-event": "^1.0.14" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packagesOld/displayComponentFactory/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-display-component-factory", 3 | "version": "5.1.2", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 11 | "license": "ISC", 12 | "peerDependencies": { 13 | "lodash": "^4.13.1", 14 | "react": "^15.2.1", 15 | "glamor": "^2.20.24", 16 | "glamor-react": "^3.0.0-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /docs/static/preview.14b8b8f7f63023e3effc.bundle.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"static/preview.14b8b8f7f63023e3effc.bundle.js","sources":["webpack:///static/preview.14b8b8f7f63023e3effc.bundle.js","webpack:///"],"mappings":"AAAA;ACs5DA;AAglDA;AAqxDA;AAg3DA;AAmjDA;AAk6DA;AA2pEA;AA8tDA;AAimDA;AAwhDA;AAo5CA;AAmmDA;AAurDA;AAgnDA;AA8zDA;AA2gDA;AAqgDA;AAgpEA;AA81EA;AAm8DA;AAw2CA;AAy0DA;AA+pEA;AAwyDA;AA+pDA;AAmhDA;AAk6DA;AA8qDA;AAqxDA;AA0uDA;AAutDA;AAulCA;AAg1DA;AAyvCA;AAmxCA;AAqkDA;AAklEA;AA+7CA;AAk7DA;AA8tDA;AAssCA;AAwHA;AAk4DA;AA46DA;AAqgDA;AA0yCA;AAszBA;AA4+CA;AAq+CA;AA+5CA;AA01DA","sourceRoot":""} -------------------------------------------------------------------------------- /packages/Image/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/Space/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/Text/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/Video/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-Video" { 2 | declare class Video extends React$PureComponent<> { 3 | props: { 4 | src?: string, 5 | controls?: boolean, 6 | height?: string | number, 7 | repeat?: boolean, 8 | muted?: boolean, 9 | playsInline?: boolean, 10 | paused?: boolean, 11 | poster?: string, 12 | refNode?: (node?: HTMLElement) => void, 13 | style?: Object, 14 | width?: string | number, 15 | }; 16 | render(): any; 17 | } 18 | declare var exports: typeof Video; 19 | } 20 | -------------------------------------------------------------------------------- /packages/View/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/Event_/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/ScrollView/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/Style_/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/TransitionGroupView/src/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-TransitionGroupView" { 2 | declare export type Props = { 3 | willAppear?: Object, 4 | appear?: Object, 5 | willEnter?: Object, 6 | enter?: Object, 7 | willLeave?: Object, 8 | leave?: Object, 9 | component?: React$Element, 10 | appearDuration?: number, 11 | enterDuration?: number, 12 | leaveDuration?: number, 13 | } 14 | declare export default class TransitionGroupView extends React$Component<> { 15 | props: Props; 16 | render(): any; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/TransitionGroupView/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | }, 16 | "files": [ 17 | "src/index.native.tsx" 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/TransitionGroupView/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-TransitionGroupView" { 2 | declare class TransitionGroupView extends React$Component<> { 3 | props: { 4 | willAppear?: Object, 5 | appear?: Object, 6 | willEnter?: Object, 7 | enter?: Object, 8 | willLeave?: Object, 9 | leave?: Object, 10 | component?: React$Element, 11 | appearDuration?: number, 12 | enterDuration?: number, 13 | leaveDuration?: number, 14 | }; 15 | render(): any; 16 | } 17 | declare var exports: typeof TransitionGroupView; 18 | } 19 | -------------------------------------------------------------------------------- /packages/Video/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-Video", 3 | "version": "14.0.4", 4 | "description": "", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "flowtype": "../../node_modules/.bin/flow gen-flow-files *.js --out-dir dist" 9 | }, 10 | "keywords": [], 11 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 12 | "license": "ISC", 13 | "peerDependencies": { 14 | "lodash": "^4.13.1", 15 | "react": "^15.2.1" 16 | }, 17 | "devDependencies": { 18 | "flow-bin": "^0.34.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /packages/Event_/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/Space/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/Style_/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/Text/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/View/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/dom/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/Animate_/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/ScrollView/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /packages/Animate_/src/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-animate_" { 2 | declare export type Props = { 3 | keyframes?: Object, 4 | duration?: string, 5 | easing?: string, 6 | delay?: string, 7 | direction?: string, 8 | repeat?: boolean, 9 | type?: 'fadeIn' | 'fadeOut', 10 | } 11 | declare class Animate_ extends React$Component<> { 12 | props: Props; 13 | trigger(): void; 14 | render(): any; 15 | } 16 | declare class Animate extends React$Component<> { 17 | props: Props; 18 | render(): any; 19 | } 20 | declare export var Animate: typeof Animate; 21 | declare export default typeof Animate_ 22 | } 23 | -------------------------------------------------------------------------------- /packages/TransitionGroupView/tsconfig.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "module": "es6", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es5", 9 | "es2015.promise" 10 | ], 11 | "jsx": "react", 12 | "outDir": ".", 13 | "removeComments": true, 14 | "allowSyntheticDefaultImports": true, 15 | "noImplicitAny": true, 16 | "experimentalDecorators": true, 17 | "preserveConstEnums": true, 18 | "allowJs": false, 19 | "declaration": true 20 | }, 21 | "files": [ 22 | "src/index.tsx" 23 | ] 24 | } -------------------------------------------------------------------------------- /docs/iframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | React Storybook 13 | 14 | 15 | 16 | 17 |
18 |
19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /packages/dom/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-dom", 3 | "version": "14.4.0", 4 | "description": "", 5 | "homepage": "https://github.com/constelation/monorepo", 6 | "scripts": { 7 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 8 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 9 | "build": "npm run build:web; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.js", 14 | "index.d.ts", 15 | "index.js.flow" 16 | ], 17 | "keywords": [ 18 | "constelation", 19 | "dom" 20 | ], 21 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 22 | "license": "ISC" 23 | } 24 | -------------------------------------------------------------------------------- /.storybook/webpack.config.js: -------------------------------------------------------------------------------- 1 | // load the default config generator. 2 | var webpack = require('webpack') 3 | var genDefaultConfig = require('@kadira/storybook/dist/server/config/defaults/webpack.config.js'); 4 | 5 | module.exports = function(config, env) { 6 | var config = genDefaultConfig(config, env); 7 | 8 | // Extend it as you need. 9 | config.resolve.alias['react-native'] = 'react-native-web' 10 | 11 | config.plugins.push( 12 | new webpack.DefinePlugin({ 13 | __DEV__: true 14 | // __PROD__: env.prod || false, 15 | 16 | // Note: `process.env.NODE_ENV` is automatically set with `webpack -p` 17 | // which is needed for build React in prod mode 18 | }) 19 | ) 20 | 21 | 22 | return config; 23 | }; 24 | -------------------------------------------------------------------------------- /.storybook/_Resize_.stories.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | import React from 'react' 4 | import { storiesOf, action } from '@kadira/storybook' 5 | // import View from '../packages/View' 6 | import _Resize_ from '../packages/_Resize_/dist' 7 | 8 | storiesOf('_Resize_', module) 9 | .add('onResize', () => ( 10 |
11 | <_Resize_ onResize={action('resize')} /> 12 |
13 | )) 14 | .add('with raf throttle', () => ( 15 |
16 | <_Resize_ onResize={action('resize-throttle')} throttle='raf' /> 17 |
18 | )) 19 | .add('onResizeEnd with info', () => ( 20 |
21 | <_Resize_ onEnd={action('resizeEnd-info')} passInfo /> 22 |
23 | )) 24 | -------------------------------------------------------------------------------- /packages/Animate_/tsconfig.native.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "target": "es2015", 5 | "jsx": "react-native", 6 | "outDir": ".", 7 | "moduleResolution": "node", 8 | // "removeComments": true, 9 | "allowSyntheticDefaultImports": true, 10 | "noImplicitAny": true, 11 | "experimentalDecorators": true, 12 | "preserveConstEnums": true, 13 | "allowJs": false, 14 | "declaration": true 15 | // "lib": [ 16 | // "DOM", 17 | // "ScriptHost", 18 | // "DOM.Iterable", 19 | // "ES6", 20 | // "ES2015" 21 | // ] 22 | }, 23 | "files": [ 24 | "src/index.native.tsx" 25 | ] 26 | } -------------------------------------------------------------------------------- /packagesOld/View/View.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var flexComponentFactory = require('constelation-flex-component-factory') 4 | 5 | var requiredStyle = { 6 | flexDirection: 'column', 7 | } 8 | 9 | var styleAliases = { 10 | alignHorizontal: { 11 | property: 'alignItems', 12 | map: { 13 | left: 'flex-start', 14 | center: 'center', 15 | right: 'flex-end', 16 | }, 17 | }, 18 | alignVertical: { 19 | property: 'justifyContent', 20 | map: { 21 | top: 'flex-start', 22 | center: 'center', 23 | bottom: 'flex-end', 24 | }, 25 | }, 26 | } 27 | 28 | // export default displayComponentFactory('View', style, defaultStyle, styleAliases) 29 | module.exports = flexComponentFactory('View', requiredStyle, undefined, styleAliases) 30 | -------------------------------------------------------------------------------- /packagesOld/View/View.native.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var flexComponentFactory = require('constelation-flex-component-factory') 4 | // var flexComponentFactory = require('../flexComponentFactory/flexComponentFactory.native.js') 5 | 6 | var styleAliases = { 7 | alignHorizontal: { 8 | property: 'alignItems', 9 | map: { 10 | left: 'flex-start', 11 | center: 'center', 12 | right: 'flex-end', 13 | }, 14 | }, 15 | alignVertical: { 16 | property: 'justifyContent', 17 | map: { 18 | top: 'flex-start', 19 | center: 'center', 20 | bottom: 'flex-end', 21 | }, 22 | }, 23 | } 24 | 25 | // export default flexComponentFactory('View', null, null, styleAliases) 26 | module.exports = flexComponentFactory('View', null, null, styleAliases) 27 | -------------------------------------------------------------------------------- /packages/Space/src/index.native.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactNative from 'react-native' 3 | 4 | export interface IProps { 5 | size: number | string, 6 | } 7 | 8 | function getStyleFromProps(props: IProps) { 9 | return { 10 | flexGrow: 0, 11 | flexShrink: 0, 12 | flexBasis: props.size, 13 | } 14 | } 15 | 16 | export class Space extends React.PureComponent { 17 | render() { 18 | return 19 | } 20 | } 21 | 22 | export class SPACE extends React.Component { 23 | shouldComponentUpdate() { 24 | return false 25 | } 26 | 27 | render() { 28 | return 29 | } 30 | } 31 | 32 | export default Space 33 | -------------------------------------------------------------------------------- /.storybook/_Scroll_.stories.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | import React from 'react' 4 | import { storiesOf, action } from '@kadira/storybook' 5 | // import View from '../packages/View' 6 | import _Scroll_ from '../packages/_Scroll_/dist' 7 | 8 | storiesOf('_Scroll_', module) 9 | .add('logs to console', () => ( 10 |
11 | <_Scroll_ onScroll={action('scrolling')} /> 12 |
13 | )) 14 | .add('logs to console with raf throttle', () => ( 15 |
16 | <_Scroll_ onScroll={action('scrolling-throttle')} throttle='raf' /> 17 |
18 | )) 19 | .add('logs to console scrollEnd with info', () => ( 20 |
21 | <_Scroll_ onEnd={action('scrollEnd-info')} passInfo /> 22 |
23 | )) 24 | -------------------------------------------------------------------------------- /packagesOld/_Media_/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var React = require('react') 4 | 5 | /* 6 | * <_Media_ matches='(min-width: 1024px)' onChange={this.handleMatch} /> 7 | */ 8 | class _Media_ extends React.Component { 9 | 10 | // May want to remove this in the future and dynamically modify subscriptions if a prop changes 11 | shouldComponentUpdate() { 12 | return false 13 | } 14 | 15 | componentDidMount() { 16 | this.media = window.matchMedia(this.props.matches) 17 | this.media.addListener(this.handleMedia) 18 | } 19 | 20 | componentWillUnmount() { 21 | this.media.removeListener(this.handleMedia) 22 | } 23 | 24 | handleMedia = ({ matches }) => { 25 | this.props.onChange(matches) 26 | } 27 | 28 | render() { 29 | return null 30 | } 31 | } 32 | 33 | module.exports = _Media_ 34 | -------------------------------------------------------------------------------- /packages/Event_/src/index.native.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-event_" { 2 | declare export type Props = { 3 | hitSlop?: number, 4 | hitSlopVertical?: number, 5 | hitSlopHorizontal?: number, 6 | hitSlopTop?: number, 7 | hitSlopRight?: number, 8 | hitSlopBottom?: number, 9 | hitSlopLeft?: number, 10 | onLongPress?: Function, 11 | onPress?: Function, 12 | onPressIn?: Function, 13 | onPressOut?: Function, 14 | pressEffect?: 'opacity', 15 | } 16 | declare class Event_ extends React$Component<> { 17 | props: Props; 18 | render(): any; 19 | } 20 | declare class Event extends React$Component<> { 21 | props: Props; 22 | render(): any; 23 | } 24 | 25 | declare export var Event: typeof Event; 26 | declare export default typeof Event_ 27 | } 28 | -------------------------------------------------------------------------------- /packages/Space/src/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import * as glamorReact from 'glamor-react' 3 | 4 | export interface IProps { 5 | size: number | string, 6 | } 7 | 8 | function getStyleFromProps(props: IProps) { 9 | const flexBasis = (typeof props.size === 'number') 10 | ? `${props.size}px` 11 | : props.size 12 | 13 | return { 14 | flexGrow: 0, 15 | flexShrink: 0, 16 | flexBasis, 17 | } 18 | } 19 | 20 | export class Space extends React.PureComponent { 21 | render() { 22 | return glamorReact.createElement('div', { css: getStyleFromProps(this.props) }) 23 | } 24 | } 25 | 26 | export class SPACE extends React.Component { 27 | shouldComponentUpdate() { 28 | return false 29 | } 30 | 31 | render() { 32 | return glamorReact.createElement('div', { css: getStyleFromProps(this.props) }) 33 | } 34 | } 35 | 36 | export default Space 37 | -------------------------------------------------------------------------------- /packages/Image/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-image", 3 | "version": "15.1.0", 4 | "description": "", 5 | "homepage": "https://github.com/constelation/monorepo", 6 | "scripts": { 7 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:native; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.native.js", 14 | "index.native.d.ts", 15 | "index.native.js.flow" 16 | ], 17 | "keywords": [ 18 | "constelation", 19 | "image" 20 | ], 21 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 22 | "license": "ISC", 23 | "peerDependencies": { 24 | "lodash": "^4.13.1", 25 | "react": "^15.2.1" 26 | }, 27 | "optionalDependencies": { 28 | "glamor": "^2.17.12" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.storybook/config.js: -------------------------------------------------------------------------------- 1 | import { configure, setAddon } from '@kadira/storybook' 2 | import infoAddon from '@kadira/react-storybook-addon-info' 3 | 4 | function loadStories() { 5 | // require('./Button.stories') 6 | // require('./BackgroundImage.stories') 7 | require('./View.stories') 8 | require('./ScrollView.stories') 9 | require('./NativeView.stories') 10 | // require('./Perf.stories') 11 | require('./Style_.stories') 12 | require('./Event_.stories') 13 | require('./Animate_.stories') 14 | require('./Playground.stories') 15 | // require('./Col.stories') 16 | // require('./Row.stories') 17 | require('./Text.stories') 18 | require('./Video.stories') 19 | // require('./_Scroll_.stories') 20 | // require('./_Resize_.stories') 21 | // require('./_Media_.stories') 22 | require('./decorators.stories') 23 | require('./TransitionGroupView.stories') 24 | } 25 | 26 | setAddon(infoAddon); 27 | configure(loadStories, module) 28 | -------------------------------------------------------------------------------- /packages/TransitionGroupView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-transition-group-view", 3 | "version": "15.1.0", 4 | "description": "", 5 | "scripts": { 6 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 7 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:web; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.js", 14 | "index.d.ts", 15 | "index.js.flow" 16 | ], 17 | "keywords": [], 18 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 19 | "license": "ISC", 20 | "devDependencies": { 21 | "flow-bin": "^0.34.0" 22 | }, 23 | "dependencies": { 24 | "react-addons-css-transition-group": "^15.2.1" 25 | }, 26 | "peerDependencies": { 27 | "constelation-view": ">=13.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /packages/Text/src/index.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-text" { 2 | declare export type Props = { 3 | antialiased?: boolean, 4 | align?: 'start' | 'end' | 'left' | 'right' | 'center' | 'justify' | 'match-parent', 5 | bold?: boolean, 6 | center?: boolean, 7 | color?: string, 8 | css?: Object, 9 | decoration?: string, 10 | ellipsis?: boolean, 11 | fontFamily?: string, 12 | height?: string | number, 13 | italic?: boolean, 14 | refNode?: (node?: HTMLElement) => void, 15 | size?: string | number, 16 | spacing?: string | number, 17 | tag?: string, 18 | transform?: 'none' | 'capitalize' | 'uppercase' | 'lowercase' | 'full-width', 19 | underline?: boolean, 20 | uppercase?: boolean, 21 | weight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900', 22 | } 23 | declare export default class Text extends React$PureComponent<> { 24 | props: Props; 25 | render(): any; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /.storybook/NativeView.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { storiesOf, action } from '@kadira/storybook' 3 | // import Event_ from '../packages/Event_' 4 | import ViewNative from '../packages/View/index.native.js' 5 | 6 | const style = { 7 | backgroundColor: 'lightgrey', 8 | border: '1px solid black' 9 | } 10 | 11 | storiesOf('Native-View', module) 12 | .addWithInfo('with childen', () => ( 13 | 14 | 15 | 16 | 17 | 18 | )) 19 | .addWithInfo('centered', () => ( 20 | 21 | 22 | 23 | )) 24 | .addWithInfo('animated', () => ( 25 | 26 | )) 27 | -------------------------------------------------------------------------------- /packages/decoratorMedia/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const noop = () => {} 4 | 5 | function media(matchRule) { 6 | return function decorator(proto, method, descriptor) { 7 | 8 | const { 9 | componentDidMount = noop, 10 | componentWillUnmount = noop, 11 | } = proto 12 | 13 | let matchMedia, mediaHandler 14 | 15 | // eslint-disable-next-line no-param-reassign 16 | proto.componentDidMount = function componentDidMountWrapped() { 17 | componentDidMount.call(this) 18 | 19 | mediaHandler = ({ matches }) => { 20 | this[method](matches) 21 | } 22 | 23 | matchMedia = window.matchMedia(matchRule) 24 | matchMedia.addListener(mediaHandler) 25 | } 26 | 27 | // eslint-disable-next-line no-param-reassign 28 | proto.componentWillUnmount = function componentWillUnmountWrapped() { 29 | componentWillUnmount.call(this) 30 | 31 | matchMedia.removeListener(mediaHandler) 32 | } 33 | } 34 | } 35 | 36 | module.exports = media 37 | -------------------------------------------------------------------------------- /packagesOld/Button/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var React = require('react') 4 | var glamorReact = require('glamor-react') 5 | var _assign = require('lodash/assign') 6 | 7 | var componentStyle = { 8 | padding: 0, 9 | margin: 0, 10 | border: 0, 11 | backgroundColor: 'inherit', 12 | outline: 'none', 13 | } 14 | 15 | var Button = React.createClass({ 16 | displayName: 'Button', 17 | 18 | propTypes: { 19 | refNode: React.PropTypes.func, 20 | }, 21 | 22 | render: function () { 23 | var css = _assign({}, componentStyle, this.props.style) 24 | var propsToPass = _assign({}, this.props, { css: css }) 25 | 26 | // don't want to pass style on as inline 27 | delete propsToPass.style 28 | 29 | // Use refNode pattern to pass back the DOM's node 30 | if (propsToPass.refNode) { 31 | propsToPass.ref = propsToPass.refNode 32 | delete propsToPass.refNode 33 | } 34 | 35 | return glamorReact.createElement('button', propsToPass) 36 | } 37 | }) 38 | 39 | module.exports = Button 40 | -------------------------------------------------------------------------------- /packages/View/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-view", 3 | "version": "14.3.1", 4 | "description": "", 5 | "scripts": { 6 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 7 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:web; npm run build:native; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.native.js", 14 | "index.native.d.ts", 15 | "index.native.js.flow", 16 | "index.js", 17 | "index.d.ts", 18 | "index.js.flow" 19 | ], 20 | "keywords": [ 21 | "constelation", 22 | "view" 23 | ], 24 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 25 | "license": "ISC", 26 | "peerDependencies": { 27 | "lodash": "^4.13.1", 28 | "react": "^15.2.1" 29 | }, 30 | "optionalDependencies": { 31 | "glamor": "^2.20.24", 32 | "glamor-react": "^3.0.0-1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /packages/Event_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-event_", 3 | "version": "15.0.0", 4 | "description": "", 5 | "scripts": { 6 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 7 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:web; npm run build:native; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.native.js", 14 | "index.native.d.ts", 15 | "index.native.js.flow", 16 | "index.js", 17 | "index.d.ts", 18 | "index.js.flow" 19 | ], 20 | "keywords": [ 21 | "constelation", 22 | "event" 23 | ], 24 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 25 | "license": "ISC", 26 | "peerDependencies": { 27 | "lodash": "^4.13.1", 28 | "constelation-view": ">=13.0.0", 29 | "react": "^15.2.1" 30 | }, 31 | "optionalDependencies": { 32 | "hammerjs": "^2.0.8" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /packages/Style_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-style_", 3 | "version": "14.2.0", 4 | "description": "", 5 | "scripts": { 6 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 7 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:web; npm run build:native; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.native.js", 14 | "index.native.d.ts", 15 | "index.native.js.flow", 16 | "index.js", 17 | "index.d.ts", 18 | "index.js.flow" 19 | ], 20 | "keywords": [ 21 | "constelation", 22 | "style" 23 | ], 24 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 25 | "license": "ISC", 26 | "peerDependencies": { 27 | "lodash": "^4.13.1", 28 | "constelation-view": ">=13.0.0", 29 | "react": "^15.2.1" 30 | }, 31 | "optionalDependencies": { 32 | "glamor": "^2.17.12" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /packages/Text/src/index.native.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import ReactNative from 'react-native' 3 | 4 | declare module "constelation-text" { 5 | declare export type Props = { 6 | animated?: boolean, 7 | align?: 'auto' | 'left' | 'right' | 'center' | 'justify', 8 | allowFontScaling?: boolean, 9 | bold?: boolean, 10 | center?: boolean, 11 | color?: string, 12 | decorationLine?: 'none' | 'underline' | 'line-through' | 'underline line-through', 13 | fontFamily?: string, 14 | height?: number, 15 | italic?: boolean, 16 | numberOfLines?: number, 17 | refNode?: (node?: ReactNative.Text) => void, 18 | selectable?: boolean, 19 | size?: number, 20 | spacing?: number, 21 | underline?: boolean, 22 | uppercase?: boolean, 23 | weight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900', 24 | style?: Object | Array, 25 | }; 26 | 27 | declare export default class Text extends React$PureComponent<> { 28 | props: Props; 29 | render(): any; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /flow-typed/npm/babel-preset-react_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 486a1b118a470699175a0b0c05be23e8 2 | // flow-typed version: <>/babel-preset-react_v^6.16.0/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'babel-preset-react' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'babel-preset-react' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module 'babel-preset-react/lib/index' { 26 | declare module.exports: any; 27 | } 28 | 29 | // Filename aliases 30 | declare module 'babel-preset-react/lib/index.js' { 31 | declare module.exports: $Exports<'babel-preset-react/lib/index'>; 32 | } 33 | -------------------------------------------------------------------------------- /packages/ScrollView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-scroll-view", 3 | "version": "15.1.0", 4 | "description": "", 5 | "scripts": { 6 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 7 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:web; npm run build:native; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.native.js", 14 | "index.native.d.ts", 15 | "index.native.js.flow", 16 | "index.js", 17 | "index.d.ts", 18 | "index.js.flow" 19 | ], 20 | "keywords": [ 21 | "constelation", 22 | "scroll-view" 23 | ], 24 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 25 | "license": "ISC", 26 | "peerDependencies": { 27 | "lodash": "^4.13.1", 28 | "react": "^15.2.1" 29 | }, 30 | "optionalDependencies": { 31 | "glamor": "^2.20.24", 32 | "glamor-react": "^3.0.0-1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /flow-typed/npm/babel-preset-es2015_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 7173947441ea0ca6b32f3adb491ec7bf 2 | // flow-typed version: <>/babel-preset-es2015_v^6.18.0/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'babel-preset-es2015' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'babel-preset-es2015' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module 'babel-preset-es2015/lib/index' { 26 | declare module.exports: any; 27 | } 28 | 29 | // Filename aliases 30 | declare module 'babel-preset-es2015/lib/index.js' { 31 | declare module.exports: $Exports<'babel-preset-es2015/lib/index'>; 32 | } 33 | -------------------------------------------------------------------------------- /flow-typed/npm/babel-preset-stage-0_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: b313b6feff9c3bba03fbe9b9b4582264 2 | // flow-typed version: <>/babel-preset-stage-0_v^6.16.0/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'babel-preset-stage-0' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'babel-preset-stage-0' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module 'babel-preset-stage-0/lib/index' { 26 | declare module.exports: any; 27 | } 28 | 29 | // Filename aliases 30 | declare module 'babel-preset-stage-0/lib/index.js' { 31 | declare module.exports: $Exports<'babel-preset-stage-0/lib/index'>; 32 | } 33 | -------------------------------------------------------------------------------- /packages/Video/index.js: -------------------------------------------------------------------------------- 1 | var React = require('react') 2 | 3 | class Video extends React.PureComponent { 4 | state = { 5 | autoPlay: !this.props.paused, 6 | } 7 | 8 | componentWillReceiveProps(nextProps) { 9 | if (this.props.paused && !nextProps.paused) { 10 | this.node.play() 11 | } 12 | else if (!this.props.paused && nextProps.paused) { 13 | this.node.pause() 14 | } 15 | } 16 | 17 | setRef = (node) => { 18 | this.node = node 19 | 20 | if (this.props.refNode) { 21 | this.props.refNode(node) 22 | } 23 | } 24 | 25 | render() { 26 | const { refNode, repeat, paused, ...propsToPass } = this.props 27 | 28 | if (repeat) { 29 | propsToPass.loop = repeat 30 | } 31 | 32 | propsToPass.ref = this.setRef 33 | propsToPass.autoPlay = this.state.autoPlay 34 | 35 | // Use refNode pattern to pass back the DOM's node 36 | // if (refNode) { 37 | // propsToPass.ref = refNode 38 | // } 39 | 40 | return React.createElement('video', propsToPass) 41 | } 42 | } 43 | 44 | module.exports = Video 45 | -------------------------------------------------------------------------------- /packages/Space/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-space", 3 | "version": "15.1.0", 4 | "description": "", 5 | "homepage": "https://github.com/constelation/monorepo", 6 | "scripts": { 7 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 8 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 9 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 10 | "build": "npm run build:web; npm run build:native; npm run copy", 11 | "test": "echo \"Error: no test specified\" && exit 1" 12 | }, 13 | "files": [ 14 | "index.native.js", 15 | "index.native.d.ts", 16 | "index.native.js.flow", 17 | "index.js", 18 | "index.d.ts", 19 | "index.js.flow" 20 | ], 21 | "keywords": [ 22 | "constelation", 23 | "space" 24 | ], 25 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 26 | "license": "ISC", 27 | "peerDependencies": { 28 | "lodash": "^4.13.1", 29 | "react": "^15.2.1" 30 | }, 31 | "optionalDependencies": { 32 | "glamor": "^2.20.24", 33 | "glamor-react": "^3.0.0-1" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /flow-typed/npm/@kadira/storybook-deployer_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 5e1177bf3646fd8999f31abf5ebbe808 2 | // flow-typed version: <>/@kadira/storybook-deployer_v^1.2.0/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * '@kadira/storybook-deployer' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module '@kadira/storybook-deployer' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module '@kadira/storybook-deployer/src/utils' { 26 | declare module.exports: any; 27 | } 28 | 29 | // Filename aliases 30 | declare module '@kadira/storybook-deployer/src/utils.js' { 31 | declare module.exports: $Exports<'@kadira/storybook-deployer/src/utils'>; 32 | } 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /flow-typed/npm/rimraf_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: e1c802ef6bae867d7a1ad4399e6df603 2 | // flow-typed version: <>/rimraf_v^2.5.4/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'rimraf' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'rimraf' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module 'rimraf/bin' { 26 | declare module.exports: any; 27 | } 28 | 29 | declare module 'rimraf/rimraf' { 30 | declare module.exports: any; 31 | } 32 | 33 | // Filename aliases 34 | declare module 'rimraf/bin.js' { 35 | declare module.exports: $Exports<'rimraf/bin'>; 36 | } 37 | declare module 'rimraf/rimraf.js' { 38 | declare module.exports: $Exports<'rimraf/rimraf'>; 39 | } 40 | -------------------------------------------------------------------------------- /flow-typed/npm/react-addons-shallow-compare_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 7249f21092c498bd8e3b988c2a0852c5 2 | // flow-typed version: <>/react-addons-shallow-compare_v^15.3.1/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'react-addons-shallow-compare' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'react-addons-shallow-compare' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | 26 | 27 | // Filename aliases 28 | declare module 'react-addons-shallow-compare/index' { 29 | declare module.exports: $Exports<'react-addons-shallow-compare'>; 30 | } 31 | declare module 'react-addons-shallow-compare/index.js' { 32 | declare module.exports: $Exports<'react-addons-shallow-compare'>; 33 | } 34 | -------------------------------------------------------------------------------- /packages/Text/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-text", 3 | "version": "15.1.0", 4 | "description": "", 5 | "homepage": "https://github.com/constelation/monorepo", 6 | "scripts": { 7 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 8 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 9 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 10 | "build": "npm run build:web; npm run build:native; npm run copy", 11 | "test": "echo \"Error: no test specified\" && exit 1", 12 | "flowtype": "../../node_modules/.bin/flow gen-flow-files *.js --out-dir dist" 13 | }, 14 | "files": [ 15 | "index.native.js", 16 | "index.native.d.ts", 17 | "index.native.js.flow", 18 | "index.js", 19 | "index.d.ts", 20 | "index.js.flow" 21 | ], 22 | "keywords": [ 23 | "constelation", 24 | "text" 25 | ], 26 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 27 | "license": "ISC", 28 | "peerDependencies": { 29 | "lodash": "^4.13.1", 30 | "react": "^15.2.1" 31 | }, 32 | "optionalDependencies": { 33 | "glamor": "^2.20.24", 34 | "glamor-react": "^3.0.0-1" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /flow-typed/npm/babel-plugin-transform-decorators-legacy_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 80b57e888a7968969715941eecb0931f 2 | // flow-typed version: <>/babel-plugin-transform-decorators-legacy_v^1.3.4/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'babel-plugin-transform-decorators-legacy' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'babel-plugin-transform-decorators-legacy' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module 'babel-plugin-transform-decorators-legacy/lib/index' { 26 | declare module.exports: any; 27 | } 28 | 29 | // Filename aliases 30 | declare module 'babel-plugin-transform-decorators-legacy/lib/index.js' { 31 | declare module.exports: $Exports<'babel-plugin-transform-decorators-legacy/lib/index'>; 32 | } 33 | -------------------------------------------------------------------------------- /packages/Animate_/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "constelation-animate_", 3 | "version": "14.2.0", 4 | "description": "", 5 | "scripts": { 6 | "copy": "find ./src -name \"*.js*\" -exec cp {} . \\;", 7 | "build:web": "../../node_modules/.bin/tsc -p tsconfig.web.json", 8 | "build:native": "../../node_modules/.bin/tsc -p tsconfig.native.json", 9 | "build": "npm run build:web; npm run build:native; npm run copy", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "files": [ 13 | "index.native.js", 14 | "index.native.d.ts", 15 | "index.native.js.flow", 16 | "index.js", 17 | "index.d.ts", 18 | "index.js.flow" 19 | ], 20 | "keywords": [ 21 | "constelation", 22 | "animate" 23 | ], 24 | "author": "Kyle Poole <2kylepoole@gmail.com> (http://kylpo.com/)", 25 | "license": "ISC", 26 | "peerDependencies": { 27 | "lodash": "^4.13.1", 28 | "constelation-view": ">=13.0.0", 29 | "react": "^15.2.1" 30 | }, 31 | "dependencies": { 32 | "mitt": "^1.0.1", 33 | "raf": "^3.3.0", 34 | "json5": "^0.5.1", 35 | "react-addons-shallow-compare": "^15.3.1" 36 | }, 37 | "optionalDependencies": { 38 | "glamor": "^2.17.12" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /packages/decoratorResize/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import subscribeUIEvent from 'subscribe-ui-event' 4 | 5 | const noop = () => {} 6 | 7 | function resize(...args) { 8 | let options 9 | 10 | // @decorator 11 | if (args.length === 3) { 12 | options = null 13 | 14 | return decorator(...args) 15 | } 16 | // @decorator(optionsObject) 17 | else { 18 | options = { 19 | throttle: args[0].throttle, 20 | enableResizeInfo: args[0].passInfo, 21 | useRAF: args[0].throttle === 'RAF', 22 | } 23 | 24 | return decorator 25 | } 26 | 27 | function decorator(proto, method, descriptor) { 28 | const { 29 | componentDidMount = noop, 30 | componentWillUnmount = noop, 31 | } = proto 32 | 33 | let subscription 34 | 35 | // eslint-disable-next-line no-param-reassign 36 | proto.componentDidMount = function componentDidMountWrapped() { 37 | componentDidMount.call(this) 38 | 39 | subscription = subscribeUIEvent.subscribe('resize', (e, { resize }) => { 40 | this[method](e, resize) 41 | }, options) 42 | } 43 | 44 | // eslint-disable-next-line no-param-reassign 45 | proto.componentWillUnmount = function componentWillUnmountWrapped() { 46 | componentWillUnmount.call(this) 47 | 48 | subscription.unsubscribe() 49 | } 50 | } 51 | } 52 | 53 | module.exports = resize 54 | -------------------------------------------------------------------------------- /packages/decoratorScroll/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import subscribeUIEvent from 'subscribe-ui-event' 4 | 5 | const noop = () => {} 6 | 7 | function scroll(...args) { 8 | let options 9 | 10 | // @decorator 11 | if (args.length === 3) { 12 | options = null 13 | 14 | return decorator(...args) 15 | } 16 | // @decorator(optionsObject) 17 | else { 18 | options = { 19 | throttle: args[0].throttle, 20 | enableScrollInfo: args[0].passInfo, 21 | useRAF: args[0].throttle === 'RAF', 22 | } 23 | 24 | return decorator 25 | } 26 | 27 | function decorator(proto, method, descriptor) { 28 | const { 29 | componentDidMount = noop, 30 | componentWillUnmount = noop, 31 | } = proto 32 | 33 | let subscription 34 | 35 | // eslint-disable-next-line no-param-reassign 36 | proto.componentDidMount = function componentDidMountWrapped() { 37 | componentDidMount.call(this) 38 | 39 | subscription = subscribeUIEvent.subscribe('scroll', (e, { scroll }) => { 40 | this[method](e, scroll) 41 | }, options) 42 | } 43 | 44 | // eslint-disable-next-line no-param-reassign 45 | proto.componentWillUnmount = function componentWillUnmountWrapped() { 46 | componentWillUnmount.call(this) 47 | 48 | subscription.unsubscribe() 49 | } 50 | } 51 | } 52 | 53 | module.exports = scroll 54 | -------------------------------------------------------------------------------- /packages/View/__tests__/__snapshots__/View.native-test.js.snap: -------------------------------------------------------------------------------- 1 | exports[`test renders correctly 1`] = ` 2 | 43 | `; 44 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | React Storybook 9 | 38 | 39 | 40 |
41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /.storybook/BackgroundImage.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { storiesOf, action } from '@kadira/storybook' 3 | import BackgroundImage from '../packages/BackgroundImage' 4 | import Col from '../packages/Col' 5 | 6 | storiesOf('BackgroundImage', module) 7 | .addWithInfo('without children', () => ( 8 | 13 | )) 14 | .addWithInfo('with children', () => ( 15 | 20 | I am child text 21 | 22 | )) 23 | .addWithInfo('with maxWidth', () => ( 24 | 30 | )) 31 | .addWithInfo('with Col centered child', () => ( 32 | 37 | 42 | I am child text 43 | 44 | 45 | )) 46 | -------------------------------------------------------------------------------- /packages/Animate_/src/index.native.js.flow: -------------------------------------------------------------------------------- 1 | declare module "constelation-animate_" { 2 | declare export type Props = { 3 | animation?: Object | 'fadeIn' | 'fadeOut' | string, 4 | delay?: number, 5 | direction?: 'normal' | 'reverse' | 'alternate' | 'alternateReverse', 6 | duration?: number, 7 | easing?: 'linear' | 'ease' | 'in' | 'out' | 'inOut' | 'inOutQuad', 8 | friction?: number, 9 | repeat?: boolean | number, 10 | tension?: number, 11 | start?: boolean, 12 | startOnEvent?: string, 13 | startOnChange?: any, 14 | onStart?: Function, 15 | onStartEvent?: string, 16 | onEnd?: Function, 17 | onEndEvent?: string, 18 | }; 19 | 20 | declare class Animate_ extends React$Component<> { 21 | props: Props; 22 | start(): void; 23 | restart(): void; 24 | stop(): void; 25 | render(): any; 26 | } 27 | declare class Animate extends React$Component<> { 28 | props: Props; 29 | render(): any; 30 | } 31 | declare class AnimationConfig extends React$PureComponent<> { 32 | props: { 33 | timingMultiplier: number, 34 | }; 35 | render(): any; 36 | } 37 | declare var emitAnimationEvent: Function; 38 | 39 | declare export var Animate: typeof Animate; 40 | declare export var AnimationConfig: typeof AnimationConfig; 41 | declare export var emitAnimationEvent: typeof emitAnimationEvent; 42 | declare export default typeof Animate_ 43 | } 44 | -------------------------------------------------------------------------------- /flow-typed/npm/raf_vx.x.x.js: -------------------------------------------------------------------------------- 1 | // flow-typed signature: 107749ad0e46881e1ce5eb215893becb 2 | // flow-typed version: <>/raf_v^3.3.0/flow_v0.34.0 3 | 4 | /** 5 | * This is an autogenerated libdef stub for: 6 | * 7 | * 'raf' 8 | * 9 | * Fill this stub out by replacing all the `any` types. 10 | * 11 | * Once filled out, we encourage you to share your work with the 12 | * community by sending a pull request to: 13 | * https://github.com/flowtype/flow-typed 14 | */ 15 | 16 | declare module 'raf' { 17 | declare module.exports: any; 18 | } 19 | 20 | /** 21 | * We include stubs for each file inside this npm package in case you need to 22 | * require those files directly. Feel free to delete any files that aren't 23 | * needed. 24 | */ 25 | declare module 'raf/polyfill' { 26 | declare module.exports: any; 27 | } 28 | 29 | declare module 'raf/test' { 30 | declare module.exports: any; 31 | } 32 | 33 | declare module 'raf/window' { 34 | declare module.exports: any; 35 | } 36 | 37 | // Filename aliases 38 | declare module 'raf/index' { 39 | declare module.exports: $Exports<'raf'>; 40 | } 41 | declare module 'raf/index.js' { 42 | declare module.exports: $Exports<'raf'>; 43 | } 44 | declare module 'raf/polyfill.js' { 45 | declare module.exports: $Exports<'raf/polyfill'>; 46 | } 47 | declare module 'raf/test.js' { 48 | declare module.exports: $Exports<'raf/test'>; 49 | } 50 | declare module 'raf/window.js' { 51 | declare module.exports: $Exports<'raf/window'>; 52 | } 53 | -------------------------------------------------------------------------------- /.storybook/Video.stories.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { storiesOf, action } from '@kadira/storybook' 3 | import Video from '../packages/Video/index.js' 4 | // import Text from '../packages/Text/dist/Text.native.js' 5 | 6 | storiesOf('Video', module) 7 | .addWithInfo('plays a video', () => ( 8 |