├── .dojorc ├── .editorconfig ├── .gitattributes ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── calendar-dategrid.png ├── calendar-months.png └── workflows │ └── ci.yml ├── .gitignore ├── LICENSE ├── README.md ├── codecov.yml ├── comment-deployments.sh ├── deploy.sh ├── deploy_key.enc ├── docs └── V7-Migration-Guide.md ├── now.json ├── package-lock.json ├── package.json ├── scripts ├── umd.js └── version.js ├── src ├── accordion │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Accordion.spec.tsx ├── action-button │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── ActionButton.spec.tsx ├── avatar │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Avatar.spec.tsx ├── breadcrumb-group │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── breadcrumb-group.m.css │ │ └── breadcrumb-group.m.css.d.ts │ └── tests │ │ └── BreadcrumbGroup.spec.tsx ├── button │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Button.spec.tsx ├── calendar │ ├── README.md │ ├── date-utils.tsx │ ├── index.tsx │ ├── nls │ │ ├── Calendar.ts │ │ ├── zh-CN │ │ │ └── Calendar.ts │ │ └── zh-TW │ │ │ └── Calendar.ts │ └── tests │ │ ├── support │ │ └── defaults.ts │ │ └── unit │ │ ├── Calendar.spec.tsx │ │ ├── CalendarCell.spec.tsx │ │ ├── DatePicker.spec.tsx │ │ └── date-utils.spec.tsx ├── card │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Card.spec.tsx ├── checkbox-group │ ├── README.md │ ├── index.tsx │ ├── middleware.tsx │ └── tests │ │ ├── CheckboxGroup.spec.tsx │ │ └── middleware.spec.tsx ├── checkbox │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Checkbox.spec.tsx ├── chip-typeahead │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── ChipTypeahead.spec.tsx ├── chip │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── Chip.spec.tsx ├── common │ ├── styles │ │ ├── animations.m.css │ │ ├── animations.m.css.d.ts │ │ ├── base.m.css │ │ └── base.m.css.d.ts │ ├── tests │ │ ├── loadJsdom.ts │ │ ├── node-css-plugin.ts │ │ ├── run.html │ │ ├── support │ │ │ └── test-helpers.ts │ │ └── unit │ │ │ └── util.spec.ts │ └── util.ts ├── constrained-input │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── ConstrainedInput.spec.tsx ├── context-menu │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── ContextMenu.spec.tsx ├── context-popup │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── ContextPopup.spec.tsx ├── date-input │ ├── README.md │ ├── date-utils.tsx │ ├── index.tsx │ ├── nls │ │ ├── DateInput.ts │ │ ├── zh-CN │ │ │ └── DateInput.ts │ │ └── zh-TW │ │ │ └── DateInput.ts │ └── tests │ │ └── unit │ │ ├── DateInput.spec.tsx │ │ └── date-utils.spec.tsx ├── dialog │ ├── README.md │ ├── index.tsx │ ├── nls │ │ ├── Dialog.tsx │ │ ├── zh-CN │ │ │ └── Dialog.tsx │ │ └── zh-TW │ │ │ └── Dialog.tsx │ ├── styles │ │ ├── dialog.m.css │ │ └── dialog.m.css.d.ts │ └── tests │ │ └── unit │ │ └── Dialog.spec.tsx ├── email-input │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── EmailInput.spec.tsx ├── examples │ ├── .dojorc │ ├── .gitignore │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── Example.m.css │ │ ├── Example.m.css.d.ts │ │ ├── Example.tsx │ │ ├── config.tsx │ │ ├── data.tsx │ │ ├── index.html │ │ ├── main.tsx │ │ ├── template.tsx │ │ ├── tests.tsx │ │ └── widgets │ │ │ ├── accordion │ │ │ ├── Basic.tsx │ │ │ └── Exclusive.tsx │ │ │ ├── action-button │ │ │ ├── Basic.tsx │ │ │ ├── example.m.css │ │ │ └── example.m.css.d.ts │ │ │ ├── avatar │ │ │ ├── Basic.tsx │ │ │ ├── Icon.tsx │ │ │ ├── Image.tsx │ │ │ ├── Outline.tsx │ │ │ ├── Secondary.tsx │ │ │ ├── Size.tsx │ │ │ ├── Variant.tsx │ │ │ └── img │ │ │ │ └── dojo.jpg │ │ │ ├── breadcrumb-group │ │ │ ├── Basic.tsx │ │ │ ├── CustomRenderer.m.css │ │ │ ├── CustomRenderer.m.css.d.ts │ │ │ └── CustomRenderer.tsx │ │ │ ├── button │ │ │ ├── Basic.tsx │ │ │ ├── DisabledSubmit.tsx │ │ │ ├── IconButton.tsx │ │ │ ├── OutlinedButton.tsx │ │ │ └── TextButton.tsx │ │ │ ├── calendar │ │ │ ├── Basic.tsx │ │ │ ├── CustomFirstWeekDay.tsx │ │ │ ├── FullyControlled.tsx │ │ │ ├── InitialMonthAndYear.tsx │ │ │ └── LimitedRange.tsx │ │ │ ├── card │ │ │ ├── ActionButtons.tsx │ │ │ ├── ActionButtonsAndIcons.tsx │ │ │ ├── ActionIcons.tsx │ │ │ ├── Basic.tsx │ │ │ ├── CardCombined.tsx │ │ │ ├── CardWithMediaContent.tsx │ │ │ ├── CardWithMediaRectangle.tsx │ │ │ ├── CardWithMediaSquare.tsx │ │ │ ├── ClickableCard.tsx │ │ │ ├── Outlined.tsx │ │ │ └── img │ │ │ │ └── card-photo.jpg │ │ │ ├── checkbox-group │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomLabel.tsx │ │ │ ├── CustomRenderer.tsx │ │ │ └── InitialValue.tsx │ │ │ ├── checkbox │ │ │ ├── Basic.tsx │ │ │ ├── CustomLabel.tsx │ │ │ ├── Disabled.tsx │ │ │ └── Readonly.tsx │ │ │ ├── chip-typeahead │ │ │ ├── Basic.tsx │ │ │ ├── BottomPlacement.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomRenderer.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── Duplicates.tsx │ │ │ ├── FreeText.tsx │ │ │ └── Kinds.tsx │ │ │ ├── chip │ │ │ ├── Basic.tsx │ │ │ ├── Clickable.tsx │ │ │ ├── ClickableClosable.tsx │ │ │ ├── Closable.tsx │ │ │ ├── ClosableRenderer.tsx │ │ │ ├── Disabled.tsx │ │ │ └── Icon.tsx │ │ │ ├── constrained-input │ │ │ ├── Basic.tsx │ │ │ └── Username.tsx │ │ │ ├── context-menu │ │ │ └── Basic.tsx │ │ │ ├── context-popup │ │ │ └── Basic.tsx │ │ │ ├── date-input │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomParser.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── Kind.tsx │ │ │ ├── ReadOnly.tsx │ │ │ └── Required.tsx │ │ │ ├── dialog │ │ │ ├── ActionsDialog.tsx │ │ │ ├── AlertDialog.tsx │ │ │ ├── AnimatedDialog.tsx │ │ │ ├── Basic.tsx │ │ │ ├── CloseableDialog.tsx │ │ │ ├── FocusTrappedDialog.tsx │ │ │ ├── ModalDialog.tsx │ │ │ ├── UnderlayDialog.tsx │ │ │ └── styles │ │ │ │ ├── AnimatedDialog.m.css │ │ │ │ └── AnimatedDialog.m.css.d.ts │ │ │ ├── email-input │ │ │ └── Basic.tsx │ │ │ ├── floating-action-button │ │ │ ├── Basic.tsx │ │ │ ├── Extended.tsx │ │ │ ├── Position.tsx │ │ │ └── Small.tsx │ │ │ ├── form │ │ │ ├── ActionForm.tsx │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── DisabledFieldsForm.tsx │ │ │ ├── DisabledForm.tsx │ │ │ ├── FillingForm.tsx │ │ │ ├── InitialValueForm.tsx │ │ │ ├── KitchenSinkForm.tsx │ │ │ ├── RequiredFieldsForm.tsx │ │ │ ├── ResettingForm.tsx │ │ │ ├── SubmitForm.tsx │ │ │ └── Validation.tsx │ │ │ ├── global-event │ │ │ └── Basic.tsx │ │ │ ├── grid │ │ │ ├── Advanced.tsx │ │ │ ├── Basic.tsx │ │ │ ├── ColumnResize.tsx │ │ │ ├── CustomCellRenderer.tsx │ │ │ ├── CustomFilterRenderer.m.css │ │ │ ├── CustomFilterRenderer.m.css.d.ts │ │ │ ├── CustomFilterRenderer.tsx │ │ │ ├── CustomRenderer.m.css │ │ │ ├── CustomRenderer.m.css.d.ts │ │ │ ├── CustomSortRenderer.m.css │ │ │ ├── CustomSortRenderer.m.css.d.ts │ │ │ ├── CustomSortRenderer.tsx │ │ │ ├── EditableCells.tsx │ │ │ ├── Filtering.tsx │ │ │ ├── Paginated.tsx │ │ │ ├── Restful.tsx │ │ │ ├── RowSelection.tsx │ │ │ ├── Sorting.tsx │ │ │ └── data.tsx │ │ │ ├── header-card │ │ │ ├── ActionCard.tsx │ │ │ ├── Basic.tsx │ │ │ ├── MediaCard.tsx │ │ │ └── Outlined.tsx │ │ │ ├── header │ │ │ ├── Basic.tsx │ │ │ ├── Leading.tsx │ │ │ ├── Sticky.tsx │ │ │ └── Trailing.tsx │ │ │ ├── icon │ │ │ ├── AltText.tsx │ │ │ ├── Basic.tsx │ │ │ ├── IconButton.m.css │ │ │ ├── IconButton.m.css.d.ts │ │ │ ├── IconButton.tsx │ │ │ └── Sizes.tsx │ │ │ ├── label │ │ │ ├── Basic.tsx │ │ │ ├── DisabledLabel.tsx │ │ │ ├── HiddenLabel.tsx │ │ │ ├── InvalidLabel.tsx │ │ │ └── SecondaryLabel.tsx │ │ │ ├── list │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomTheme.m.css │ │ │ ├── CustomTheme.m.css.d.ts │ │ │ ├── CustomTheme.tsx │ │ │ ├── CustomTransformer.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── Dividers.tsx │ │ │ ├── Draggable.tsx │ │ │ ├── FetchedResource.tsx │ │ │ ├── Fill.tsx │ │ │ ├── ItemRenderer.tsx │ │ │ ├── ListItemRenderer.tsx │ │ │ ├── Menu.tsx │ │ │ └── states.tsx │ │ │ ├── loading-indicator │ │ │ ├── Basic.tsx │ │ │ └── Circular.tsx │ │ │ ├── native-select │ │ │ ├── Basic.tsx │ │ │ └── ControlledNativeSelect.tsx │ │ │ ├── number-input │ │ │ ├── Basic.tsx │ │ │ ├── LeadingTrailing.tsx │ │ │ └── Validation.tsx │ │ │ ├── pagination │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── PageSizeSelector.tsx │ │ │ └── SiblingCount.tsx │ │ │ ├── password-input │ │ │ ├── Basic.tsx │ │ │ ├── Disabled.tsx │ │ │ └── NoRules.tsx │ │ │ ├── popup-confirmation │ │ │ ├── Basic.tsx │ │ │ ├── Underlay.tsx │ │ │ └── styles │ │ │ │ ├── Basic.m.css │ │ │ │ └── Basic.m.css.d.ts │ │ │ ├── progress │ │ │ ├── Basic.tsx │ │ │ ├── ProgressWithChangingValues.tsx │ │ │ ├── ProgressWithCustomOutput.tsx │ │ │ ├── ProgressWithMax.tsx │ │ │ └── ProgressWithoutOutput.tsx │ │ │ ├── radio-group │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomLabel.tsx │ │ │ ├── CustomRenderer.tsx │ │ │ └── InitialValue.tsx │ │ │ ├── radio │ │ │ ├── Basic.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── Events.tsx │ │ │ └── Labelled.tsx │ │ │ ├── range-slider │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── Events.tsx │ │ │ ├── Labelled.tsx │ │ │ ├── MinMax.tsx │ │ │ ├── Required.tsx │ │ │ └── Tooltip.tsx │ │ │ ├── rate │ │ │ ├── AllowHalf.tsx │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomIcon.tsx │ │ │ └── ReadOnly.tsx │ │ │ ├── result │ │ │ ├── Alert.tsx │ │ │ ├── Basic.tsx │ │ │ ├── CustomIcon.tsx │ │ │ ├── Error.tsx │ │ │ └── Success.tsx │ │ │ ├── select │ │ │ ├── AdditionalText.tsx │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomRenderer.tsx │ │ │ ├── DisabledSelect.tsx │ │ │ └── RequiredSelect.tsx │ │ │ ├── slide-pane │ │ │ ├── Basic.tsx │ │ │ ├── BottomAlignSlidePane.tsx │ │ │ ├── FixedWidthSlidePane.tsx │ │ │ ├── LeftAlignSlidePane.tsx │ │ │ ├── RightAlignSlidePane.tsx │ │ │ ├── UnderlaySlidePane.tsx │ │ │ └── common.ts │ │ │ ├── slider │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── DisabledSlider.tsx │ │ │ ├── SliderWithCustomOutput.tsx │ │ │ ├── SliderWithNoOutput.tsx │ │ │ ├── SliderWithValidityCheck.tsx │ │ │ └── VerticalSlider.tsx │ │ │ ├── snackbar │ │ │ ├── Basic.tsx │ │ │ ├── Error.tsx │ │ │ ├── Leading.tsx │ │ │ ├── Stacked.tsx │ │ │ └── Success.tsx │ │ │ ├── speed-dial │ │ │ ├── Basic.tsx │ │ │ ├── CustomIcons.tsx │ │ │ ├── Direction.tsx │ │ │ ├── Position.tsx │ │ │ ├── TitleText.tsx │ │ │ └── VisualLabels.tsx │ │ │ ├── stack │ │ │ ├── Basic.tsx │ │ │ ├── HorizontalStackLayouts.tsx │ │ │ └── VerticalStackLayouts.tsx │ │ │ ├── switch │ │ │ ├── Basic.tsx │ │ │ └── Disabled.tsx │ │ │ ├── tab-container │ │ │ ├── Basic.tsx │ │ │ ├── ButtonAlignment.tsx │ │ │ ├── Closeable.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── Disabled.tsx │ │ │ └── VariableWidth.tsx │ │ │ ├── text-area │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── HelperText.tsx │ │ │ ├── HiddenLabel.tsx │ │ │ ├── Kinds.tsx │ │ │ ├── Label.tsx │ │ │ ├── ValidatedCustom.tsx │ │ │ └── ValidatedRequired.tsx │ │ │ ├── text-input │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── HelperText.tsx │ │ │ ├── HiddenLabel.tsx │ │ │ ├── Kinds.tsx │ │ │ ├── LeadingTrailing.tsx │ │ │ ├── Placeholder.tsx │ │ │ ├── Validated.tsx │ │ │ └── WithLabel.tsx │ │ │ ├── text │ │ │ ├── Basic.tsx │ │ │ ├── CustomNodeType.tsx │ │ │ ├── Inverse.tsx │ │ │ ├── OverrideFont.tsx │ │ │ ├── Size.tsx │ │ │ ├── Truncated.tsx │ │ │ ├── Uppercase.tsx │ │ │ └── Weight.tsx │ │ │ ├── three-column-layout │ │ │ └── Basic.tsx │ │ │ ├── time-picker │ │ │ ├── 12HourTime.tsx │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── DisabledMenuItems.tsx │ │ │ ├── Kind.tsx │ │ │ ├── Required.tsx │ │ │ └── SelectBySecond.tsx │ │ │ ├── title-pane │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── HeadingLevel.tsx │ │ │ └── NonCloseable.tsx │ │ │ ├── tooltip │ │ │ ├── Basic.tsx │ │ │ ├── Click.tsx │ │ │ └── Focus.tsx │ │ │ ├── tree │ │ │ ├── Basic.tsx │ │ │ ├── Checkable.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── CustomRenderer.tsx │ │ │ ├── InitialState.tsx │ │ │ └── RemoteSource.tsx │ │ │ ├── trigger-popup │ │ │ ├── Basic.tsx │ │ │ ├── MenuPopup.tsx │ │ │ ├── SetWidth.tsx │ │ │ ├── Underlay.tsx │ │ │ └── styles │ │ │ │ ├── Basic.m.css │ │ │ │ └── Basic.m.css.d.ts │ │ │ ├── two-column-layout │ │ │ ├── Basic.tsx │ │ │ ├── Collapsing.tsx │ │ │ ├── Resize.tsx │ │ │ └── TrailingBias.tsx │ │ │ ├── typeahead │ │ │ ├── Basic.tsx │ │ │ ├── Controlled.tsx │ │ │ ├── Disabled.tsx │ │ │ ├── FreeText.tsx │ │ │ ├── InitialValue.tsx │ │ │ ├── Kind.tsx │ │ │ ├── RemoteSource.tsx │ │ │ ├── Validation.tsx │ │ │ └── states.ts │ │ │ └── wizard │ │ │ ├── Basic.tsx │ │ │ ├── Error.tsx │ │ │ ├── StepContent.tsx │ │ │ ├── StepRenderer.tsx │ │ │ └── Vertical.tsx │ └── tests │ │ ├── functional │ │ ├── all.tsx │ │ └── main.tsx │ │ └── unit │ │ └── main.tsx ├── floating-action-button │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── FloatingActionButton.spec.tsx ├── form │ ├── README.md │ ├── index.tsx │ ├── middleware.ts │ └── tests │ │ └── unit │ │ ├── Form.spec.tsx │ │ └── FormMiddleware.spec.tsx ├── global-event │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── GlobalEvent.spec.tsx ├── grid │ ├── Body.tsx │ ├── Cell.tsx │ ├── Footer.tsx │ ├── Header.tsx │ ├── PaginatedBody.tsx │ ├── PaginatedFooter.tsx │ ├── PlaceholderRow.tsx │ ├── README.md │ ├── Row.tsx │ ├── index.tsx │ ├── interfaces.d.ts │ ├── nls │ │ ├── Grid.ts │ │ ├── zh-CN │ │ │ └── Grid.ts │ │ └── zh-TW │ │ │ └── Grid.ts │ ├── processes.ts │ ├── styles │ │ ├── body.m.css │ │ ├── body.m.css.d.ts │ │ ├── cell.m.css │ │ ├── cell.m.css.d.ts │ │ ├── grid.m.css │ │ ├── grid.m.css.d.ts │ │ ├── header.m.css │ │ ├── header.m.css.d.ts │ │ ├── paginated-footer.m.css │ │ ├── paginated-footer.m.css.d.ts │ │ ├── placeholder-row.m.css │ │ ├── placeholder-row.m.css.d.ts │ │ ├── row.m.css │ │ └── row.m.css.d.ts │ ├── tests │ │ └── unit │ │ │ ├── Body.spec.tsx │ │ │ ├── Cell.spec.tsx │ │ │ ├── Footer.spec.tsx │ │ │ ├── Grid.spec.tsx │ │ │ ├── Header.spec.tsx │ │ │ ├── PaginatedBody.spec.tsx │ │ │ ├── PaginatedFooter.spec.tsx │ │ │ ├── Row.spec.tsx │ │ │ ├── processes.spec.tsx │ │ │ └── utils.spec.tsx │ └── utils.ts ├── header-card │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── HeaderCard.spec.tsx ├── header │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Header.spec.tsx ├── helper-text │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── HelperText.spec.tsx ├── icon │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Icon.spec.tsx ├── index.html ├── label │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Label.spec.tsx ├── list │ ├── README.md │ ├── index.tsx │ ├── list.m.css │ ├── list.m.css.d.ts │ └── tests │ │ ├── List.spec.tsx │ │ ├── ListItem.spec.tsx │ │ └── MenuItem.spec.tsx ├── loading-indicator │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── LoadingIndicator.spec.tsx ├── main.css ├── main.tsx ├── meta │ └── Focus.tsx ├── middleware │ ├── bodyScroll.tsx │ ├── offscreen.ts │ ├── tests │ │ ├── bodyScroll.spec.tsx │ │ ├── theme.spec.tsx │ │ └── validation.spec.tsx │ ├── theme.tsx │ ├── validation.nls.tsx │ └── validation.tsx ├── native-select │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── NativeSelect.spec.tsx ├── number-input │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── NumberInput.spec.tsx ├── pagination │ ├── PageLink.tsx │ ├── README.md │ ├── index.tsx │ ├── nls │ │ ├── Pagination.ts │ │ ├── zh-CN │ │ │ └── Pagination.ts │ │ └── zh-TW │ │ │ └── Pagination.ts │ └── tests │ │ └── Pagination.spec.tsx ├── password-input │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── password-input.spec.tsx ├── popup-confirmation │ ├── README.md │ ├── index.tsx │ ├── nls │ │ └── PopupConfirmation.ts │ └── tests │ │ └── PopupConfirmation.spec.tsx ├── popup │ ├── README.md │ ├── index.tsx │ ├── popup.m.css │ ├── popup.m.css.d.ts │ └── tests │ │ └── Popup.spec.tsx ├── progress │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Progress.spec.tsx ├── radio-group │ ├── README.md │ ├── index.tsx │ ├── middleware.ts │ └── tests │ │ ├── RadioGroup.spec.tsx │ │ └── middleware.spec.ts ├── radio │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Radio.spec.tsx ├── range-slider │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── range-slider.m.css │ │ └── range-slider.m.css.d.ts │ └── tests │ │ └── unit │ │ └── RangeSlider.spec.tsx ├── rate │ ├── README.md │ ├── index.tsx │ ├── rate.m.css │ ├── rate.m.css.d.ts │ └── tests │ │ └── Rate.spec.tsx ├── result │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Result.spec.tsx ├── select │ ├── README.md │ ├── index.tsx │ ├── nls │ │ ├── Select.tsx │ │ ├── zh-CN │ │ │ └── Select.tsx │ │ └── zh-TW │ │ │ └── Select.tsx │ └── tests │ │ └── Select.spec.tsx ├── slide-pane │ ├── README.md │ ├── index.tsx │ ├── nls │ │ ├── SlidePane.tsx │ │ ├── zh-CN │ │ │ └── SlidePane.tsx │ │ └── zh-TW │ │ │ └── SlidePane.tsx │ ├── styles │ │ ├── slide-pane.m.css │ │ └── slide-pane.m.css.d.ts │ └── tests │ │ └── unit │ │ └── SlidePane.spec.tsx ├── slider │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── slider.m.css │ │ └── slider.m.css.d.ts │ └── tests │ │ └── unit │ │ └── Slider.spec.tsx ├── snackbar │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── snackbar.m.css │ │ └── snackbar.m.css.d.ts │ └── tests │ │ └── unit │ │ └── Snackbar.spec.tsx ├── speed-dial │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── speed-dial.m.css │ │ └── speed-dial.m.css.d.ts │ └── tests │ │ └── unit │ │ ├── Action.spec.tsx │ │ └── SpeedDial.spec.tsx ├── stack │ ├── README.md │ ├── Spacer.tsx │ ├── index.tsx │ ├── styles │ │ ├── spacer.m.css │ │ ├── spacer.m.css.d.ts │ │ ├── stack.m.css │ │ └── stack.m.css.d.ts │ └── tests │ │ ├── Spacer.spec.tsx │ │ └── Stack.spec.tsx ├── switch │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Switch.spec.tsx ├── tab-container │ ├── README.md │ ├── index.tsx │ ├── nls │ │ ├── TabContainer.tsx │ │ ├── zh-CN │ │ │ └── TabContainer.tsx │ │ └── zh-TW │ │ │ └── TabContainer.tsx │ └── tests │ │ └── TabContainer.spec.tsx ├── text-area │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── TextArea.spec.tsx ├── text-input │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── TextInput.spec.tsx ├── text │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── Text.m.css │ │ └── Text.m.css.d.ts │ └── tests │ │ └── Text.spec.tsx ├── theme │ ├── default │ │ ├── accordion.m.css │ │ ├── accordion.m.css.d.ts │ │ ├── avatar.m.css │ │ ├── avatar.m.css.d.ts │ │ ├── base.m.css │ │ ├── base.m.css.d.ts │ │ ├── breadcrumb-group.m.css │ │ ├── breadcrumb-group.m.css.d.ts │ │ ├── button.m.css │ │ ├── button.m.css.d.ts │ │ ├── calendar.m.css │ │ ├── calendar.m.css.d.ts │ │ ├── card.m.css │ │ ├── card.m.css.d.ts │ │ ├── checkbox-group.m.css │ │ ├── checkbox-group.m.css.d.ts │ │ ├── checkbox.m.css │ │ ├── checkbox.m.css.d.ts │ │ ├── chip-typeahead.m.css │ │ ├── chip-typeahead.m.css.d.ts │ │ ├── chip.m.css │ │ ├── chip.m.css.d.ts │ │ ├── constrained-input.m.css │ │ ├── constrained-input.m.css.d.ts │ │ ├── context-menu.m.css │ │ ├── context-menu.m.css.d.ts │ │ ├── context-popup.m.css │ │ ├── context-popup.m.css.d.ts │ │ ├── date-input.m.css │ │ ├── date-input.m.css.d.ts │ │ ├── dialog.m.css │ │ ├── dialog.m.css.d.ts │ │ ├── email-input.m.css │ │ ├── email-input.m.css.d.ts │ │ ├── floating-action-button.m.css │ │ ├── floating-action-button.m.css.d.ts │ │ ├── fonts │ │ │ ├── README.md │ │ │ ├── dojo.svg │ │ │ ├── dojo.ttf │ │ │ ├── dojo.woff │ │ │ └── dojoSelection.json │ │ ├── form.m.css │ │ ├── form.m.css.d.ts │ │ ├── grid-body.m.css │ │ ├── grid-body.m.css.d.ts │ │ ├── grid-cell.m.css │ │ ├── grid-cell.m.css.d.ts │ │ ├── grid-footer.m.css │ │ ├── grid-footer.m.css.d.ts │ │ ├── grid-header.m.css │ │ ├── grid-header.m.css.d.ts │ │ ├── grid-paginated-footer.m.css │ │ ├── grid-paginated-footer.m.css.d.ts │ │ ├── grid-placeholder-row.m.css │ │ ├── grid-placeholder-row.m.css.d.ts │ │ ├── grid-row.m.css │ │ ├── grid-row.m.css.d.ts │ │ ├── grid.m.css │ │ ├── grid.m.css.d.ts │ │ ├── header-card.m.css │ │ ├── header-card.m.css.d.ts │ │ ├── header.m.css │ │ ├── header.m.css.d.ts │ │ ├── helper-text.m.css │ │ ├── helper-text.m.css.d.ts │ │ ├── icon.m.css │ │ ├── icon.m.css.d.ts │ │ ├── index.ts │ │ ├── label.m.css │ │ ├── label.m.css.d.ts │ │ ├── list-item.m.css │ │ ├── list-item.m.css.d.ts │ │ ├── list.m.css │ │ ├── list.m.css.d.ts │ │ ├── loading-indicator.m.css │ │ ├── loading-indicator.m.css.d.ts │ │ ├── menu-item.m.css │ │ ├── menu-item.m.css.d.ts │ │ ├── native-select.m.css │ │ ├── native-select.m.css.d.ts │ │ ├── number-input.m.css │ │ ├── number-input.m.css.d.ts │ │ ├── pagination.m.css │ │ ├── pagination.m.css.d.ts │ │ ├── password-input.m.css │ │ ├── password-input.m.css.d.ts │ │ ├── popup-confirmation.m.css │ │ ├── popup-confirmation.m.css.d.ts │ │ ├── popup.m.css │ │ ├── popup.m.css.d.ts │ │ ├── progress.m.css │ │ ├── progress.m.css.d.ts │ │ ├── radio-group.m.css │ │ ├── radio-group.m.css.d.ts │ │ ├── radio.m.css │ │ ├── radio.m.css.d.ts │ │ ├── range-slider.m.css │ │ ├── range-slider.m.css.d.ts │ │ ├── rate.m.css │ │ ├── rate.m.css.d.ts │ │ ├── result.m.css │ │ ├── result.m.css.d.ts │ │ ├── select.m.css │ │ ├── select.m.css.d.ts │ │ ├── slide-pane.m.css │ │ ├── slide-pane.m.css.d.ts │ │ ├── slider.m.css │ │ ├── slider.m.css.d.ts │ │ ├── snackbar.m.css │ │ ├── snackbar.m.css.d.ts │ │ ├── speed-dial.m.css │ │ ├── speed-dial.m.css.d.ts │ │ ├── stack.m.css │ │ ├── stack.m.css.d.ts │ │ ├── switch.m.css │ │ ├── switch.m.css.d.ts │ │ ├── tab-container.m.css │ │ ├── tab-container.m.css.d.ts │ │ ├── text-area.m.css │ │ ├── text-area.m.css.d.ts │ │ ├── text-input.m.css │ │ ├── text-input.m.css.d.ts │ │ ├── text.m.css │ │ ├── text.m.css.d.ts │ │ ├── three-column-layout.m.css │ │ ├── three-column-layout.m.css.d.ts │ │ ├── time-picker.m.css │ │ ├── time-picker.m.css.d.ts │ │ ├── title-pane.m.css │ │ ├── title-pane.m.css.d.ts │ │ ├── tooltip.m.css │ │ ├── tooltip.m.css.d.ts │ │ ├── tree.m.css │ │ ├── tree.m.css.d.ts │ │ ├── two-column-layout.m.css │ │ ├── two-column-layout.m.css.d.ts │ │ ├── typeahead.m.css │ │ ├── typeahead.m.css.d.ts │ │ ├── variants │ │ │ ├── default.m.css │ │ │ └── default.m.css.d.ts │ │ ├── wizard.m.css │ │ └── wizard.m.css.d.ts │ ├── dojo │ │ ├── accordion.m.css │ │ ├── accordion.m.css.d.ts │ │ ├── avatar.m.css │ │ ├── avatar.m.css.d.ts │ │ ├── breadcrumb-group.m.css │ │ ├── breadcrumb-group.m.css.d.ts │ │ ├── button.m.css │ │ ├── button.m.css.d.ts │ │ ├── calendar.m.css │ │ ├── calendar.m.css.d.ts │ │ ├── card.m.css │ │ ├── card.m.css.d.ts │ │ ├── checkbox-group.m.css │ │ ├── checkbox-group.m.css.d.ts │ │ ├── checkbox.m.css │ │ ├── checkbox.m.css.d.ts │ │ ├── chip-typeahead.m.css │ │ ├── chip-typeahead.m.css.d.ts │ │ ├── chip.m.css │ │ ├── chip.m.css.d.ts │ │ ├── date-input.m.css │ │ ├── date-input.m.css.d.ts │ │ ├── dialog.m.css │ │ ├── dialog.m.css.d.ts │ │ ├── floating-action-button.m.css │ │ ├── floating-action-button.m.css.d.ts │ │ ├── fonts │ │ │ ├── README.md │ │ │ ├── baseThemeSelection.json │ │ │ ├── dojo2BaseTheme.svg │ │ │ ├── dojo2BaseTheme.ttf │ │ │ └── dojo2BaseTheme.woff │ │ ├── form.m.css │ │ ├── form.m.css.d.ts │ │ ├── grid-body.m.css │ │ ├── grid-body.m.css.d.ts │ │ ├── grid-cell.m.css │ │ ├── grid-cell.m.css.d.ts │ │ ├── grid-footer.m.css │ │ ├── grid-footer.m.css.d.ts │ │ ├── grid-header.m.css │ │ ├── grid-header.m.css.d.ts │ │ ├── grid-paginated-footer.m.css │ │ ├── grid-paginated-footer.m.css.d.ts │ │ ├── grid-placeholder-row.m.css │ │ ├── grid-placeholder-row.m.css.d.ts │ │ ├── grid-row.m.css │ │ ├── grid-row.m.css.d.ts │ │ ├── grid.m.css │ │ ├── grid.m.css.d.ts │ │ ├── header-card.m.css │ │ ├── header-card.m.css.d.ts │ │ ├── header.m.css │ │ ├── header.m.css.d.ts │ │ ├── helper-text.m.css │ │ ├── helper-text.m.css.d.ts │ │ ├── icon.m.css │ │ ├── icon.m.css.d.ts │ │ ├── index.ts │ │ ├── label.m.css │ │ ├── label.m.css.d.ts │ │ ├── list-item.m.css │ │ ├── list-item.m.css.d.ts │ │ ├── list.m.css │ │ ├── list.m.css.d.ts │ │ ├── loading-indicator.m.css │ │ ├── loading-indicator.m.css.d.ts │ │ ├── menu-item.m.css │ │ ├── menu-item.m.css.d.ts │ │ ├── native-select.m.css │ │ ├── native-select.m.css.d.ts │ │ ├── pagination.m.css │ │ ├── pagination.m.css.d.ts │ │ ├── password-input.m.css │ │ ├── password-input.m.css.d.ts │ │ ├── popup-confirmation.m.css │ │ ├── popup-confirmation.m.css.d.ts │ │ ├── popup.m.css │ │ ├── popup.m.css.d.ts │ │ ├── progress.m.css │ │ ├── progress.m.css.d.ts │ │ ├── radio-group.m.css │ │ ├── radio-group.m.css.d.ts │ │ ├── radio.m.css │ │ ├── radio.m.css.d.ts │ │ ├── range-slider.m.css │ │ ├── range-slider.m.css.d.ts │ │ ├── rate.m.css │ │ ├── rate.m.css.d.ts │ │ ├── result.m.css │ │ ├── result.m.css.d.ts │ │ ├── select.m.css │ │ ├── select.m.css.d.ts │ │ ├── slide-pane.m.css │ │ ├── slide-pane.m.css.d.ts │ │ ├── slider.m.css │ │ ├── slider.m.css.d.ts │ │ ├── snackbar.m.css │ │ ├── snackbar.m.css.d.ts │ │ ├── speed-dial.m.css │ │ ├── speed-dial.m.css.d.ts │ │ ├── stack.m.css │ │ ├── stack.m.css.d.ts │ │ ├── switch.m.css │ │ ├── switch.m.css.d.ts │ │ ├── tab-container.m.css │ │ ├── tab-container.m.css.d.ts │ │ ├── text-area.m.css │ │ ├── text-area.m.css.d.ts │ │ ├── text-input.m.css │ │ ├── text-input.m.css.d.ts │ │ ├── text.m.css │ │ ├── text.m.css.d.ts │ │ ├── three-column-layout.m.css │ │ ├── three-column-layout.m.css.d.ts │ │ ├── time-picker.m.css │ │ ├── time-picker.m.css.d.ts │ │ ├── title-pane.m.css │ │ ├── title-pane.m.css.d.ts │ │ ├── tooltip.m.css │ │ ├── tooltip.m.css.d.ts │ │ ├── tree.m.css │ │ ├── tree.m.css.d.ts │ │ ├── two-column-layout.m.css │ │ ├── two-column-layout.m.css.d.ts │ │ ├── typeahead.m.css │ │ ├── typeahead.m.css.d.ts │ │ ├── variants │ │ │ ├── dark.m.css │ │ │ ├── dark.m.css.d.ts │ │ │ ├── default.m.css │ │ │ └── default.m.css.d.ts │ │ ├── wizard.m.css │ │ └── wizard.m.css.d.ts │ └── material │ │ ├── accordion.m.css │ │ ├── accordion.m.css.d.ts │ │ ├── avatar.m.css │ │ ├── avatar.m.css.d.ts │ │ ├── breadcrumb-group.m.css │ │ ├── breadcrumb-group.m.css.d.ts │ │ ├── button.m.css │ │ ├── button.m.css.d.ts │ │ ├── calendar.m.css │ │ ├── calendar.m.css.d.ts │ │ ├── card.m.css │ │ ├── card.m.css.d.ts │ │ ├── checkbox-group.m.css │ │ ├── checkbox-group.m.css.d.ts │ │ ├── checkbox.m.css │ │ ├── checkbox.m.css.d.ts │ │ ├── chip-typeahead.m.css │ │ ├── chip-typeahead.m.css.d.ts │ │ ├── chip.m.css │ │ ├── chip.m.css.d.ts │ │ ├── date-input.m.css │ │ ├── date-input.m.css.d.ts │ │ ├── dialog.m.css │ │ ├── dialog.m.css.d.ts │ │ ├── floating-action-button.m.css │ │ ├── floating-action-button.m.css.d.ts │ │ ├── fonts │ │ ├── MaterialIcons-Regular.ttf │ │ ├── MaterialIcons-Regular.woff │ │ └── MaterialIcons-Regular.woff2 │ │ ├── form.m.css │ │ ├── form.m.css.d.ts │ │ ├── grid-body.m.css │ │ ├── grid-body.m.css.d.ts │ │ ├── grid-cell.m.css │ │ ├── grid-cell.m.css.d.ts │ │ ├── grid-footer.m.css │ │ ├── grid-footer.m.css.d.ts │ │ ├── grid-header.m.css │ │ ├── grid-header.m.css.d.ts │ │ ├── grid-paginated-footer.m.css │ │ ├── grid-paginated-footer.m.css.d.ts │ │ ├── grid-placeholder-row.m.css │ │ ├── grid-placeholder-row.m.css.d.ts │ │ ├── grid-row.m.css │ │ ├── grid-row.m.css.d.ts │ │ ├── grid.m.css │ │ ├── grid.m.css.d.ts │ │ ├── header-card.m.css │ │ ├── header-card.m.css.d.ts │ │ ├── header.m.css │ │ ├── header.m.css.d.ts │ │ ├── helper-text.m.css │ │ ├── helper-text.m.css.d.ts │ │ ├── icon.m.css │ │ ├── icon.m.css.d.ts │ │ ├── index.ts │ │ ├── label.m.css │ │ ├── label.m.css.d.ts │ │ ├── list-item.m.css │ │ ├── list-item.m.css.d.ts │ │ ├── list.m.css │ │ ├── list.m.css.d.ts │ │ ├── loading-indicator.m.css │ │ ├── loading-indicator.m.css.d.ts │ │ ├── menu-item.m.css │ │ ├── menu-item.m.css.d.ts │ │ ├── native-select.m.css │ │ ├── native-select.m.css.d.ts │ │ ├── pagination.m.css │ │ ├── pagination.m.css.d.ts │ │ ├── password-input.m.css │ │ ├── password-input.m.css.d.ts │ │ ├── popup-confirmation.m.css │ │ ├── popup-confirmation.m.css.d.ts │ │ ├── popup.m.css │ │ ├── popup.m.css.d.ts │ │ ├── progress.m.css │ │ ├── progress.m.css.d.ts │ │ ├── radio-group.m.css │ │ ├── radio-group.m.css.d.ts │ │ ├── radio.m.css │ │ ├── radio.m.css.d.ts │ │ ├── range-slider.m.css │ │ ├── range-slider.m.css.d.ts │ │ ├── rate.m.css │ │ ├── rate.m.css.d.ts │ │ ├── result.m.css │ │ ├── result.m.css.d.ts │ │ ├── select.m.css │ │ ├── select.m.css.d.ts │ │ ├── slide-pane.m.css │ │ ├── slide-pane.m.css.d.ts │ │ ├── slider.m.css │ │ ├── slider.m.css.d.ts │ │ ├── snackbar.m.css │ │ ├── snackbar.m.css.d.ts │ │ ├── speed-dial.m.css │ │ ├── speed-dial.m.css.d.ts │ │ ├── stack.m.css │ │ ├── stack.m.css.d.ts │ │ ├── switch.m.css │ │ ├── switch.m.css.d.ts │ │ ├── tab-container.m.css │ │ ├── tab-container.m.css.d.ts │ │ ├── text-area.m.css │ │ ├── text-area.m.css.d.ts │ │ ├── text-input.m.css │ │ ├── text-input.m.css.d.ts │ │ ├── text.m.css │ │ ├── text.m.css.d.ts │ │ ├── three-column-layout.m.css │ │ ├── three-column-layout.m.css.d.ts │ │ ├── time-picker.m.css │ │ ├── time-picker.m.css.d.ts │ │ ├── title-pane.m.css │ │ ├── title-pane.m.css.d.ts │ │ ├── tooltip.m.css │ │ ├── tooltip.m.css.d.ts │ │ ├── tree.m.css │ │ ├── tree.m.css.d.ts │ │ ├── two-column-layout.m.css │ │ ├── two-column-layout.m.css.d.ts │ │ ├── typeahead.m.css │ │ ├── typeahead.m.css.d.ts │ │ ├── variants │ │ ├── dark.m.css │ │ ├── dark.m.css.d.ts │ │ ├── default.m.css │ │ └── default.m.css.d.ts │ │ ├── wizard.m.css │ │ └── wizard.m.css.d.ts ├── three-column-layout │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── three-column-layout.m.css │ │ └── three-column-layout.m.css.d.ts │ └── tests │ │ └── ThreeColumnLayout.spec.tsx ├── time-picker │ ├── README.md │ ├── index.tsx │ ├── nls │ │ ├── TimePicker.ts │ │ ├── zh-CN │ │ │ └── TimePicker.ts │ │ └── zh-TW │ │ │ └── TimePicker.ts │ └── tests │ │ └── unit │ │ └── TimePicker.spec.tsx ├── title-pane │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── title-pane.m.css │ │ └── title-pane.m.css.d.ts │ └── tests │ │ └── unit │ │ └── TitlePane.spec.tsx ├── tooltip │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── tooltip.m.css │ │ └── tooltip.m.css.d.ts │ └── tests │ │ └── unit │ │ └── Tooltip.spec.tsx ├── tree │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ ├── Tree.spec.tsx │ │ ├── TreeData.mock.ts │ │ └── TreeNode.spec.tsx ├── trigger-popup │ ├── README.md │ ├── index.tsx │ ├── tests │ │ └── TriggerPopup.spec.tsx │ ├── trigger-popup.m.css │ └── trigger-popup.m.css.d.ts ├── two-column-layout │ ├── README.md │ ├── index.tsx │ ├── styles │ │ ├── two-column-layout.m.css │ │ └── two-column-layout.m.css.d.ts │ └── tests │ │ └── TwoColumnLayout.spec.tsx ├── typeahead │ ├── README.md │ ├── index.tsx │ └── tests │ │ └── unit │ │ └── Typeahead.spec.tsx └── wizard │ ├── README.md │ ├── index.tsx │ └── tests │ └── unit │ └── Wizard.spec.tsx ├── tsconfig.json └── tslint.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = tab 6 | indent_size = 4 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [{package.json,.travis.yml}] 16 | indent_style = space 17 | indent_size = 2 18 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case users don't have core.autocrlf set 2 | * text=auto 3 | 4 | # Files that should always be normalized and converted to native line 5 | # endings on checkout. 6 | *.js text 7 | *.json text 8 | *.ts text 9 | *.md text 10 | *.yml text 11 | LICENSE text 12 | 13 | # Files that are truly binary and should not be modified 14 | *.png binary 15 | *.jpg binary 16 | *.jpeg binary 17 | *.gif binary 18 | *.jar binary 19 | *.zip binary 20 | *.psd binary 21 | *.enc binary 22 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Thank You 2 | 3 | We very much welcome contributions to Dojo 2. 4 | 5 | Because we have so many repositories that are part of Dojo 2, we have located our [Contributing Guidelines](https://github.com/dojo/meta/blob/master/CONTRIBUTING.md) in our [Dojo 2 Meta Repository](https://github.com/dojo/meta#readme). 6 | 7 | Look forward to working with you on Dojo 2!!! 8 | -------------------------------------------------------------------------------- /.github/calendar-dategrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dojo/widgets/ecd5d853b4dc932c5d478a7a8b7295f4f5435953/.github/calendar-dategrid.png -------------------------------------------------------------------------------- /.github/calendar-months.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dojo/widgets/ecd5d853b4dc932c5d478a7a8b7295f4f5435953/.github/calendar-months.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /_build 2 | /bower_components 3 | /coverage 4 | /dist 5 | /html-report 6 | /a11y-report 7 | node_modules 8 | /typings 9 | /output 10 | .baseDir.ts 11 | .tscache 12 | coverage-unmapped.json 13 | coverage-final.json 14 | coverage-final.lcov 15 | npm-debug.log 16 | yarn.lock 17 | /_apidoc 18 | /.grunt/ 19 | deploy_key 20 | deploy_key.pub 21 | package.json.bk 22 | /.vscode 23 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | notify: 3 | slack: 4 | default: 5 | url: "secret:jbSUvelf6s68CTzfuwaEP8ABwR+KlB9bZDjLxJmy6NlHsO/DGBf/ZUhO2vIdrNd/fudMkaeE9PEYDXcBid+p5cdp4E1XsfVelIC5hLi34JEXCgtIcldaIwd7OlFypF/Sdhxe2hOtPj8aPG2ksBwyNfVMFEDVDPaNBmcW/sBiCrM=" 6 | threshold: 2 7 | attachments: "sunburst, diff" 8 | comment: 9 | branches: 10 | - master 11 | - feature/* 12 | -------------------------------------------------------------------------------- /comment-deployments.sh: -------------------------------------------------------------------------------- 1 | if [ "$TRAVIS_PULL_REQUEST" != "false" ] ; then 2 | deployments="This pull request has been deployed to:\n$(sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' deployments.txt)" 3 | echo '{"body": "'$deployments'"}' >> deployments.json 4 | curl -H "Authorization: token ${PUBLIC_GITHUB_TOKEN}" -H "Content-Type: application/vnd.github.v3+json" -s -X POST "https://api.github.com/repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}/comments" --data-binary "$( arg.indexOf('--release=') !== -1); 4 | 5 | if (!versionArg) { 6 | throw new Error('Unable to release as could not as no release number specified'); 7 | } 8 | 9 | const version = versionArg.split('=')[1]; 10 | 11 | if (!version) { 12 | throw new Error('Unable to release as could not as no release number specified'); 13 | } 14 | 15 | const packageJson = require('../package.json'); 16 | packageJson.version = version; 17 | fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2), 'utf8'); 18 | -------------------------------------------------------------------------------- /src/accordion/README.md: -------------------------------------------------------------------------------- 1 | # @dojo/widgets/accordion 2 | 3 | Dojo's `Accordion` component can be used to show multiple pieces of content inside collapsible panes within a common parent component. It provides a mechanism of control over multiple child `TitlePane` components. 4 | 5 | ## Features 6 | 7 | - Optionally supports multiple panes open at once 8 | 9 | ### Accessibility Features 10 | 11 | - Supports standard tab navigation 12 | - Space bar toggles the pane content of a closeable child `TitlePane` 13 | -------------------------------------------------------------------------------- /src/action-button/README.md: -------------------------------------------------------------------------------- 1 | # @dojo/widgets/action-button 2 | 3 | Dojo's `ActionButton` widget provides a button that inherits the themes variant (css variables) from it's parent instead of from the theme directly. 4 | -------------------------------------------------------------------------------- /src/avatar/README.md: -------------------------------------------------------------------------------- 1 | # @dojo/widgets/avatar 2 | 3 | Dojo's `Avatar` widget provides a simple means for displaying an image or text avatar. 4 | 5 | ### Features 6 | 7 | - Display an image as an avatar 8 | - Display text as an avatar 9 | - Customize the color 10 | - Display a square variant 11 | - Display a circular variant 12 | - Display a rounded variant 13 | - Small, medium, and large sizes 14 | -------------------------------------------------------------------------------- /src/breadcrumb-group/styles/breadcrumb-group.m.css: -------------------------------------------------------------------------------- 1 | .listFixed, 2 | .breadcrumbFixed, 3 | .separatorFixed { 4 | align-items: center; 5 | display: flex; 6 | } 7 | 8 | .listFixed { 9 | list-style: none; 10 | margin: 0; 11 | padding: 0; 12 | } 13 | -------------------------------------------------------------------------------- /src/breadcrumb-group/styles/breadcrumb-group.m.css.d.ts: -------------------------------------------------------------------------------- 1 | export const listFixed: string; 2 | export const breadcrumbFixed: string; 3 | export const separatorFixed: string; 4 | -------------------------------------------------------------------------------- /src/card/README.md: -------------------------------------------------------------------------------- 1 | # @dojo/widgets/card 2 | 3 | Dojo's `Card` widget provides a simple container for content and actions with a similar theme. 4 | 5 | ### Features 6 | 7 | - Wrap content with a consistent style 8 | - Include actions with the card 9 | -------------------------------------------------------------------------------- /src/checkbox-group/README.md: -------------------------------------------------------------------------------- 1 | # @dojo/widgets/checkbox-group 2 | 3 | Dojo's `CheckboxGroup` widget provides an opinionated way to use a group of check boxes in a form. 4 | 5 | ## Features 6 | 7 | - Takes an options property to define the checkboxes to create 8 | - Offers a custom renderer allowing the user to create their own checkboxes 9 | - Provides a checkbox group middleware when using a custom renderer 10 | -------------------------------------------------------------------------------- /src/checkbox/README.md: -------------------------------------------------------------------------------- 1 | # @dojo/widgets/checkbox 2 | 3 | Dojo's `Checkbox` widget provides a wrapped, styleable checkbox widget that uses the native `` as a base. 4 | 5 | ## Features 6 | 7 | - Creates a normal checkbox. 8 | - Correctly handles a11y attributes. 9 | - Wraps the input in a visible or invisible but accessible `