diff --git a/types/bootstrap/bootstrap-tests.ts b/types/bootstrap/bootstrap-tests.ts old mode 100644 new mode 100755 index cd786b41a7..17d6e088cf --- a/types/bootstrap/bootstrap-tests.ts +++ b/types/bootstrap/bootstrap-tests.ts @@ -1,48 +1,204 @@ -$('body').off('.data-api'); -$('body').off('.alert.data-api'); +// -------------------------------------------------------------------------------------- +// Alert +// -------------------------------------------------------------------------------------- -$(".btn.danger").button("toggle").addClass("fat"); -$("#myModal").modal(); -$("#myModal").modal({ keyboard: false }); -$("#myModal").modal('show'); +$("#alert").alert(); -$('#myModal').on('show', (e) => e.preventDefault()); +$("#alert").alert("close"); -$('#myModal').modal({ keyboard: false }); -$('#myModal').modal('toggle'); +$("#alert").on("close.bs.alert", () => {}); -$('.dropdown-toggle').dropdown(); +// -------------------------------------------------------------------------------------- +// Button +// -------------------------------------------------------------------------------------- -$('#navbar').scrollspy(); -$('body').scrollspy({ target: '#navbar-example' }); +// $("#button").button(); // must fail -$('#element').tooltip('show'); +$("#button").button("toggle"); -$('#element').popover('show'); +// -------------------------------------------------------------------------------------- +// Carousel +// -------------------------------------------------------------------------------------- -$(".alert").alert(); -$(".alert").alert('close'); +$("#carousel").carousel(); -$('.nav-tabs').button(); -$().button('toggle'); +$("#carousel").carousel("pause"); -$(".collapse").collapse(); +$("#carousel").carousel(100); -$('#myCollapsible').collapse({ toggle: false }); - -$('.carousel').carousel(); -$('.carousel').carousel({ interval: 2000 }); - -$('.typeahead').typeahead({ - matcher: item => true, - sorter: (items: any[]) => items, - updater: item => item, - highlighter: item => "" +$("#carousel").carousel({ + interval: 5000, + keyboard: true, + pause: "hover", + wrap: true, }); -$('#navbar').affix(); +$("#carousel").carousel({ + pause: false, +}); -$('.item').emulateTransitionEnd(2000); +$("#carousel").on("slide.bs.carousel", function(ev) { + const that: HTMLElement = this; + const from: number = ev.from; + const to: number = ev.to; + const direction: string = ev.direction; + const data: undefined = ev.data; +}); -$.support.transition = false; -console.log(($.support.transition as any as TransitionEventNames).end === "transitionend"); +// -------------------------------------------------------------------------------------- +// Dropdown +// -------------------------------------------------------------------------------------- + +$("#dropdown").dropdown(); + +$("#dropdown").dropdown("update"); + +$("#dropdown").on("hide.bs.dropdown", () => {}); + +$("#dropdown").dropdown({ + offset: 10, + flip: false, + boundary: "window", +}); + +$("#dropdown").dropdown({ + offset: "10px", +}); + +$("#dropdown").dropdown({ + offset(offsets: BootstrapOffsetsExtend) { + if (!this.flip) + return { popper: { left: 100 } }; + return {}; + }, +}); + +$("#dropdown").dropdown({ + boundary: document.body, +}); + +// -------------------------------------------------------------------------------------- +// Modal +// -------------------------------------------------------------------------------------- + +$("#modal").modal(); + +$("#modal").modal("show"); + +$("#modal").on("hide.bs.modal", () => {}); + +$("#modal").modal({ + backdrop: false, + focus: false, + keyboard: false, + show: false, +}); + +$("#modal").modal({ + backdrop: "static", +}); + +// -------------------------------------------------------------------------------------- +// Tooltip +// -------------------------------------------------------------------------------------- + +$("#tooltip").tooltip(); + +$("#tooltip").tooltip("show"); + +$("#tooltip").on("hide.bs.tooltip", () => {}); + +$("#tooltip").tooltip({ + animation: false, +}); + +$("#tooltip").tooltip({ + container: "#container", +}); + +$("#tooltip").tooltip({ + container: document.getElementById("#container") as HTMLElement, +}); + +$("#tooltip").tooltip({ + container: false, +}); + +$("#tooltip").tooltip({ + delay: 250, +}); + +$("#tooltip").tooltip({ + delay: {show: 500, hide: 100}, +}); + +$("#tooltip").tooltip({ + html: true, +}); + +$("#tooltip").tooltip({ + placement: "auto", +}); + +$("#tooltip").tooltip({ + placement(this, tooltip, trigger) { + console.log(this.tip === tooltip); + console.log(this.element === trigger); + console.log(this.config.html); + return "left"; + }, +}); + +$("#tooltip").tooltip({ + selector: "[rel=\"tooltip\"]", +}); + +$("#tooltip").tooltip({ + selector: false, +}); + +$("#tooltip").tooltip({ + template: '', +}); + +$("#tooltip").tooltip({ + title: "Hello world", +}); + +$("#tooltip").tooltip({ + title: document.getElementById("title-element") as HTMLElement, +}); + +$("#tooltip").tooltip({ + title(this: Element) { + return this.textContent as string; + }, +}); + +$("#tooltip").tooltip({ + trigger: "focus hover", +}); + +$("#tooltip").tooltip({ + offset: 10, +}); + +$("#tooltip").tooltip({ + offset: "10px", +}); + +$("#tooltip").tooltip({ + fallbackPlacement: "clockwise", +}); + +$("#tooltip").tooltip({ + fallbackPlacement: ["flip", "clockwise"], +}); + +$("#tooltip").tooltip({ + boundary: "scrollParent", +}); + +$("#tooltip").tooltip({ + boundary: document.body, +}); diff --git a/types/bootstrap/index.d.ts b/types/bootstrap/index.d.ts old mode 100644 new mode 100755 index 06142cc1d1..c158bbd807 --- a/types/bootstrap/index.d.ts +++ b/types/bootstrap/index.d.ts @@ -1,133 +1,299 @@ -// Type definitions for Bootstrap 3.3.5 -// Project: http://twitter.github.com/bootstrap/ -// Definitions by: Boris Yankov +// Type definitions for Bootstrap 4.0 +// Project: https://github.com/twbs/bootstrap/ +// Definitions by: denisname // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 +// TODO: collapse, tab (list-group, navs), popovers, scrollspy -/// +/// -interface ModalOptions { - backdrop?: boolean|string; - keyboard?: boolean; - show?: boolean; - remote?: string; +// -------------------------------------------------------------------------- +// Some Types and Interfaces +// -------------------------------------------------------------------------- + +type BootstrapPlacement = "auto" | "top" | "bottom" | "left" | "right"; +type PopperBehavior = "flip" | "clockwise" | "counterclockwise"; + +interface BootstrapDelay { + show: number; + hide: number; } -interface ModalOptionsBackdropString { - backdrop?: string; // for "static" - keyboard?: boolean; - show?: boolean; - remote?: string; +interface BootstrapTooltipInstance { + config: BootstrapTooltipOption; + element: Element; + tip: HTMLElement; } -interface ScrollSpyOptions { - offset?: number; - target?: string; +interface BootstrapOffsetExtend { + top?: number; + left?: number; + width?: number; + height?: number; } -interface TooltipOptions { - animation?: boolean; - html?: boolean; - placement?: string | Function; - selector?: string; - title?: string | Function; - trigger?: string; - template?: string; - delay?: number | Object; - container?: string | boolean; - viewport?: string | Function | Object; +interface BootstrapOffsetsExtend { + popper?: BootstrapOffsetExtend; + reference?: BootstrapOffsetExtend; } -interface PopoverOptions { - animation?: boolean; - html?: boolean; - placement?: string | Function; - selector?: string; - trigger?: string; - title?: string | Function; - template?: string; - content?: any; - delay?: number | Object; - container?: string | boolean; - viewport?: string | Function | Object; -} +// -------------------------------------------------------------------------------------- +// Options Interfaces +// -------------------------------------------------------------------------------------- -interface CollapseOptions { - parent?: any; - toggle?: boolean; -} - -interface CarouselOptions { +interface BootstrapCarouselOption { + /** + * The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle. + * + * @default 5000 + */ interval?: number; - pause?: string; - wrap?: boolean; + + /** + * Whether the carousel should react to keyboard events. + * + * @default true + */ keyboard?: boolean; + + /** + * If set to "hover", pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave. + * If set to false, hovering over the carousel won't pause it. + * On touch-enabled devices, when set to "hover", cycling will pause on touchend (once the user finished interacting with the carousel) + * for two intervals, before automatically resuming. Note that this is in addition to the above mouse behavior. + * + * @default "hover" + */ + pause?: "hover" | false; + + /** + * Whether the carousel should cycle continuously or have hard stops. + * + * @default true + */ + wrap?: boolean; } -interface TypeaheadOptions { - source?: any; - items?: number; - minLength?: number; - matcher?: (item: any) => boolean; - sorter?: (items: any[]) => any[]; - updater?: (item: any) => any; - highlighter?: (item: any) => string; +interface BootstrapDropdownOption { + /** + * Offset of the dropdown relative to its target. + * For more information refer to Popper.js's offset docs. + * + * @default 0 + */ + offset?: number | string | ((this: BootstrapDropdownOption, offset: BootstrapOffsetsExtend) => BootstrapOffsetsExtend); + + /** + * Allow Dropdown to flip in case of an overlapping on the reference element. + * For more information refer to Popper.js's flip docs. + * + * @default true + */ + flip?: boolean; + + /** + * Overflow constraint boundary of the dropdown menu. + * Accepts the values of 'viewport', 'window', 'scrollParent', or an HTMLElement reference (JavaScript only). + * For more information refer to Popper.js's preventOverflow docs. + * + * @default "scrollParent" + */ + boundary?: "viewport" | "window" | "scrollParent" | HTMLElement; } -interface AffixOptions { - offset?: number | Function | Object; - target?: any; +interface BootstrapModalOption { + /** + * Includes a modal-backdrop element. + * Alternatively, specify static for a backdrop which doesn't close the modal on click. + * + * @default true + */ + backdrop?: boolean | "static"; + + /** + * Closes the modal when escape key is pressed. + * + * @default true + */ + keyboard?: boolean; + + /** + * Puts the focus on the modal when initialized. + * + * @default true + */ + focus?: boolean; + + /** + * Shows the modal when initialized. + * + * @default true + */ + show?: boolean; } -interface TransitionEventNames { - end: string; +interface BootstrapTooltipOption { + /** + * Apply a CSS fade transition to the tooltip. + * + * @default true + */ + animation?: boolean; + + /** + * Appends the tooltip to a specific element. Example: `container: 'body'`. + * This option is particularly useful in that it allows you to position the tooltip + * in the flow of the document near the triggering element - which will prevent + * the tooltip from floating away from the triggering element during a window resize. + * + * @default false + */ + container?: string | Element | false; + + /** + * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type. + * If a number is supplied, delay is applied to both hide/show. + * Object structure is: `delay: { "show": 500, "hide": 100 }`. + * + * @default 0 + */ + delay?: number | BootstrapDelay; + + /** + * Allow HTML in the tooltip. + * If true, HTML tags in the tooltip's title will be rendered in the tooltip. + * If false, jQuery's text method will be used to insert content into the DOM. + * Use text if you're worried about XSS attacks. + * + * @default false + */ + html?: boolean; + + /** + * How to position the tooltip - auto | top | bottom | left | right. + * When auto is specified, it will dynamically reorient the tooltip. + * When a function is used to determine the placement, it is called with + * the tooltip DOM node as its first argument and the triggering element DOM node as its second. + * The this context is set to the tooltip instance. + * + * @default "top" + */ + placement?: BootstrapPlacement | ((this: BootstrapTooltipInstance, tooltip: HTMLElement, trigger: Element) => BootstrapPlacement); + + /** + * If a selector is provided, tooltip objects will be delegated to the specified targets. + * In practice, this is used to enable dynamic HTML content to have popovers added. + * + * @default false + */ + selector?: string | false; + + /** + * Base HTML to use when creating the tooltip. The tooltip's title will be injected into + * the `.tooltip-inner`. The `.arrow` will become the tooltip's arrow. + * The outermost wrapper element should have the `.tooltip` class and `role="tooltip"`. + * + * @default '' + */ + template?: string; + + /** + * Default title value if title attribute isn't present. + * If a function is given, it will be called with its this reference set to the element + * that the tooltip is attached to. + * + * @default "" + */ + title?: string | Element | ((this: Element) => string); + + /** + * How tooltip is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. + * 'manual' indicates that the tooltip will be triggered programmatically via the .tooltip('show'), .tooltip('hide') and + * .tooltip('toggle') methods; this value cannot be combined with any other trigger. + * 'hover' on its own will result in tooltips that cannot be triggered via the keyboard, and should only be used if + * alternative methods for conveying the same information for keyboard users is present. + * + * @default "hover focus" + */ + trigger?: string; + + /** + * Offset of the tooltip relative to its target. + * For more information refer to Popper.js's offset docs. + * + * @default 0 + */ + offset?: number | string; + + /** + * Allow to specify which position Popper will use on fallback. + * For more information refer to Popper.js's behavior docs. + * + * @default "flip" + */ + fallbackPlacement?: PopperBehavior | PopperBehavior[]; + + /** + * Overflow constraint boundary of the tooltip. + * Accepts the values of 'viewport', 'window', 'scrollParent', + * or an HTMLElement reference (JavaScript only). + * For more information refer to Popper.js's preventOverflow docs. + * + * @default "scrollParent" + */ + boundary?: "viewport" | "window" | "scrollParent" | HTMLElement; } -interface JQuery { - modal(options?: ModalOptions): JQuery; - modal(options?: ModalOptionsBackdropString): JQuery; - modal(command: string, relatedTarget?: Element): JQuery; +// -------------------------------------------------------------------------------------- +// Events +// -------------------------------------------------------------------------------------- - dropdown(): JQuery; - dropdown(command: string): JQuery; +interface BootstrapCarouselEventHandler extends JQuery.Event { + /** + * The direction in which the carousel is sliding. + */ + direction: "left" | "right"; - scrollspy(command: string): JQuery; - scrollspy(options?: ScrollSpyOptions): JQuery; + /** + * The index of the current item. + */ + from: number; - tab(): JQuery; - tab(command: string): JQuery; - - tooltip(options?: TooltipOptions): JQuery; - tooltip(command: string): JQuery; - - popover(options?: PopoverOptions): JQuery; - popover(command: string): JQuery; - - alert(): JQuery; - alert(command: string): JQuery; - - button(): JQuery; - button(command: string): JQuery; - - collapse(options?: CollapseOptions): JQuery; - collapse(command: string): JQuery; - - carousel(options?: CarouselOptions): JQuery; - carousel(command: string): JQuery; - carousel(index: number): JQuery; - - typeahead(options?: TypeaheadOptions): JQuery; - - affix(options?: AffixOptions): JQuery; - affix(command: string): JQuery; - - emulateTransitionEnd(duration: number): JQuery; + /** + * The index of the next item. + */ + to: number; } -interface JQuerySupport { - transition: boolean | TransitionEventNames; -} +type BootstrapAlertEvent = "close.bs.alert" | "closed.bs.alert"; +type BootstrapCarouselEvent = "slide.bs.carousel" | "slid.bs.carousel"; +type BootstrapDropdownEvent = "show.bs.dropdown" | "shown.bs.dropdown" | "hide.bs.dropdown" | "hidden.bs.dropdown"; +type BootstrapModalEvent = "show.bs.modal" | "shown.bs.modal" | "hide.bs.modal" | "hidden.bs.modal"; +type BootstrapTooltipEvent = "show.bs.tooltip" | "shown.bs.tooltip" | "hide.bs.tooltip" | "hidden.bs.tooltip" | "inserted.bs.tooltip"; -declare module "bootstrap" { +// -------------------------------------------------------------------------------------- +// jQuery +// -------------------------------------------------------------------------------------- + +interface JQuery extends Iterable { + alert(action?: "close" | "dispose"): this; + + button(action: "toggle" | "dispose"): this; + + carousel(action: "cycle" | "pause" | number | "prev" | "next" | "dispose"): this; + carousel(options?: BootstrapCarouselOption): this; + + dropdown(action: "toggle" | "update" | "dispose"): this; + dropdown(options?: BootstrapDropdownOption): this; + + modal(action: "toggle" | "show" | "hide" | "handleUpdate" | "dispose"): this; + modal(options?: BootstrapModalOption): this; + + tooltip(action: "show" | "hide" | "toggle" | "dispose" | "enable" | "disable" | "toggleEnabled" | "update"): this; + tooltip(options?: BootstrapTooltipOption): this; + + on(events: BootstrapCarouselEvent, handler: JQuery.EventHandlerBase>): this; + on(events: BootstrapAlertEvent | BootstrapDropdownEvent | BootstrapModalEvent | BootstrapTooltipEvent, + handler: JQuery.EventHandler): this; } diff --git a/types/bootstrap/tsconfig.json b/types/bootstrap/tsconfig.json old mode 100644 new mode 100755 index 536901e8a6..7f55f82c6f --- a/types/bootstrap/tsconfig.json +++ b/types/bootstrap/tsconfig.json @@ -7,7 +7,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ @@ -15,7 +15,8 @@ ], "types": [], "noEmit": true, - "forceConsistentCasingInFileNames": true + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true }, "files": [ "index.d.ts", diff --git a/types/bootstrap/tslint.json b/types/bootstrap/tslint.json old mode 100644 new mode 100755 index a41bf5d19a..2750cc0197 --- a/types/bootstrap/tslint.json +++ b/types/bootstrap/tslint.json @@ -1,79 +1 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false - } -} +{ "extends": "dtslint/dt.json" } \ No newline at end of file diff --git a/types/bootstrap/v3/bootstrap-tests.ts b/types/bootstrap/v3/bootstrap-tests.ts new file mode 100644 index 0000000000..cd786b41a7 --- /dev/null +++ b/types/bootstrap/v3/bootstrap-tests.ts @@ -0,0 +1,48 @@ +$('body').off('.data-api'); +$('body').off('.alert.data-api'); + +$(".btn.danger").button("toggle").addClass("fat"); +$("#myModal").modal(); +$("#myModal").modal({ keyboard: false }); +$("#myModal").modal('show'); + +$('#myModal').on('show', (e) => e.preventDefault()); + +$('#myModal').modal({ keyboard: false }); +$('#myModal').modal('toggle'); + +$('.dropdown-toggle').dropdown(); + +$('#navbar').scrollspy(); +$('body').scrollspy({ target: '#navbar-example' }); + +$('#element').tooltip('show'); + +$('#element').popover('show'); + +$(".alert").alert(); +$(".alert").alert('close'); + +$('.nav-tabs').button(); +$().button('toggle'); + +$(".collapse").collapse(); + +$('#myCollapsible').collapse({ toggle: false }); + +$('.carousel').carousel(); +$('.carousel').carousel({ interval: 2000 }); + +$('.typeahead').typeahead({ + matcher: item => true, + sorter: (items: any[]) => items, + updater: item => item, + highlighter: item => "" +}); + +$('#navbar').affix(); + +$('.item').emulateTransitionEnd(2000); + +$.support.transition = false; +console.log(($.support.transition as any as TransitionEventNames).end === "transitionend"); diff --git a/types/bootstrap/v3/index.d.ts b/types/bootstrap/v3/index.d.ts new file mode 100644 index 0000000000..06142cc1d1 --- /dev/null +++ b/types/bootstrap/v3/index.d.ts @@ -0,0 +1,133 @@ +// Type definitions for Bootstrap 3.3.5 +// Project: http://twitter.github.com/bootstrap/ +// Definitions by: Boris Yankov +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + + +/// + +interface ModalOptions { + backdrop?: boolean|string; + keyboard?: boolean; + show?: boolean; + remote?: string; +} + +interface ModalOptionsBackdropString { + backdrop?: string; // for "static" + keyboard?: boolean; + show?: boolean; + remote?: string; +} + +interface ScrollSpyOptions { + offset?: number; + target?: string; +} + +interface TooltipOptions { + animation?: boolean; + html?: boolean; + placement?: string | Function; + selector?: string; + title?: string | Function; + trigger?: string; + template?: string; + delay?: number | Object; + container?: string | boolean; + viewport?: string | Function | Object; +} + +interface PopoverOptions { + animation?: boolean; + html?: boolean; + placement?: string | Function; + selector?: string; + trigger?: string; + title?: string | Function; + template?: string; + content?: any; + delay?: number | Object; + container?: string | boolean; + viewport?: string | Function | Object; +} + +interface CollapseOptions { + parent?: any; + toggle?: boolean; +} + +interface CarouselOptions { + interval?: number; + pause?: string; + wrap?: boolean; + keyboard?: boolean; +} + +interface TypeaheadOptions { + source?: any; + items?: number; + minLength?: number; + matcher?: (item: any) => boolean; + sorter?: (items: any[]) => any[]; + updater?: (item: any) => any; + highlighter?: (item: any) => string; +} + +interface AffixOptions { + offset?: number | Function | Object; + target?: any; +} + +interface TransitionEventNames { + end: string; +} + +interface JQuery { + modal(options?: ModalOptions): JQuery; + modal(options?: ModalOptionsBackdropString): JQuery; + modal(command: string, relatedTarget?: Element): JQuery; + + dropdown(): JQuery; + dropdown(command: string): JQuery; + + scrollspy(command: string): JQuery; + scrollspy(options?: ScrollSpyOptions): JQuery; + + tab(): JQuery; + tab(command: string): JQuery; + + tooltip(options?: TooltipOptions): JQuery; + tooltip(command: string): JQuery; + + popover(options?: PopoverOptions): JQuery; + popover(command: string): JQuery; + + alert(): JQuery; + alert(command: string): JQuery; + + button(): JQuery; + button(command: string): JQuery; + + collapse(options?: CollapseOptions): JQuery; + collapse(command: string): JQuery; + + carousel(options?: CarouselOptions): JQuery; + carousel(command: string): JQuery; + carousel(index: number): JQuery; + + typeahead(options?: TypeaheadOptions): JQuery; + + affix(options?: AffixOptions): JQuery; + affix(command: string): JQuery; + + emulateTransitionEnd(duration: number): JQuery; +} + +interface JQuerySupport { + transition: boolean | TransitionEventNames; +} + +declare module "bootstrap" { +} diff --git a/types/bootstrap/v3/tsconfig.json b/types/bootstrap/v3/tsconfig.json new file mode 100644 index 0000000000..585af4f8b2 --- /dev/null +++ b/types/bootstrap/v3/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "strictFunctionTypes": true, + "baseUrl": "../../", + "typeRoots": [ + "../../" + ], + "types": [], + "paths": { + "bootstrap": [ + "bootstrap/v3" + ] + }, + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "bootstrap-tests.ts" + ] +} \ No newline at end of file diff --git a/types/bootstrap/v3/tslint.json b/types/bootstrap/v3/tslint.json new file mode 100644 index 0000000000..a41bf5d19a --- /dev/null +++ b/types/bootstrap/v3/tslint.json @@ -0,0 +1,79 @@ +{ + "extends": "dtslint/dt.json", + "rules": { + "adjacent-overload-signatures": false, + "array-type": false, + "arrow-return-shorthand": false, + "ban-types": false, + "callable-types": false, + "comment-format": false, + "dt-header": false, + "eofline": false, + "export-just-namespace": false, + "import-spacing": false, + "interface-name": false, + "interface-over-type-literal": false, + "jsdoc-format": false, + "max-line-length": false, + "member-access": false, + "new-parens": false, + "no-any-union": false, + "no-boolean-literal-compare": false, + "no-conditional-assignment": false, + "no-consecutive-blank-lines": false, + "no-construct": false, + "no-declare-current-package": false, + "no-duplicate-imports": false, + "no-duplicate-variable": false, + "no-empty-interface": false, + "no-for-in-array": false, + "no-inferrable-types": false, + "no-internal-module": false, + "no-irregular-whitespace": false, + "no-mergeable-namespace": false, + "no-misused-new": false, + "no-namespace": false, + "no-object-literal-type-assertion": false, + "no-padding": false, + "no-redundant-jsdoc": false, + "no-redundant-jsdoc-2": false, + "no-redundant-undefined": false, + "no-reference-import": false, + "no-relative-import-in-test": false, + "no-self-import": false, + "no-single-declare-module": false, + "no-string-throw": false, + "no-unnecessary-callback-wrapper": false, + "no-unnecessary-class": false, + "no-unnecessary-generics": false, + "no-unnecessary-qualifier": false, + "no-unnecessary-type-assertion": false, + "no-useless-files": false, + "no-var-keyword": false, + "no-var-requires": false, + "no-void-expression": false, + "no-trailing-whitespace": false, + "object-literal-key-quotes": false, + "object-literal-shorthand": false, + "one-line": false, + "one-variable-per-declaration": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-declare-function": false, + "prefer-for-of": false, + "prefer-method-signature": false, + "prefer-template": false, + "radix": false, + "semicolon": false, + "space-before-function-paren": false, + "space-within-parens": false, + "strict-export-declare-modifiers": false, + "trim-file": false, + "triple-equals": false, + "typedef-whitespace": false, + "unified-signatures": false, + "void-return": false, + "whitespace": false + } +} diff --git a/types/knockstrap/index.d.ts b/types/knockstrap/index.d.ts index ae9aee438b..bb6042a4b6 100644 --- a/types/knockstrap/index.d.ts +++ b/types/knockstrap/index.d.ts @@ -4,9 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 -/// -/// -/// +/// +/// interface KnockoutUtils { uniqueId(prefix: string): string;