From 29485a77a86145ac34d189372ae5a35e1cec1011 Mon Sep 17 00:00:00 2001 From: Alexandru Ciuca Date: Fri, 2 Oct 2015 19:09:05 +0300 Subject: [PATCH] material-ui - Also export types in named modules --- material-ui/material-ui-tests.tsx | 23 +-- material-ui/material-ui.d.ts | 292 +++++++++++++++++++----------- 2 files changed, 200 insertions(+), 115 deletions(-) diff --git a/material-ui/material-ui-tests.tsx b/material-ui/material-ui-tests.tsx index 39691caa84..4c69f34104 100644 --- a/material-ui/material-ui-tests.tsx +++ b/material-ui/material-ui-tests.tsx @@ -2,7 +2,7 @@ /// import * as React from "react/addons"; -import mui = require("material-ui"); +import Checkbox = require("material-ui/lib/checkbox"); import Colors = require("material-ui/lib/styles/colors"); import AppBar = require("material-ui/lib/app-bar"); import IconButton = require("material-ui/lib/icon-button"); @@ -27,6 +27,7 @@ import IconMenu = require("material-ui/lib/menus/icon-menu"); import Menu = require('material-ui/lib/menus/menu'); import MenuItem = require('material-ui/lib/menus/menu-item'); import MenuDivider = require('material-ui/lib/menus/menu-divider'); +import ThemeManager = require('material-ui/lib/styles/theme-manager'); import NavigationClose = require("material-ui/lib/svg-icon"); // TODO: Should actually import the actual "material-ui/lib/svg-icons/navigation/close", but they aren't defined yet. import FileFolder = require("material-ui/lib/svg-icon"); // TODO: Should actually import the actual "material-ui/lib/svg-icons/file/folder", but they aren't defined yet. @@ -35,37 +36,37 @@ import ActionGrade = require("material-ui/lib/svg-icon"); // TODO: Should actua import ToggleStarBorder = require("material-ui/lib/svg-icon"); // TODO: Should actually import the actual "material-ui/lib/svg-icons/toggle/star-border", but they aren't defined yet. import ArrowDropRight = require("material-ui/lib/svg-icon"); // TODO: Should actually import the actual "material-ui/lib/svg-icons/toggle/star-border", but they aren't defined yet. +type CheckboxProps = __MaterialUI.CheckboxProps; +type MuiTheme = __MaterialUI.Styles.MuiTheme; +type TouchTapEvent = __MaterialUI.TouchTapEvent; + class MaterialUiTests extends React.Component<{}, {}> implements React.LinkedStateMixin { // injected with mixin linkState: (key: string) => React.ReactLink; - dialog: mui.Dialog; - //dialog2: Dialog; // can't get type directly from require("material-ui/lib/dialog"); + dialog: Dialog; - private touchTapEventHandler(e: __MaterialUI.TouchTapEvent) { + private touchTapEventHandler(e: TouchTapEvent) { this.dialog.show(); - //this.dialog2.show(); } private formEventHandler(e: React.FormEvent) { } - private selectFieldChangeHandler(e: __MaterialUI.TouchTapEvent, si: number, mi: any) { + private selectFieldChangeHandler(e: TouchTapEvent, si: number, mi: any) { } render() { // "http://material-ui.com/#/customization/themes" - let ThemeManager = mui.Styles.ThemeManager; - let muiTheme: mui.Styles.MuiTheme = ThemeManager.getMuiTheme({ + let muiTheme: MuiTheme = ThemeManager.getMuiTheme({ palette: { accent1Color: Colors.cyan100 }, spacing: { - + } }); // "http://material-ui.com/#/customization/inline-styles" - let Checkbox = mui.Checkbox; let element: React.ReactElement; element = implements React.LinkedSta iconStyle={{ fill: '#FF4081' }}/> - element = React.createElement<__MaterialUI.CheckboxProps>(Checkbox, { + element = React.createElement(Checkbox, { id: "checkboxId1", name: "checkboxName1", value: "checkboxValue1", label: "went for a run today", style: { width: '50%', margin: '0 auto' diff --git a/material-ui/material-ui.d.ts b/material-ui/material-ui.d.ts index 87bd32a09b..3bb7f37625 100644 --- a/material-ui/material-ui.d.ts +++ b/material-ui/material-ui.d.ts @@ -6,8 +6,6 @@ /// declare module "material-ui" { - // The reason for exporting the namespace types (__MaterialUI.*) is to also export the type for casting variable. - export import AppBar = __MaterialUI.AppBar; // require('material-ui/lib/app-bar'); export import AppCanvas = __MaterialUI.AppCanvas; // require('material-ui/lib/app-canvas'); export import Avatar = __MaterialUI.Avatar; // require('material-ui/lib/avatar'); @@ -51,16 +49,7 @@ declare module "material-ui" { export import SelectField = __MaterialUI.SelectField; // require('material-ui/lib/select-field'); export import Slider = __MaterialUI.Slider; // require('material-ui/lib/slider'); export import SvgIcon = __MaterialUI.SvgIcon; // require('material-ui/lib/svg-icon'); - - import NavigationMenu = require('material-ui/lib/svg-icons/navigation/menu'); - import NavigationChevronLeft = require('material-ui/lib/svg-icons/navigation/chevron-left'); - import NavigationChevronRight = require('material-ui/lib/svg-icons/navigation/chevron-right'); - export var Icons: { - NavigationMenu: __MaterialUI.NavigationMenu; - NavigationChevronLeft: __MaterialUI.NavigationChevronLeft; - NavigationChevronRight: __MaterialUI.NavigationChevronRight; - }; - + export import Icons = __MaterialUI.Icons; export import Styles = __MaterialUI.Styles; // require('material-ui/lib/styles/'); export import Snackbar = __MaterialUI.Snackbar; // require('material-ui/lib/snackbar'); export import Tab = __MaterialUI.Tabs.Tab; // require('material-ui/lib/tabs/tab'); @@ -84,9 +73,9 @@ declare module "material-ui" { export import Utils = __MaterialUI.Utils; // require('material-ui/lib/utils/'); // export type definitions - export import TouchTapEvent = __MaterialUI.TouchTapEvent; - export import TouchTapEventHandler = __MaterialUI.TouchTapEventHandler; - export import DialogAction = __MaterialUI.DialogAction; + export type TouchTapEvent = __MaterialUI.TouchTapEvent; + export type TouchTapEventHandler = __MaterialUI.TouchTapEventHandler; + export type DialogAction = __MaterialUI.DialogAction; } declare namespace __MaterialUI { @@ -805,6 +794,12 @@ declare namespace __MaterialUI { export class SvgIcon extends React.Component { } + export namespace Icons { + export import NavigationMenu = __MaterialUI.NavigationMenu; + export import NavigationChevronLeft = __MaterialUI.NavigationChevronLeft; + export import NavigationChevronRight = __MaterialUI.NavigationChevronRight; + } + interface NavigationMenuProps extends React.Props { } export class NavigationMenu extends React.Component { @@ -1478,127 +1473,158 @@ declare namespace __MaterialUI { } // __MaterialUI declare module 'material-ui/lib/app-bar' { - export = __MaterialUI.AppBar; + import AppBar = __MaterialUI.AppBar; + export = AppBar; } declare module 'material-ui/lib/app-canvas' { - export = __MaterialUI.AppCanvas; + import AppCanvas = __MaterialUI.AppCanvas; + export = AppCanvas; } declare module 'material-ui/lib/avatar' { - export = __MaterialUI.Avatar; + import Avatar = __MaterialUI.Avatar; + export = Avatar; } declare module 'material-ui/lib/before-after-wrapper' { - export = __MaterialUI.BeforeAfterWrapper; + import BeforeAfterWrapper = __MaterialUI.BeforeAfterWrapper; + export = BeforeAfterWrapper; } declare module 'material-ui/lib/card/card' { - export = __MaterialUI.Card.Card; + import Card = __MaterialUI.Card.Card; + export = Card; } declare module 'material-ui/lib/card/card-actions' { - export = __MaterialUI.Card.CardActions; + import CardActions = __MaterialUI.Card.CardActions; + export = CardActions; } declare module 'material-ui/lib/card/card-expandable' { - export = __MaterialUI.Card.CardExpandable; + import CardExpandable = __MaterialUI.Card.CardExpandable; + export = CardExpandable; } declare module 'material-ui/lib/card/card-header' { - export = __MaterialUI.Card.CardHeader; + import CardHeader = __MaterialUI.Card.CardHeader; + export = CardHeader; } declare module 'material-ui/lib/card/card-media' { - export = __MaterialUI.Card.CardMedia; + import CardMedia = __MaterialUI.Card.CardMedia; + export = CardMedia; } declare module 'material-ui/lib/card/card-text' { - export = __MaterialUI.Card.CardText; + import CardText = __MaterialUI.Card.CardText; + export = CardText; } declare module 'material-ui/lib/card/card-title' { - export = __MaterialUI.Card.CardTitle; + import CardTitle = __MaterialUI.Card.CardTitle; + export = CardTitle; } declare module 'material-ui/lib/checkbox' { - export = __MaterialUI.Checkbox; + import Checkbox = __MaterialUI.Checkbox; + export = Checkbox; } declare module 'material-ui/lib/circular-progress' { - export = __MaterialUI.CircularProgress; + import CircularProgress = __MaterialUI.CircularProgress; + export = CircularProgress; } declare module 'material-ui/lib/clearfix' { - export = __MaterialUI.ClearFix; + import ClearFix = __MaterialUI.ClearFix; + export = ClearFix; } declare module 'material-ui/lib/date-picker/date-picker' { - export = __MaterialUI.DatePicker.DatePicker; + import DatePicker = __MaterialUI.DatePicker.DatePicker; + export = DatePicker; } declare module 'material-ui/lib/date-picker/date-picker-dialog' { - export = __MaterialUI.DatePicker.DatePickerDialog; + import DatePickerDialog = __MaterialUI.DatePicker.DatePickerDialog; + export = DatePickerDialog; } declare module 'material-ui/lib/dialog' { - export = __MaterialUI.Dialog; + import Dialog = __MaterialUI.Dialog; + export = Dialog; } declare module 'material-ui/lib/drop-down-icon' { - export = __MaterialUI.DropDownIcon; + import DropDownIcon = __MaterialUI.DropDownIcon; + export = DropDownIcon; } declare module 'material-ui/lib/drop-down-menu' { - export = __MaterialUI.DropDownMenu; + import DropDownMenu = __MaterialUI.DropDownMenu; + export = DropDownMenu; } declare module 'material-ui/lib/enhanced-button' { - export = __MaterialUI.EnhancedButton; + import EnhancedButton = __MaterialUI.EnhancedButton; + export = EnhancedButton; } declare module 'material-ui/lib/flat-button' { - export = __MaterialUI.FlatButton; + import FlatButton = __MaterialUI.FlatButton; + export = FlatButton; } declare module 'material-ui/lib/floating-action-button' { - export = __MaterialUI.FloatingActionButton; + import FloatingActionButton = __MaterialUI.FloatingActionButton; + export = FloatingActionButton; } declare module 'material-ui/lib/font-icon' { - export = __MaterialUI.FontIcon; + import FontIcon = __MaterialUI.FontIcon; + export = FontIcon; } declare module 'material-ui/lib/icon-button' { - export = __MaterialUI.IconButton; + import IconButton = __MaterialUI.IconButton; + export = IconButton; } declare module 'material-ui/lib/left-nav' { - export = __MaterialUI.LeftNav; + import LeftNav = __MaterialUI.LeftNav; + export = LeftNav; } declare module 'material-ui/lib/linear-progress' { - export = __MaterialUI.LinearProgress; + import LinearProgress = __MaterialUI.LinearProgress; + export = LinearProgress; } declare module 'material-ui/lib/lists/list' { - export = __MaterialUI.Lists.List; + import List = __MaterialUI.Lists.List; + export = List; } declare module 'material-ui/lib/lists/list-divider' { - export = __MaterialUI.Lists.ListDivider; + import ListDivider = __MaterialUI.Lists.ListDivider; + export = ListDivider; } declare module 'material-ui/lib/lists/list-item' { - export = __MaterialUI.Lists.ListItem; + import ListItem = __MaterialUI.Lists.ListItem; + export = ListItem; } declare module 'material-ui/lib/menu/menu' { - export = __MaterialUI.Menu.Menu; + import Menu = __MaterialUI.Menu.Menu; + export = Menu; } declare module 'material-ui/lib/menu/menu-item' { - export = __MaterialUI.Menu.MenuItem; + import MenuItem = __MaterialUI.Menu.MenuItem; + export = MenuItem; } declare module 'material-ui/lib/mixins/' { @@ -1609,43 +1635,53 @@ declare module 'material-ui/lib/mixins/' { } declare module 'material-ui/lib/mixins/click-awayable' { - export = __MaterialUI.Mixins.ClickAwayable; + import ClickAwayable = __MaterialUI.Mixins.ClickAwayable; + export = ClickAwayable; } declare module 'material-ui/lib/mixins/window-listenable' { - export = __MaterialUI.Mixins.WindowListenable; + import WindowListenable = __MaterialUI.Mixins.WindowListenable; + export = WindowListenable; } declare module 'material-ui/lib/mixins/style-propable' { - export = __MaterialUI.Mixins.StylePropable; + import StylePropable = __MaterialUI.Mixins.StylePropable; + export = StylePropable; } declare module 'material-ui/lib/mixins/style-resizable' { - export = __MaterialUI.Mixins.StyleResizable; + import StyleResizable = __MaterialUI.Mixins.StyleResizable; + export = StyleResizable; } declare module 'material-ui/lib/overlay' { - export = __MaterialUI.Overlay; + import Overlay = __MaterialUI.Overlay; + export = Overlay; } declare module 'material-ui/lib/paper' { - export = __MaterialUI.Paper; + import Paper = __MaterialUI.Paper; + export = Paper; } declare module 'material-ui/lib/radio-button' { - export = __MaterialUI.RadioButton; + import RadioButton = __MaterialUI.RadioButton; + export = RadioButton; } declare module 'material-ui/lib/radio-button-group' { - export = __MaterialUI.RadioButtonGroup; + import RadioButtonGroup = __MaterialUI.RadioButtonGroup; + export = RadioButtonGroup; } declare module 'material-ui/lib/raised-button' { - export = __MaterialUI.RaisedButton; + import RaisedButton = __MaterialUI.RaisedButton; + export = RaisedButton; } declare module 'material-ui/lib/refresh-indicator' { - export = __MaterialUI.RefreshIndicator; + import RefreshIndicator = __MaterialUI.RefreshIndicator; + export = RefreshIndicator; } declare module 'material-ui/lib/ripples/' { @@ -1655,27 +1691,33 @@ declare module 'material-ui/lib/ripples/' { } declare module 'material-ui/lib/select-field' { - export = __MaterialUI.SelectField; + import SelectField = __MaterialUI.SelectField; + export = SelectField; } declare module 'material-ui/lib/slider' { - export = __MaterialUI.Slider; + import Slider = __MaterialUI.Slider; + export = Slider; } declare module 'material-ui/lib/svg-icon' { - export = __MaterialUI.SvgIcon; + import SvgIcon = __MaterialUI.SvgIcon; + export = SvgIcon; } declare module 'material-ui/lib/svg-icons/navigation/menu' { - export = __MaterialUI.NavigationMenu; + import NavigationMenu = __MaterialUI.NavigationMenu; + export = NavigationMenu; } declare module 'material-ui/lib/svg-icons/navigation/chevron-left' { - export = __MaterialUI.NavigationChevronLeft; + import NavigationChevronLeft = __MaterialUI.NavigationChevronLeft; + export = NavigationChevronLeft; } declare module 'material-ui/lib/svg-icons/navigation/chevron-right' { - export = __MaterialUI.NavigationChevronRight; + import NavigationChevronRight = __MaterialUI.NavigationChevronRight; + export = NavigationChevronRight; } declare module 'material-ui/lib/styles/' { @@ -1691,113 +1733,140 @@ declare module 'material-ui/lib/styles/' { } declare module 'material-ui/lib/styles/auto-prefix' { - export = __MaterialUI.Styles.AutoPrefix; + import AutoPrefix = __MaterialUI.Styles.AutoPrefix; + export = AutoPrefix; } declare module 'material-ui/lib/styles/spacing' { - var Spacing: __MaterialUI.Styles.Spacing; + type Spacing = __MaterialUI.Styles.Spacing; + var Spacing: Spacing; export = Spacing; } declare module 'material-ui/lib/styles/theme-manager' { - export = __MaterialUI.Styles.ThemeManager; + import ThemeManager = __MaterialUI.Styles.ThemeManager; + export = ThemeManager; } declare module 'material-ui/lib/styles/transitions' { - export = __MaterialUI.Styles.Transitions; + import Transitions = __MaterialUI.Styles.Transitions; + export = Transitions; } declare module 'material-ui/lib/styles/typography' { - export = __MaterialUI.Styles.Typography; + import Typography = __MaterialUI.Styles.Typography; + export = Typography; } declare module 'material-ui/lib/styles/raw-themes/light-raw-theme' { - export = __MaterialUI.Styles.LightRawTheme; + import LightRawTheme = __MaterialUI.Styles.LightRawTheme; + export = LightRawTheme; } declare module 'material-ui/lib/styles/raw-themes/dark-raw-theme' { - export = __MaterialUI.Styles.DarkRawTheme; + import DarkRawTheme = __MaterialUI.Styles.DarkRawTheme; + export = DarkRawTheme; } declare module 'material-ui/lib/styles/theme-decorator' { - export = __MaterialUI.Styles.ThemeDecorator; + import ThemeDecorator = __MaterialUI.Styles.ThemeDecorator; + export = ThemeDecorator; } declare module 'material-ui/lib/snackbar' { - export = __MaterialUI.Snackbar; + import Snackbar = __MaterialUI.Snackbar; + export = Snackbar; } declare module 'material-ui/lib/tabs/tab' { - export = __MaterialUI.Tabs.Tab; + import Tab = __MaterialUI.Tabs.Tab; + export = Tab; } declare module 'material-ui/lib/tabs/tabs' { - export = __MaterialUI.Tabs.Tabs; + import Tabs = __MaterialUI.Tabs.Tabs; + export = Tabs; } declare module 'material-ui/lib/table/table' { - export = __MaterialUI.Table.Table; + import Table = __MaterialUI.Table.Table; + export = Table; } declare module 'material-ui/lib/table/table-body' { - export = __MaterialUI.Table.TableBody; + import TableBody = __MaterialUI.Table.TableBody; + export = TableBody; } declare module 'material-ui/lib/table/table-footer' { - export = __MaterialUI.Table.TableFooter; + import TableFooter = __MaterialUI.Table.TableFooter; + export = TableFooter; } declare module 'material-ui/lib/table/table-header' { - export = __MaterialUI.Table.TableHeader; + import TableHeader = __MaterialUI.Table.TableHeader; + export = TableHeader; } declare module 'material-ui/lib/table/table-header-column' { - export = __MaterialUI.Table.TableHeaderColumn; + import TableHeaderColumn = __MaterialUI.Table.TableHeaderColumn; + export = TableHeaderColumn; } declare module 'material-ui/lib/table/table-row' { - export = __MaterialUI.Table.TableRow; + import TableRow = __MaterialUI.Table.TableRow; + export = TableRow; } declare module 'material-ui/lib/table/table-row-column' { - export = __MaterialUI.Table.TableRowColumn; + import TableRowColumn = __MaterialUI.Table.TableRowColumn; + export = TableRowColumn; } declare module 'material-ui/lib/theme-wrapper' { - export = __MaterialUI.ThemeWrapper; + import ThemeWrapper = __MaterialUI.ThemeWrapper; + export = ThemeWrapper; } declare module 'material-ui/lib/toggle' { - export = __MaterialUI.Toggle; + import Toggle = __MaterialUI.Toggle; + export = Toggle; } declare module 'material-ui/lib/time-picker' { - export = __MaterialUI.TimePicker; + import TimePicker = __MaterialUI.TimePicker; + export = TimePicker; } declare module 'material-ui/lib/text-field' { - export = __MaterialUI.TextField; + import TextField = __MaterialUI.TextField; + export = TextField; } declare module 'material-ui/lib/toolbar/toolbar' { - export = __MaterialUI.Toolbar.Toolbar; + import Toolbar = __MaterialUI.Toolbar.Toolbar; + export = Toolbar; } declare module 'material-ui/lib/toolbar/toolbar-group' { - export = __MaterialUI.Toolbar.ToolbarGroup; + import ToolbarGroup = __MaterialUI.Toolbar.ToolbarGroup; + export = ToolbarGroup; } declare module 'material-ui/lib/toolbar/toolbar-separator' { - export = __MaterialUI.Toolbar.ToolbarSeparator; + import ToolbarSeparator = __MaterialUI.Toolbar.ToolbarSeparator; + export = ToolbarSeparator; } declare module 'material-ui/lib/toolbar/toolbar-title' { - export = __MaterialUI.Toolbar.ToolbarTitle; + import ToolbarTitle = __MaterialUI.Toolbar.ToolbarTitle; + export = ToolbarTitle; } declare module 'material-ui/lib/tooltip' { - export = __MaterialUI.Tooltip; + import Tooltip = __MaterialUI.Tooltip; + export = Tooltip; } declare module 'material-ui/lib/utils/' { @@ -1814,63 +1883,78 @@ declare module 'material-ui/lib/utils/' { } declare module 'material-ui/lib/utils/color-manipulator' { - export = __MaterialUI.Utils.ColorManipulator; + import ColorManipulator = __MaterialUI.Utils.ColorManipulator; + export = ColorManipulator; } declare module 'material-ui/lib/utils/css-event' { - export = __MaterialUI.Utils.CssEvent; + import CssEvent = __MaterialUI.Utils.CssEvent; + export = CssEvent; } declare module 'material-ui/lib/utils/dom' { - export = __MaterialUI.Utils.Dom; + import Dom = __MaterialUI.Utils.Dom; + export = Dom; } declare module 'material-ui/lib/utils/events' { - export = __MaterialUI.Utils.Events; + import Events = __MaterialUI.Utils.Events; + export = Events; } declare module 'material-ui/lib/utils/extend' { - export = __MaterialUI.Utils.Extend; + import Extend = __MaterialUI.Utils.Extend; + export = Extend; } declare module 'material-ui/lib/utils/immutability-helper' { - export = __MaterialUI.Utils.ImmutabilityHelper; + import ImmutabilityHelper = __MaterialUI.Utils.ImmutabilityHelper; + export = ImmutabilityHelper; } declare module 'material-ui/lib/utils/key-code' { - export = __MaterialUI.Utils.KeyCode; + import KeyCode = __MaterialUI.Utils.KeyCode; + export = KeyCode; } declare module 'material-ui/lib/utils/key-line' { - export = __MaterialUI.Utils.KeyLine; + import KeyLine = __MaterialUI.Utils.KeyLine; + export = KeyLine; } declare module 'material-ui/lib/utils/unique-id' { - export = __MaterialUI.Utils.UniqueId; + import UniqueId = __MaterialUI.Utils.UniqueId; + export = UniqueId; } declare module 'material-ui/lib/utils/styles' { - export = __MaterialUI.Utils.Styles; + import Styles = __MaterialUI.Utils.Styles; + export = Styles; } declare module "material-ui/lib/menus/icon-menu" { - export = __MaterialUI.Menus.IconMenu; + import IconMenu = __MaterialUI.Menus.IconMenu; + export = IconMenu; } declare module "material-ui/lib/menus/menu" { - export = __MaterialUI.Menus.Menu; + import Menu = __MaterialUI.Menus.Menu; + export = Menu; } declare module "material-ui/lib/menus/menu-item" { - export = __MaterialUI.Menus.MenuItem; + import MenuItem = __MaterialUI.Menus.MenuItem; + export = MenuItem; } declare module "material-ui/lib/menus/menu-divider" { - export = __MaterialUI.Menus.MenuDivider; + import MenuDivider = __MaterialUI.Menus.MenuDivider; + export = MenuDivider; } declare module "material-ui/lib/styles/colors" { - export = __MaterialUI.Styles.Colors; + import Colors = __MaterialUI.Styles.Colors; + export = Colors; } declare namespace __MaterialUI.Styles {