Skip to content

Commit

Permalink
feat(types): better type declarations (closes bootstrap-vue#1976) (bo…
Browse files Browse the repository at this point in the history
…otstrap-vue#3283)

* chore(types): declare `/es` modules

* Update index.d.ts

* Update es.d.ts

* Update es.d.ts

* Update es.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update es.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Create src.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update bv-config.d.ts

* Update es.d.ts

* Update src.d.ts

* Update es.d.ts

* Update package.json

* Update build.sh

* Delete es.d.ts

* Delete bv-event.d.ts

* Update index.d.ts

* Delete bv-plugin.d.ts

* Delete src.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update index.d.ts

* Update bv-config.d.ts

* Rename types/vue-injections.d.ts to src/vue-injections.d.ts

* Rename types/bv-config.d.ts to src/bv-config.d.ts

* Rename types/directives/index.d.ts to types/src/directives/index.d.ts

* Rename types/src/directives/index.d.ts to src/directives/index.d.ts

* Rename types/directives/modal/index.d.ts to src/directives/modal/index.d.ts

* Rename types/directives/popover/index.d.ts to src/directives/popover/index.d.ts

* Rename types/directives/scrollspy/index.d.ts to src/directives/scrollspy/index.d.ts

* Rename types/directives/toggle/index.d.ts to src/directives/toggle/index.d.ts

* Rename types/directives/tooltip/index.d.ts to src/directives/tooltip/index.d.ts

* Rename types/index.d.ts to src/index.d.ts

* Rename types/components/alert/index.d.ts to src/components/alert/index.d.ts

* Rename types/components/badge/index.d.ts to src/components/badge/index.d.ts

* Rename types/components/breadcrumb/index.d.ts to src/components/breadcrumb/index.d.ts

* Rename types/components/button-group/index.d.ts to src/components/button-group/index.d.ts

* Rename types/components/button-toolbar/index.d.ts to src/components/button-toolbar/index.d.ts

* Rename types/components/button/index.d.ts to src/components/button/index.d.ts

* Rename types/components/card/index.d.ts to src/components/card/index.d.ts

* Rename types/components/carousel/index.d.ts to src/components/carousel/index.d.ts

* Rename types/components/collapse/index.d.ts to src/components/collapse/index.d.ts

* Rename types/components/dropdown/index.d.ts to src/components/dropdown/index.d.ts

* Rename types/components/embed/index.d.ts to src/components/embed/index.d.ts

* Rename types/components/form-checkbox/index.d.ts to src/components/form-checkbox/index.d.ts

* Rename types/components/form-file/index.d.ts to src/components/form-file/index.d.ts

* Rename types/components/form-group/index.d.ts to src/components/form-group/index.d.ts

* Rename types/components/form-input/index.d.ts to src/components/form-input/index.d.ts

* Rename types/components/form-radio/index.d.ts to src/components/form-radio/index.d.ts

* Rename types/components/form-select/index.d.ts to src/components/form-select/index.d.ts

* Rename types/components/form-textarea/index.d.ts to src/components/form-textarea/index.d.ts

* Rename types/components/form/index.d.ts to src/components/form/index.d.ts

* Rename types/components/image/index.d.ts to src/components/image/index.d.ts

* Rename types/components/input-group/index.d.ts to src/components/input-group/index.d.ts

* Rename types/components/jumbotron/index.d.ts to src/components/jumbotron/index.d.ts

* Rename types/components/layout/index.d.ts to src/components/layout/index.d.ts

* Rename types/components/link/index.d.ts to src/components/link/index.d.ts

* Rename types/components/list-group/index.d.ts to src/components/list-group/index.d.ts

* Rename types/components/media/index.d.ts to src/components/media/index.d.ts

* Rename types/components/modal/index.d.ts to src/components/modal/index.d.ts

* Rename types/components/nav/index.d.ts to src/components/nav/index.d.ts

* Rename types/components/navbar/index.d.ts to src/components/navbar/index.d.ts

* Rename types/components/pagination-nav/index.d.ts to src/components/pagination-nav/index.d.ts

* Rename types/components/pagination/index.d.ts to src/components/pagination/index.d.ts

* Rename types/components/popover/index.d.ts to src/components/popover/index.d.ts

* Rename types/components/progress/index.d.ts to src/components/progress/index.d.ts

* Rename types/components/spinner/index.d.ts to src/components/spinner/index.d.ts

* Rename types/components/table/index.d.ts to src/components/table/index.d.ts

* Rename types/components/tabs/index.d.ts to src/components/tabs/index.d.ts

* Rename types/components/toast/index.d.ts to src/components/toast/index.d.ts

* Rename types/components/tooltip/index.d.ts to src/components/tooltip/index.d.ts

* Rename types/components/index.d.ts to src/components/index.d.ts

* Delete README.md

* Update package.json

* Update build.sh

* Update build.sh

* Update build.sh

* Update build.sh

* Update index.d.ts

* Update build.sh
  • Loading branch information
tmorehouse authored and jacobmllr95 committed May 16, 2019
1 parent 5c14f12 commit a42abd0
Show file tree
Hide file tree
Showing 96 changed files with 794 additions and 834 deletions.
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
"jsnext:main": "es/index.js",
"style": "dist/bootstrap-vue.css",
"license": "MIT",
"types": "types/index.d.ts",
"typings": "types/index.d.ts",
"types": "src/index.d.ts",
"repository": "bootstrap-vue/bootstrap-vue",
"homepage": "https://bootstrap-vue.js.org",
"contributors": [
Expand Down
14 changes: 14 additions & 0 deletions scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,18 @@ cleancss --level 1 \
echo 'Done.'
echo ''

echo 'Copying types from src/ to es/ ...'
# There must be a better way to do this
#
# The following does not preserve the paths
# shopt -s globstar
# cp src/**/*.d.ts es
#
# So we resort to a find with exec
cd src
find . -type f -name '*.d.ts' -exec cp {} ../es/{} ';'
cd ..
echo 'Done.'
echo ''

echo 'Done building assets.'
5 changes: 5 additions & 0 deletions src/bv-config.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import Vue, { PluginFunction, PluginObject } from 'vue'
import { BvPlugin } from './'

export declare const BVConfigPlugin: BvPlugin
export default BVConfigPlugin
12 changes: 12 additions & 0 deletions src/components/alert/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Alert
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const AlertPlugin: BvPlugin
export default AlertPlugin

// Component: b-alert
export declare class BAlert extends BvComponent {}
12 changes: 12 additions & 0 deletions src/components/badge/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Badge
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const BadgePlugin: BvPlugin
export default BadgePlugin

// Component: b-badge
export declare class BBadge extends BvComponent {}
18 changes: 18 additions & 0 deletions src/components/breadcrumb/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// Breadcrumb
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const BreadcrumbPlugin: BvPlugin
export default BreadcrumbPlugin

// Component: b-breadcrumb
export declare class BBreadcrumb extends BvComponent {}

// Component: b-breadcrumb-item
export declare class BBreadcrumbItem extends BvComponent {}

// Component: b-breadcrumb-link
export declare class BBreadcrumbLink extends BvComponent {}
12 changes: 12 additions & 0 deletions src/components/button-group/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Button Group
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const ButtonGroupPlugin: BvPlugin
export default ButtonGroupPlugin

// Component: b-button-group
export declare class BButtonGroup extends BvComponent {}
12 changes: 12 additions & 0 deletions src/components/button-toolbar/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Button Toolbar
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const ButtonToolbarPlugin: BvPlugin
export default ButtonToolbarPlugin

// Component: b-button-toolbar
export declare class BButtonToolbar extends BvComponent {}
15 changes: 15 additions & 0 deletions src/components/button/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// Buttons
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const ButtonPlugin: BvPlugin
export default ButtonPlugin

// Component: b-button
export declare class BButton extends BvComponent {}

// Component: b-button-close
export declare class BButtonClose extends BvComponent {}
39 changes: 39 additions & 0 deletions src/components/card/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//
// Card
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const CardPlugin: BvPlugin
export default CardPlugin

// Component: b-card
export declare class BCard extends BvComponent {}

// Component: b-card-header
export declare class BCardHeader extends BvComponent {}

// Component: b-card-footer
export declare class BCardFooter extends BvComponent {}

// Component: b-card-body
export declare class BCardBody extends BvComponent {}

// Component: b-card-title
export declare class BCardTitle extends BvComponent {}

// Component: b-card-subtitle
export declare class BCardSubtitle extends BvComponent {}

// Component: b-card-img
export declare class BCardImg extends BvComponent {}

// Component: b-card-img-lazy
export declare class BCardImgLazy extends BvComponent {}

// Component: b-card-text
export declare class BCardText extends BvComponent {}

// Component: b-card-group
export declare class BCardGroup extends BvComponent {}
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
// Carousel
//
import Vue from 'vue'
import { BvPlugin } from '../../bv-plugin'
import { BvPlugin, BvComponent } from '../../'

// Plugin
declare const CarouselPlugin: CarouselPlugin
export declare const CarouselPlugin: BvPlugin
export default CarouselPlugin
export interface CarouselPlugin extends BvPlugin {}

// Component: b-carousel
export interface BCarousel extends Vue {
export declare class BCarousel extends BvComponent {
setSlide: (slide: number) => void
prev: () => void
next: () => void
Expand All @@ -20,4 +19,4 @@ export interface BCarousel extends Vue {
}

// Component: b-carousel-slide
export interface BCarouselSlide extends Vue {}
export declare class BCarouselSlide extends BvComponent {}
12 changes: 12 additions & 0 deletions src/components/collapse/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Collapse
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const CollapsePlugin: BvPlugin
export default CollapsePlugin

// Component: b-collapse
export declare class BCollapse extends BvComponent {}
33 changes: 33 additions & 0 deletions src/components/dropdown/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
//
// Dropdown
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const DropdownPlugin: BvPlugin
export default DropdownPlugin

// Component: b-dropdown
export declare class BDropdown extends BvComponent {}

// Component: b-dropdown-item
export declare class BDropdownItem extends BvComponent {}

// Component: b-dropdown-item-button
export declare class BDropdownItemButton extends BvComponent {}

// Component: b-dropdown-divider
export declare class BDropdownDivider extends BvComponent {}

// Component: b-dropdown-form
export declare class BDropdownForm extends BvComponent {}

// Component: b-dropdown-text
export declare class BDropdownText extends BvComponent {}

// Component: b-dropdown-group
export declare class BDropdownGroup extends BvComponent {}

// Component: b-dropdown-header
export declare class BDropdownHeader extends BvComponent {}
12 changes: 12 additions & 0 deletions src/components/embed/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Embed
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const EmbedPlugin: BvPlugin
export default EmbedPlugin

// Component: b-embed
export declare class BEmbed extends BvComponent {}
15 changes: 15 additions & 0 deletions src/components/form-checkbox/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// Form Checkbox
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormCheckboxPlugin: BvPlugin
export default FormCheckboxPlugin

// Component: b-form-checkbox
export declare class BFormCheckbox extends BvComponent {}

// Component: b-form-checkbox-group
export declare class BFormCheckboxGroup extends BvComponent {}
15 changes: 15 additions & 0 deletions src/components/form-file/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// Form File
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormFilePlugin: BvPlugin
export default FormFilePlugin

// Component: b-form-file
export declare class BFormFile extends BvComponent {
focus: () => void
reset: () => void
}
12 changes: 12 additions & 0 deletions src/components/form-group/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Form Group
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormGroupPlugin: BvPlugin
export default FormGroupPlugin

// Component: b-form-group
export declare class BFormGroup extends BvComponent {}
14 changes: 14 additions & 0 deletions src/components/form-input/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// Form Input
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormInputPlugin: BvPlugin
export default FormInputPlugin

// Component: b-form-input
export declare class BFormInput extends BvComponent {
focus: () => void
}
15 changes: 15 additions & 0 deletions src/components/form-radio/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// Form Radio
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormRadioPlugin: BvPlugin
export default FormRadioPlugin

// Component: b-form-radio
export declare class BFormRadio extends BvComponent {}

// Component: b-form-radio-group
export declare class BFormRadioGroup extends BvComponent {}
12 changes: 12 additions & 0 deletions src/components/form-select/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Form Select
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormSelectPlugin: BvPlugin
export default FormSelectPlugin

// Component: b-form-select
export declare class BFormSelect extends BvComponent {}
14 changes: 14 additions & 0 deletions src/components/form-textarea/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// Form Textarea
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormTextareaPlugin: BvPlugin
export default FormTextareaPlugin

// Component: b-form-textarea
export declare class BFormTextarea extends BvComponent {
focus: () => void
}
24 changes: 24 additions & 0 deletions src/components/form/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//
// Form
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const FormPlugin: BvPlugin
export default FormPlugin

// Component: b-form
export declare class BForm extends BvComponent {}

// Component: b-form-text
export declare class BFormText extends BvComponent {}

// Component: b-form-invalid-feedback
export declare class BFormInvalidFeedback extends BvComponent {}

// Component: b-form-valid-feedback
export declare class BFormValidFeedback extends BvComponent {}

// Component: b-form-datalist
export declare class BFormDatalist extends BvComponent {}
15 changes: 15 additions & 0 deletions src/components/image/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// Image
//
import Vue from 'vue'
import { BvPlugin, BvComponent } from '../../'

// Plugin
export declare const ImagePlugin: BvPlugin
export default ImagePlugin

// Component: b-img
export declare class BImg extends BvComponent {}

// Component: b-img-lazy
export declare class BImgLazy extends BvComponent {}
Loading

0 comments on commit a42abd0

Please sign in to comment.